我是java swing的新手。我用java swing寫了一個簡單的文本編輯器,我在框架中添加了文本區域,菜單欄,但是當我運行該程序時,它只顯示窗體,文本區域和菜單欄無法看到,對於相同的程序有時效果不錯。我無法弄清楚這是什麼原因。有人能幫幫我嗎?Textarea和菜單欄不顯示
提前感謝!`
這裏是:-)
import java.awt.BorderLayout;
import java.awt.Toolkit;
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;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class TextEditor implements ActionListener {
JFrame frame;
JTextArea textArea;
JScrollPane scrollPane;
JMenuBar menuBar;
public TextEditor() {
frame = new JFrame("Note Pad");
frame.setVisible(true);
frame.setSize(1000, 1000);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setIconImage(Toolkit.getDefaultToolkit().getImage("image.gif"));
textArea = new JTextArea(500, 500);
scrollPane = new JScrollPane(textArea);
menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("File");
JMenu editMenu = new JMenu("Edit");
JMenuItem newItem = new JMenuItem("New");
JMenuItem open = new JMenuItem("Open");
JMenuItem save = new JMenuItem("Save");
JMenuItem close = new JMenuItem("Close");
JMenuItem cut = new JMenuItem("Cut");
JMenuItem copy = new JMenuItem("Copy");
JMenuItem paste = new JMenuItem("Paste");
JMenuItem delete = new JMenuItem("Delete");
newItem.addActionListener(this);
open.addActionListener(this);
save.addActionListener(this);
close.addActionListener(this);
cut.addActionListener(this);
copy.addActionListener(this);
paste.addActionListener(this);
delete.addActionListener(this);
fileMenu.add(newItem);
fileMenu.add(open);
fileMenu.add(save);
fileMenu.add(close);
editMenu.add(cut);
editMenu.add(copy);
editMenu.add(paste);
editMenu.add(delete);
menuBar.add(fileMenu);
menuBar.add(editMenu);
frame.setJMenuBar(menuBar);
frame.add(scrollPane, BorderLayout.CENTER);
}
public static void main(String[] args) {
TextEditor te = new TextEditor();
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==menuBar.getMenu(0).getMenuComponent(0)){
JFrame frame2=new JFrame();
frame2.setSize(300,300);
frame2.setVisible(true);
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
}
您應該發佈代碼,無法在沒有代碼的情況下做出任何合理評論。 – 2011-03-08 11:46:33
嗨,我只是把代碼...謝謝 – 2011-03-08 12:04:42
重新格式化的代碼;如果不正確請回復。 – trashgod 2011-03-08 12:18:23