Java 单击时弹出菜单项没有响应

Java 单击时弹出菜单项没有响应,java,swing,Java,Swing,我写了这段代码来使用弹出菜单在我的表格中添加和删除一行,但当我单击弹出菜单上的相应选项(添加和删除)时,这段代码既不删除也不向表格中添加一行,请帮助 import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swi

我写了这段代码来使用弹出菜单在我的表格中添加和删除一行,但当我单击弹出菜单上的相应选项(添加和删除)时,这段代码既不删除也不向表格中添加一行,请帮助

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;


    public class B extends MouseAdapter {

        JFrame frame = new JFrame();
        Object rows[][] = new Object[5][3];
        String colums[] = {"A","B","C"};
        DefaultTableModel model = new DefaultTableModel(rows,colums);
        JTable table = new JTable(model);
        JScrollPane scroll = new JScrollPane(table);
        JPopupMenu popup = new JPopupMenu();
        JMenuItem item1 = new JMenuItem("ADD");
        JMenuItem item2 = new JMenuItem("DELETE");
        Object[] row = {"Column 1", "Column 2", "Column 3"};

        public static void main(String arg[]) {
            new B();
        }

        B() {
            frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
            table.addMouseListener(this);
            item1.addMouseListener(this);
            item2.addMouseListener(this);
            popup.add(item1);
            popup.add(item2);
            table.add(popup);
            frame.add(scroll);
            frame.setVisible(true);
        }

        public void mouseClicked(MouseEvent click) {

            if(click.getSource()==table && click.getButton()==3)    
                popup.show(table,click.getX(),click.getY());
            else if(click.getSource()==item1)
                model.addRow(row);
            else if(click.getSource()==item2)
                model.removeRow( table.rowAtPoint(click.getPoint()) );
        }

    }

您应该使用equals方法,而不是使用
==
(比较两个组件的引用)来比较对象。因此,将以下内容更改为:

click.getSource()==table 


请不要问同一问题两次:
click.getSource().equals(table)