Java中,下面的表格如何选中一行右击弹出一个菜单(包含复制数据,删除数据,增行的功能),谢谢各位!!

java:我想实现在一个表格中选中某一行,鼠标右击出现一个"删除的"菜单项,该如何实现?求高收帮忙~

table.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.isMetaDown()) {
JpopupMenu menu = new JpopupMenu();//自己添加menu的Item
menu.show(table, e.getX(), e.getY());
}
}
});

1.表格的建立过程

String[] headers = { "No", "Table Name" };
Object[][] cellData = null;
DefaultTableModel model = new DefaultTableModel(cellData, headers) {
public boolean isCellEditable(int row, int column) {
// 第N列可以编辑
/*
* if (column == N) { return false; }
*/
// 整个表都不能编辑
return false;
}
};
table = new JTable(model);

希望采纳谢谢

//创建jtable的菜单
final JPopupMenu popup = new JPopupMenu();
JMenuItem jm_menu=new JMenuItem("添加属性");
jm_menu.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//你的操作 我这里是给列添加属性
}
});
popup.add(jm_menu);

step2: MouseInputListener mil = new MouseInputListener(){ 实现当前的鼠标监控 按你说的应该是监控右键

public void mouseReleased(MouseEvent e)
{
// processEvent(e);
if ((e.getModifiers() & MouseEvent.BUTTON3_MASK) != 0 && !e.isControlDown() && !e.isShiftDown())
{

row_value=tableRows.getSelectedRow();//你选中的当前行
popup.show(tableRows, e.getX(), e.getY()); //将你的菜单添加到选中行上面
}
}

step3: tableRows-》我的table名称
tableRows.addMouseListener(mil);
tableRows.addMouseMotionListener(mil);

//怕你对鼠标监听不熟,下面是完整的代码 tableRows-》我的table名称,其他通过表获取列你都应该懂了。

//实现 MouseListener 和 MouseMotionListener 接口中的所有方法的侦听器
/*————————————————————————————————————————————————————————————————————————————*/
MouseInputListener mil = new MouseInputListener(){
public void mouseClicked(MouseEvent e)
{
processEvent(e);
}
public void mousePressed(MouseEvent e)
{
processEvent(e);
}
public void mouseReleased(MouseEvent e)
{
// processEvent(e);
if ((e.getModifiers() & MouseEvent.BUTTON3_MASK) != 0 && !e.isControlDown() && !e.isShiftDown())
{ row_value=tableRows.getSelectedRow();
idName_Meg=tableRows.getModel().getValueAt(tableRows.getSelectedRow(),0)+"";
popup.show(tableRows, e.getX(), e.getY());
}
}
public void mouseEntered(MouseEvent e)
{
processEvent(e);
}

public void mouseExited(MouseEvent e)
{
processEvent(e);
}
public void mouseDragged(MouseEvent e)
{
processEvent(e);
}
public void mouseMoved(MouseEvent e)
{
processEvent(e);
}
private void processEvent(MouseEvent e)
{
if ((e.getModifiers() & MouseEvent.BUTTON3_MASK) != 0)
{
int modifiers = e.getModifiers();
modifiers -= MouseEvent.BUTTON3_MASK;
modifiers |= MouseEvent.BUTTON1_MASK;
MouseEvent ne = new MouseEvent(e.getComponent(), e.getID(), e.getWhen(), modifiers, e.getX(), e .getY(), e.getClickCount(), false);
tableRows.dispatchEvent(ne);
}
}

};
/*————————————————————————————————————————————————————————————————————————————*/

java表格转换成文本保留格式
答:1、打开桌面,双击鼠标左键打开电脑中的Excel表格。2、选择需要更改单元野毕盯格格式的列。3、在界面顶部的菜单栏中选择数据选项,然后单击底部的排序选项数和。4、单击separator选项,然后单击next选项。5、选择逗号,下拉逗号,然后单击next。6、选择单元格上的绿色三角形,可批颂和量转换为文本格式。

如何把下面表格中,姓名一列中只有一个字或者没字的单元格筛选出来,急 ...
答:在姓名右边插入一列,如下图:然后在B2中输入 =lenb(A2)下拉B2单元格 然后对第一行筛选一下:筛选出0和2 就OK了!

java中怎么把Jtable表格中的某个值取出来?
答://得到选中的行 int row = table.getSelectedRow();//得到table中有几列 int cell = table.getModel().getColumnCount();//根据你想要的行和列去取值。方法如下://获取自己想要的列,这里我默认写0列注意填写的值不能大于cell int column = 0;Object selectedValue = table.getModel()....

如何使用java从excel表提取内容
答:以下是使用java从excel表提取内容的程序 - import java.io.File;import java.io.FileInputStream;import org.apache.tika.metadata.Metadata;import org.apache.tika.parser.ParseContext;import org.apache.tika.parser.microsoft.ooxml.OOXMLParser;import org.apache.tika.sax.BodyContentHandler;public class...

Java如何将一个界面表格里面的内容点击确定按钮添加到另外一个界面表格...
答:如果多选或者错选,可在右面的列表框中选定元素后点击“<<”按钮移去选定的元素。以上实现的功能代码如下 图1 列表框示例 具体程序实现方法如下。import javax.swing.JPanel;import javax.swing.JFrame;import javax.swing.JScrollPane;import java.awt.Rectangle;import java.util.Vector;import javax....

java如何在JTable 中的第一列加单选按钮(表示选中这一行),并可以动态...
答:你要设计的这个单选按钮应该不是说一个表里同时只能选一行吧。。。那你最好还是用checkbox复选框的显示方法替代单选按钮吧。。。因为单选按钮是没有办法点击取消的,一旦选中,就没有办法取消了。。。多蛋疼啊。。。给你一个复选框的例子吧,一样很好用的。不多说了,直接上代码:import java.awt....

java中怎么删除或者修改JTable指定的一行内容?
答:int col = jTable1.getSelectedColumn();//获取选中的列号int row = jTable1.getSelectedRow();//获取选中的行号DefaultTableModel model = (DefaultTableModel) jTable1.getModel();//获取defaulttablemodelObject val = model.getValueAt(row, col);//根据行号和列号,获取某个单元格的值//其他...

java中如何填充JTable表格?
答:JTable m_view = new JTable(m_data);这个语句就向表格中填充DefaultTableModel 中的数据。但是,你在开始的时候就执行这个语句,表格里的内容就为空了。你可以这样写:DefaultTableModel m_data = new DefaultTableModel();m_data.addColumn("读者姓名");m_data.addColumn("编号");m_data.add...

java中swt表格如何产生单选按钮列
答:已山寨,复制粘贴即可import java.awt.BorderLayout;import java.awt.Component;import java.awt.Dimension;import java.util.Date;import javax.swing.BorderFactory;import javax.swing.JComboBox;import javax.swing.JComponent;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.J...

如何在JTable的弹出框中选择多行数据并一次性插入这多行数据到这个Jta...
答:{ while(row.size() < columnCnt) { row.add("");} } } // 其他 TableModel 中需要实现的方法省略,看文档中如何描述这些方法的,实现它。}http://docs.oracle.com/javase/7/docs/api/javax/swing/table/AbstractTableModel.html ...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网