程序已经精减到最少!
用Jbuilder向导生成一个Application,有菜单,工具栏和状态栏!然后在菜单上试各种事件!
用Jbuilder向导生成一个Application,有菜单,工具栏和状态栏!然后在菜单上试各种事件!
解决方案 »
- 【推荐】一款实用的Javadoc查阅工具GroovyHelp3.2.1 GA
- 一个奇怪的输出流问题,是不是JAVA编译器有bug?
- 多对多关系
- 如何在jsp页面对oracle数据库中的某张表备份到本地及恢复???急!!!
- 怎么样取得已知用户名和密码的网页的内容
- 求救!!!那位大虾能帮忙看看为什么JTable为什么不显示数据库的查询结果
- 那位知道怎么将Graphics对象指定的图形缩小阿?(最后剩10分了,以后再给大家补上)
- showMessageDialog 中 如何 载入 图片?
- 请教各位高手一个远程调用(RMI)的问题,火烧眉毛!
- 分布式存储问题,谁有这个方面的资料推荐推荐!!!
- 一个简单问题,请问为什么,数据出来的还是A,B
- 急求,中文问题,为什么写文件都变成了单字节
问题啊。拜托你把自己的程序调好了再来喊叫啊!
注意,是菜单不是菜单项!
import java.awt.*;
public class MediaApp {
boolean packFrame = false; //Construct the application
public MediaApp() {
MediaFrame frame = new MediaFrame();
//Validate frames that have preset sizes
//Pack frames that have useful preferred size info, e.g. from their layout
if (packFrame) {
frame.pack();
}
else {
frame.validate();
}
//Center the window
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
frame.setVisible(true);
} //Main method
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e) {
e.printStackTrace();
}
new MediaApp();
}
}
package javamediaplayer;import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MediaFrame extends JFrame {
JPanel contentPane;
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenuFile = new JMenu();
JMenuItem jMenuFileExit = new JMenuItem();
JMenu jMenuHelp = new JMenu();
JMenuItem jMenuHelpAbout = new JMenuItem();
JLabel statusBar = new JLabel();
BorderLayout borderLayout1 = new BorderLayout(); //Construct the frame
public MediaFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
} //Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(400, 300));
this.setTitle("Frame Title");
statusBar.setText(" ");
jMenuFile.setText("File");
jMenuFile.addFocusListener(new MediaFrame_jMenuFile_focusAdapter(this));
jMenuFileExit.setText("Exit");
jMenuFileExit.addActionListener(new MediaFrame_jMenuFileExit_ActionAdapter(this));
jMenuHelp.setText("Help");
jMenuHelpAbout.setText("About");
jMenuHelpAbout.addActionListener(new MediaFrame_jMenuHelpAbout_ActionAdapter(this));
jMenuFile.add(jMenuFileExit);
jMenuHelp.add(jMenuHelpAbout);
jMenuBar1.add(jMenuFile);
jMenuBar1.add(jMenuHelp);
this.setJMenuBar(jMenuBar1);
contentPane.add(statusBar, BorderLayout.SOUTH);
} //File | Exit action performed
public void jMenuFileExit_actionPerformed(ActionEvent e) {
System.exit(0);
} //Help | About action performed
public void jMenuHelpAbout_actionPerformed(ActionEvent e) {
} //Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
jMenuFileExit_actionPerformed(null);
}
} void jMenuFile_focusGained(FocusEvent e) {
System.exit(0);
}
}class MediaFrame_jMenuFileExit_ActionAdapter implements ActionListener {
MediaFrame adaptee; MediaFrame_jMenuFileExit_ActionAdapter(MediaFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuFileExit_actionPerformed(e);
}
}class MediaFrame_jMenuHelpAbout_ActionAdapter implements ActionListener {
MediaFrame adaptee; MediaFrame_jMenuHelpAbout_ActionAdapter(MediaFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuHelpAbout_actionPerformed(e);
}
}class MediaFrame_jMenuFile_focusAdapter extends java.awt.event.FocusAdapter {
MediaFrame adaptee; MediaFrame_jMenuFile_focusAdapter(MediaFrame adaptee) {
this.adaptee = adaptee;
}
public void focusGained(FocusEvent e) {
adaptee.jMenuFile_focusGained(e);
}
}
void jMenuFile_focusGained(FocusEvent e) {
System.exit(0);
}
没有得到执行
上面的是测试focusGained的,mouseEntered也试过,没响应!
private ExamFrame owner;
private JMenu mnuFunction, mnuConfiguration, mnuHelp;
private JMenuItem miF_OpenEP, miF_StartExam, miF_SubmitEP, miF_Exit, miC_Configuration, miC_SetPassword,
miH_HelpC, miH_About;
public static E_ConfigDialog configDialog;
private ConfigPasswordDialog configPasswordDialog;
private SetCP setPasswordDialog;
public E_MenuBar(ExamFrame owner) {
this.owner = owner;
//*****************************************************************
mnuFunction = new JMenu("功能");
mnuConfiguration = new JMenu("配置");
mnuHelp = new JMenu("帮助");
miF_OpenEP = new JMenuItem("打开考卷...", new ImageIcon("openss.bic"));
miF_StartExam = new JMenuItem("开始考试", new ImageIcon("startss.bic"));
miF_SubmitEP = new JMenuItem("提交考卷", new ImageIcon("submitEPss.bic"));
miF_Exit = new JMenuItem("退出", new ImageIcon("exitss.bic"));
miC_Configuration = new JMenuItem("配置...", new ImageIcon("configss.bic"));
miC_SetPassword = new JMenuItem("设定管理密码...");
miH_HelpC = new JMenuItem("帮助主题", new ImageIcon("helpss.bic"));
miH_About = new JMenuItem("关于...");
configDialog = new E_ConfigDialog();
configPasswordDialog = new ConfigPasswordDialog(owner);
setPasswordDialog = new SetCP(owner, configPasswordDialog);
//*****************************************************************
miF_OpenEP.setToolTipText(ExamFrame.TTT_MB_LOAD_TQ);
miF_StartExam.setToolTipText(ExamFrame.TTT_START_EXAM);
miF_SubmitEP.setToolTipText(ExamFrame.TTT_SUBMIT_EXAMINATION_PAPER);
miF_Exit.setToolTipText(ExamFrame.TTT_MB_EXIT);
miC_Configuration.setToolTipText(ExamFrame.TTT_MB_CONFIG);
miC_SetPassword.setToolTipText(ExamFrame.TTT_MB_SET_PASSWORD);
miH_HelpC.setToolTipText(ExamFrame.TTT_MB_HELP_CONTENTS);
miH_About.setToolTipText(ExamFrame.TTT_MB_ABOUT);
miF_StartExam.setEnabled(false);
miF_SubmitEP.setEnabled(false);
//*****************************************************************
mnuFunction.add(miF_OpenEP);
mnuFunction.addSeparator();
mnuFunction.add(miF_StartExam);
mnuFunction.add(miF_SubmitEP);
mnuFunction.addSeparator();
mnuFunction.add(miF_Exit);
mnuConfiguration.add(miC_Configuration);
mnuConfiguration.addSeparator();
mnuConfiguration.add(miC_SetPassword);
mnuHelp.add(miH_HelpC);
mnuHelp.addSeparator();
mnuHelp.add(miH_About);
add(mnuFunction); add(mnuConfiguration); add(mnuHelp);
//*****************************************************************
miF_OpenEP.addActionListener(this);
miF_StartExam.addActionListener(this);
miF_SubmitEP.addActionListener(this);
miF_Exit.addActionListener(this);
miC_Configuration.addActionListener(this);
miC_SetPassword.addActionListener(this);
miH_HelpC.addActionListener(this);
miH_About.addActionListener(this);
miF_OpenEP.addMouseListener(new MouseProcessor());
miF_StartExam.addMouseListener(new MouseProcessor());
miF_SubmitEP.addMouseListener(new MouseProcessor());
miF_Exit.addMouseListener(new MouseProcessor());
miC_Configuration.addMouseListener(new MouseProcessor());
miC_SetPassword.addMouseListener(new MouseProcessor());
miH_HelpC.addMouseListener(new MouseProcessor());
miH_About.addMouseListener(new MouseProcessor());
}
public void setEPLoaded(boolean b) {
miF_StartExam.setEnabled(b);
miF_SubmitEP.setEnabled(!b);
}
public void setExamStarted(boolean b) {
miF_StartExam.setEnabled(!b);
miF_SubmitEP.setEnabled(b);
configDialog.setExamStarted(b);
}
public void setExamOver(boolean b) {
miF_StartExam.setEnabled(!b);
miF_SubmitEP.setEnabled(!b);
configDialog.setExamStarted(!b);
}
private class MouseProcessor extends MouseAdapter {
public void mouseEntered(MouseEvent e) {
if(e.getSource().equals(miF_OpenEP)) {
owner.setStatusBarText(ExamFrame.TTT_MB_LOAD_TQ);
} else if(e.getSource().equals(miF_StartExam)) {
owner.setStatusBarText(ExamFrame.TTT_START_EXAM);
} else if(e.getSource().equals(miF_SubmitEP)) {
owner.setStatusBarText(ExamFrame.TTT_SUBMIT_EXAMINATION_PAPER);
} else if(e.getSource().equals(miF_Exit)) {
owner.setStatusBarText(ExamFrame.TTT_MB_EXIT);
} else if(e.getSource().equals(miC_Configuration)) {
owner.setStatusBarText(ExamFrame.TTT_MB_CONFIG);
} else if(e.getSource().equals(miC_SetPassword)) {
owner.setStatusBarText(ExamFrame.TTT_MB_SET_PASSWORD);
} else if(e.getSource().equals(miH_HelpC)) {
owner.setStatusBarText(ExamFrame.TTT_MB_HELP_CONTENTS);
} else if(e.getSource().equals(miH_About)) {
owner.setStatusBarText(ExamFrame.TTT_MB_ABOUT);
}
}
public void mouseExited(MouseEvent e) {
owner.setStatusBarText("");
}
} public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(miF_OpenEP)) {
owner.openEP();
} else if(e.getSource().equals(miF_StartExam)) {
owner.setExamStarted(true);
} else if(e.getSource().equals(miF_SubmitEP)) {
owner.setExamOver(true);
} else if(e.getSource().equals(miF_Exit)) {
System.exit(0);
} else if(e.getSource().equals(miC_Configuration)) {
configPasswordDialog.setVisible(true);
} else if(e.getSource().equals(miC_SetPassword)) {
setPasswordDialog.setVisible(true);
} else if(e.getSource().equals(miH_HelpC)) {
JOptionPane.showMessageDialog(new JButton("OK"), "制作中……,谢谢使用!");
} else if(e.getSource().equals(miH_About)) {
JOptionPane.showMessageDialog(new JButton("OK"), "模拟考试系统 模拟考试程序 " + ExamFrame.VERSION
+ "");
}
}
}上上星期刚用到,绝对没问题。
我是说的JMenu!
而你是用的JMenuItem!
这是两个不同的东西!
“bug”不是那么好找的,虚心学习吧......
focusGained没有发生作用!