请问JMenu 或Menu 对象有能add 的Action Listener 吗? 请问JMenu 或Menu 对象有能add 的Action Listener 吗?又或者说比如直接点击菜单(无下拉菜单项)可弹窗窗口或文件的功能如何实现呢?先谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我只懂这样,但不行。import java.awt.event.*;import javax.swing.*;public class Test2 extends JFrame implements ActionListener{private JMenuBar menuBar;private JMenu help;//private JMenuItem aboutItem;public Test2(){ super("Test2..."); setSize(400,300); //aboutItem = new JMenuItem("About"); help=new JMenu("Help"); //help.add(aboutItem); menuBar=new JMenuBar(); setJMenuBar(menuBar); menuBar.add(help); help.addActionListener(this); //aboutItem.addActionListener(this); setVisible(true); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}public void actionPerformed(ActionEvent e){ //if((JMenuItem)e.getSource()==aboutItem) if((JMenu)e.getSource()==help) { new AboutDialog(); }}class AboutDialog extends JDialog{ public AboutDialog() { setTitle("About"); setSize(280,180); setVisible(true); setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); }}public static void main(String[] args){ new Test2();}} 哦,没看清楚你的问题,不好意思。Menu和JMenu在点击的时候是没有Action触发的,所以你即使加了ActionListener,也不能触发事件。加其他类型的事件监听就可以了。(比如MouseListener,还有swing里面的MenuListener都可以实现) 哦,我试试MouseListener和MenuListener的怎么样。如果有代码示例的话也请贴给我看看。谢谢! 我用这种方式无法编译通过,请帮我看看。谢谢import java.awt.event.*;import javax.swing.*;public class Test2 extends JFrame implements MouseListener//, ActionListener{private JMenuBar menuBar;private JMenu help;//private JMenuItem aboutItem;public Test2(){ super("Test2..."); setSize(400,300); //aboutItem = new JMenuItem("About"); help=new JMenu("Help"); //help.add(aboutItem); menuBar=new JMenuBar(); setJMenuBar(menuBar); menuBar.add(help); //help.addActionListener(this); //aboutItem.addActionListener(this); setVisible(true); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);} help.addMouseListener(new MouseAdapter(){ ///////////错误提示需要<标识符> public void mouseClicked(MouseEvent mec) { if(mec.getActionCommand()=="Help") System.exit(0); } });class AboutDialog extends JDialog{ public AboutDialog() { setTitle("About"); setSize(280,180); setVisible(true); setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); }}public static void main(String[] args){ new Test2();}} 成功了。请帮我看看这段代码里还有没有冗余的代码,希望越精简越好。最后除了MenuListener、JButton(这2个方法不太合满意)以及MouseListener方法之外还有更适合的方法吗?谢谢!import java.awt.event.*;import javax.swing.*;public class Test2 extends JFrame implements MouseListener//, ActionListener{private JMenuBar menuBar;private JMenu help;//private JMenuItem aboutItem;public Test2(){ super("Test2..."); setSize(400,300); //aboutItem = new JMenuItem("About"); help=new JMenu("Help"); //help.add(aboutItem); menuBar=new JMenuBar(); setJMenuBar(menuBar); menuBar.add(help); help.addMouseListener(this); //help.addActionListener(this); //aboutItem.addActionListener(this); setVisible(true); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);} //help.addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent mec) { //if(mec.getActionCommand()=="Help") //System.exit(0); if(mec.getSource()==help) { new AboutDialog(); } } public void mousePressed(MouseEvent mep){} public void mouseReleased(MouseEvent mer){} public void mouseEntered(MouseEvent mee){} public void mouseExited(MouseEvent mex){} //public void mouseDragged(MouseEvent med){}class AboutDialog extends JDialog{ public AboutDialog() { setTitle("About"); setSize(280,180); setVisible(true); setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); }}public static void main(String[] args){ new Test2();}} import java.awt.event.*;import javax.swing.*;public class Test2 extends JFrame //implements MouseListener, ActionListener{private JMenuBar menuBar;private JMenu help;//private JMenuItem aboutItem;public Test2(){ super("Test2..."); setSize(400,300); //aboutItem = new JMenuItem("About"); help=new JMenu("Help"); //help.add(aboutItem); menuBar=new JMenuBar(); setJMenuBar(menuBar); menuBar.add(help); //help.addMouseListener(this); //help.addActionListener(this); //aboutItem.addActionListener(this); setVisible(true); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//} help.addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent mec) { //if(mec.getActionCommand()=="Help") //System.exit(0); if(mec.getSource()==help) { new AboutDialog(); } } });// public void mousePressed(MouseEvent mep){}// public void mouseReleased(MouseEvent mer){}// public void mouseEntered(MouseEvent mee){}// public void mouseExited(MouseEvent mex){}}class AboutDialog extends JDialog{ public AboutDialog() { setTitle("About"); setSize(280,180); setVisible(true); setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); }}public static void main(String[] args){ new Test2();}} 关于JVM的64bit和32bit经典问题,大家讨论下,最好有人试验过 哪个知道爱帮网用得哪些技术做的? 怎样通过JAVA操作Windows系统[求助] 大家帮我看看这个java单链表的程序 求教: 求一个用JAVA编译的类似Word的程序,详细请看说明 单个byte的BCD解码函数。。大家瞧啊 vb(vs)JAVA 线程中的yield()问题! 大家帮我看一看这份简历,有什么要改的吗?谢了:) jmf 保存视频时,怎样把当前的时间也保存视频的左下角 java 如何实现“另存为”“保存”“查找”等功能
import java.awt.event.*;
import javax.swing.*;public class Test2 extends JFrame implements ActionListener
{
private JMenuBar menuBar;
private JMenu help;
//private JMenuItem aboutItem;public Test2()
{
super("Test2...");
setSize(400,300);
//aboutItem = new JMenuItem("About");
help=new JMenu("Help");
//help.add(aboutItem);
menuBar=new JMenuBar();
setJMenuBar(menuBar);
menuBar.add(help);
help.addActionListener(this);
//aboutItem.addActionListener(this);
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}public void actionPerformed(ActionEvent e)
{
//if((JMenuItem)e.getSource()==aboutItem)
if((JMenu)e.getSource()==help)
{
new AboutDialog();
}
}class AboutDialog extends JDialog
{
public AboutDialog()
{
setTitle("About");
setSize(280,180);
setVisible(true);
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
}
}public static void main(String[] args)
{
new Test2();
}
}
加其他类型的事件监听就可以了。(比如MouseListener,还有swing里面的MenuListener都可以实现)
如果有代码示例的话也请贴给我看看。谢谢!
import java.awt.event.*;
import javax.swing.*;public class Test2 extends JFrame implements MouseListener//, ActionListener
{
private JMenuBar menuBar;
private JMenu help;
//private JMenuItem aboutItem;public Test2()
{
super("Test2...");
setSize(400,300);
//aboutItem = new JMenuItem("About");
help=new JMenu("Help");
//help.add(aboutItem);
menuBar=new JMenuBar();
setJMenuBar(menuBar);
menuBar.add(help);
//help.addActionListener(this);
//aboutItem.addActionListener(this);
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
} help.addMouseListener(new MouseAdapter(){ ///////////错误提示需要<标识符>
public void mouseClicked(MouseEvent mec)
{
if(mec.getActionCommand()=="Help")
System.exit(0);
}
});class AboutDialog extends JDialog
{
public AboutDialog()
{
setTitle("About");
setSize(280,180);
setVisible(true);
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
}
}public static void main(String[] args)
{
new Test2();
}
}
请帮我看看这段代码里还有没有冗余的代码,希望越精简越好。
最后除了MenuListener、JButton(这2个方法不太合满意)以及MouseListener方法之外还有更适合的方法吗?谢谢!import java.awt.event.*;
import javax.swing.*;public class Test2 extends JFrame implements MouseListener//, ActionListener
{
private JMenuBar menuBar;
private JMenu help;
//private JMenuItem aboutItem;public Test2()
{
super("Test2...");
setSize(400,300);
//aboutItem = new JMenuItem("About");
help=new JMenu("Help");
//help.add(aboutItem);
menuBar=new JMenuBar();
setJMenuBar(menuBar);
menuBar.add(help);
help.addMouseListener(this);
//help.addActionListener(this);
//aboutItem.addActionListener(this);
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
} //help.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent mec)
{
//if(mec.getActionCommand()=="Help")
//System.exit(0);
if(mec.getSource()==help)
{
new AboutDialog();
}
}
public void mousePressed(MouseEvent mep){}
public void mouseReleased(MouseEvent mer){}
public void mouseEntered(MouseEvent mee){}
public void mouseExited(MouseEvent mex){}
//public void mouseDragged(MouseEvent med){}class AboutDialog extends JDialog
{
public AboutDialog()
{
setTitle("About");
setSize(280,180);
setVisible(true);
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
}
}public static void main(String[] args)
{
new Test2();
}
}
import javax.swing.*;public class Test2 extends JFrame //implements MouseListener, ActionListener
{
private JMenuBar menuBar;
private JMenu help;
//private JMenuItem aboutItem;public Test2()
{
super("Test2...");
setSize(400,300);
//aboutItem = new JMenuItem("About");
help=new JMenu("Help");
//help.add(aboutItem);
menuBar=new JMenuBar();
setJMenuBar(menuBar);
menuBar.add(help);
//help.addMouseListener(this);
//help.addActionListener(this);
//aboutItem.addActionListener(this);
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
//} help.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent mec)
{
//if(mec.getActionCommand()=="Help")
//System.exit(0);
if(mec.getSource()==help)
{
new AboutDialog();
}
}
});
// public void mousePressed(MouseEvent mep){}
// public void mouseReleased(MouseEvent mer){}
// public void mouseEntered(MouseEvent mee){}
// public void mouseExited(MouseEvent mex){}
}class AboutDialog extends JDialog
{
public AboutDialog()
{
setTitle("About");
setSize(280,180);
setVisible(true);
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
}
}public static void main(String[] args)
{
new Test2();
}
}