Java 右键单击弹出菜单工作不正常(在jtable中)
它第一次工作,但删除一些行后,右键单击弹出菜单显示空白。我想这是因为刷新方法,但我无法解决它Java 右键单击弹出菜单工作不正常(在jtable中),java,swing,jtable,jmenuitem,jpopupmenu,Java,Swing,Jtable,Jmenuitem,Jpopupmenu,它第一次工作,但删除一些行后,右键单击弹出菜单显示空白。我想这是因为刷新方法,但我无法解决它 private void refresh() { List<String> head = new ArrayList<>(); head.add("ID"); head.add("П/Н"); EnlargeAlisTableModel model = new EnlargeAlisTableModel(dbsql.listAlis(), hea
private void refresh() {
List<String> head = new ArrayList<>();
head.add("ID");
head.add("П/Н");
EnlargeAlisTableModel model = new EnlargeAlisTableModel(dbsql.listAlis(), head) {
// *****************
};
tblEnlarge.setModel(model);
tblEnlarge.addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
popup.removeAll();
JMenuItem delete = new JMenuItem("Delete");
delete.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (tblEnlarge.getSelectedRow() == -1) {
} else {
DeleteEnlargeAlis da = new DeleteEnlargeAlis(null, true, Integer.parseInt(tblEnlarge.getValueAt(tblEnlarge.getSelectedRow(), 0).toString()));
da.setVisible(true);
if (da.isOk()) {
Ok = true;
refresh();
}
}
}
});
// ********************
popup.add(delete);
popup.show(e.getComponent(), e.getX(), e.getY());
}
}
});
private void refresh(){
列表头=新的ArrayList();
标题。添加(“ID”);
标题.添加(“П/П”);
EnlargeAlisTableModel=新的EnlargeAlisTableModel(dbsql.listAlis(),head){
// *****************
};
tblEnlarge.setModel(model);
tblEnlarge.addMouseListener(新的MouseAdapter(){
@凌驾
公共无效MouseEvent(MouseEvent e){
如果(如isPopupTrigger()){
popup.removeAll();
JMenuItem delete=新的JMenuItem(“删除”);
delete.addActionListener(新ActionListener(){
@凌驾
已执行的公共无效操作(操作事件e){
if(tblEnlarge.getSelectedRow()=-1){
}否则{
DeleteEnlargeAlis da=new DeleteEnlargeAlis(null,true,Integer.parseInt(tblEnlarge.getValueAt(tblEnlarge.getSelectedRow(),0.toString());
da.setVisible(真);
if(da.isOk()){
Ok=正确;
刷新();
}
}
}
});
// ********************
弹出。添加(删除);
show(e.getComponent(),e.getX(),e.getY());
}
}
});
使用所示的setComponentPopupMenu()
。请编辑您的问题,使其包含一个,例如显示您遇到的任何问题的问题。