Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 右键单击弹出菜单工作不正常(在jtable中)_Java_Swing_Jtable_Jmenuitem_Jpopupmenu - Fatal编程技术网

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()
。请编辑您的问题,使其包含一个,例如显示您遇到的任何问题的问题。