private PopupMenu pm=new PopupMenu();
private MenuItem manageData=new MenuItem("aaaa"); public void mouseReleased(MouseEvent e){
if(e.getButton()==3){
if(list.getSelectedItem()!=null){
pm.show(e.getComponent(), e.getX(), e.getY());
}
}
}
运行时出现异常,说什么参数为空……,是这里面的参数吗、?望高手指点pm.show(e.getComponent(), e.getX(), e.getY());
private MenuItem manageData=new MenuItem("aaaa"); public void mouseReleased(MouseEvent e){
if(e.getButton()==3){
if(list.getSelectedItem()!=null){
pm.show(e.getComponent(), e.getX(), e.getY());
}
}
}
运行时出现异常,说什么参数为空……,是这里面的参数吗、?望高手指点pm.show(e.getComponent(), e.getX(), e.getY());
参考这个:
package swing;import java.awt.PopupMenu;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JSeparator;
import javax.swing.JTabbedPane;
import javax.swing.JTextPane;
import javax.swing.KeyStroke;
import javax.swing.UIManager;public class TestPopMenu extends JFrame implements MouseListener {
private JPanel jPanel;
private JPopupMenu JMenu;
private JMenuItem jMenuItem1;
private JMenuItem jMenuItem2;
private JSeparator jSeparator;
private JTextPane jTextPane;
public TestPopMenu() {
this.addMouseListener(this);
jPanel = new JPanel();
JMenu = new JPopupMenu();
jMenuItem1 = new JMenuItem("全选");
jMenuItem2 = new JMenuItem("复制");
jMenuItem1.setAccelerator(KeyStroke.getKeyStroke('A',InputEvent.CTRL_MASK));
jMenuItem2.setAccelerator(KeyStroke.getKeyStroke('C',InputEvent.CTRL_MASK));
jSeparator = new JSeparator();
JMenu.add(jMenuItem1);
JMenu.add(jSeparator);
JMenu.add(jMenuItem2);
jMenuItem1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
action(e);
}
});
setVisible(true);
setSize(300, 400);
} public void action(ActionEvent e){
String str = e.getActionCommand();
if(str.equals(jMenuItem1.getText())){
JOptionPane.showMessageDialog(this, "全选操作", "提示信息",JOptionPane.INFORMATION_MESSAGE);
}
}
public static void main(String[] args) {
try { // 使用Windows的界面风格
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (Exception e) {
e.printStackTrace();
}
TestPopMenu t = new TestPopMenu();
} public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub } public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub } public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub } public void mousePressed(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
jMenuItem1.setEnabled(true);
jMenuItem2.setEnabled(true);
JMenu.show(this, e.getX(), e.getY());
} } public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub }
}
public void mouseReleased(MouseEvent e){
if(list.getSelectedItem()!=null){
if(e.isPopupTrigger())
pm.show(e.getComponent(), e.getX() , e.getY() );
}
}