我在Java的Swing窗口中添加了菜单栏,运行却没有
importjava.awt.Dimension;importjava.awt.event.ActionEvent;importjava.awt.event.Action...
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class Swing_Demo {
private JFrame frame = new JFrame("Swingdemo");
private void createdAndShowGUI(){
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setPreferredSize(new Dimension(200,200));
frame.setVisible(true);
frame.pack();
frame.setLocation(500, 0);
}
private void addMenu(JFrame frame){
JMenu file =new JMenu("File");
file.setMnemonic('F');
JMenuItem exitItem= new JMenuItem("Exit");
exitItem.setMnemonic('x');
exitItem.addActionListener(this);
file.add(exitItem);
JMenuBar menuBar =new JMenuBar();
menuBar.add(file);
frame.setJMenuBar(menuBar);
}
public static void main(String[] args) {
Swing_Demo sd =new Swing_Demo();
sd.createdAndShowGUI();
}
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("Exit")){
System.exit(0);
}
}
}
//代码如下,求大牛解决 展开
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class Swing_Demo {
private JFrame frame = new JFrame("Swingdemo");
private void createdAndShowGUI(){
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setPreferredSize(new Dimension(200,200));
frame.setVisible(true);
frame.pack();
frame.setLocation(500, 0);
}
private void addMenu(JFrame frame){
JMenu file =new JMenu("File");
file.setMnemonic('F');
JMenuItem exitItem= new JMenuItem("Exit");
exitItem.setMnemonic('x');
exitItem.addActionListener(this);
file.add(exitItem);
JMenuBar menuBar =new JMenuBar();
menuBar.add(file);
frame.setJMenuBar(menuBar);
}
public static void main(String[] args) {
Swing_Demo sd =new Swing_Demo();
sd.createdAndShowGUI();
}
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("Exit")){
System.exit(0);
}
}
}
//代码如下,求大牛解决 展开
2个回答
展开全部
你没有在函数createdAndShowGUI中调用addMenu函数当然不会有Menu出现了.
你在函数createdAndShowGUI中加一句addMenu(frame);就行了.
你在函数createdAndShowGUI中加一句addMenu(frame);就行了.
追问
为什么要在这个函数中调用?我在main函数中调用不行吗?大牛留下QQ
追答
你在main函数中调用,需要把sd.addMenu(frame);写在sd.createdAndShowGUI();前面,而且要把JFrame对象定义成静态变量private static JFrame frame = new JFrame("Swingdemo");这样也是可以的.
另外,你的监听器需要在类定义时执行一个接口才行,类定义这么写public class Swing_Demo implements ActionListener{
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询