在MenuItem"新建"中添加事件处理:addActionListener();在事件处理函数中new 一个你要显示出来的窗口就好了。 java tutorial中有很好的例子:how to use menu http://java.sun.com/docs/books/tutorial/uiswing/components/menu.html
我确实是按照楼上所说“在事件处理函数中new 一个你要显示出来的窗口”,但就是显示不出那窗口来。部分代码如下: if(itemName.equals("新建")) { newFile file =new newFile(); }其中newFile.java源代码如下: import java.awt.*; import javax.swing.*; import java.sql.*;public class newFile extends JFrame { private JLabel title = new JLabel("Title:",SwingConstants.RIGHT); private JLabel describe = new JLabel("Describe:",SwingConstants.RIGHT); private JTextField textField; private JTextArea textArea; public newFile() { this.setTitle("新建文件"); JPanel pane = new JPanel(); pane.setLayout(new GridLayout(2,2)); pane.add(title); pane.add(textField); pane.add(describe); pane.add(textArea); setContentPane(pane); pack(); setVisible(true); }} 请问这些代码哪里错了?还有“保存”这个子菜单的响应事件应怎么做呢?
java tutorial中有很好的例子:how to use menu
http://java.sun.com/docs/books/tutorial/uiswing/components/menu.html
if(itemName.equals("新建"))
{
newFile file =new newFile();
}其中newFile.java源代码如下:
import java.awt.*;
import javax.swing.*;
import java.sql.*;public class newFile extends JFrame
{
private JLabel title = new JLabel("Title:",SwingConstants.RIGHT);
private JLabel describe = new JLabel("Describe:",SwingConstants.RIGHT);
private JTextField textField;
private JTextArea textArea;
public newFile()
{
this.setTitle("新建文件");
JPanel pane = new JPanel();
pane.setLayout(new GridLayout(2,2));
pane.add(title);
pane.add(textField);
pane.add(describe);
pane.add(textArea);
setContentPane(pane);
pack();
setVisible(true); }}
请问这些代码哪里错了?还有“保存”这个子菜单的响应事件应怎么做呢?
{
newFile file =new newFile();
}
你这是用的哪种事件处理?保存了这段代码能执行吗?你肯定是没看这上面的例子
http://java.sun.com/docs/books/tutorial/uiswing/components/menu.html
这是sun官方的例子,看完后什么都明白了。
if(itemName.equals("新建"))
{
newFile file =new newFile();
}
这个吗?不过判断的话一般用e.getSouce()==..来判断比较好