JTextArea,JMenuBar,JMenu,JMenuItem没有出现

时间:2014-04-23 12:10:42

标签: jframe jtextarea jmenu jmenuitem jmenubar

我对Java很新,所以我需要一些帮助。我正在尝试制作记事本应用程序。

问题是我的菜单或文本字段都没有显示出来。我无法弄清楚问题是什么。请帮忙。

public class NotePad extends JFrame implements ActionListener {

private JTextArea txtArea;
private JMenuBar mnuBar;
private JMenu mnyFile, mnyFormat, mnyEdit, mnyHelp;
private JMenuItem openFile, saveFile, exit, textWrap, noTextWrap, clear, abtNotepad;


public NotePad() {

    setTitle("NOTEPAD");
    setSize(700, 500);
    setDefaultCloseOperation(EXIT_ON_CLOSE);

    setLayout(new BorderLayout());




//Tekstboks
txtArea = new JTextArea();

//MenyBar
mnuBar = new JMenuBar();


//Meny

mnyFile = new JMenu("File"); 
mnyFormat = new JMenu("Format"); 
mnyEdit = new JMenu("Edit"); 
mnyHelp = new JMenu("Help");


//UnderMeny

openFile = new JMenuItem("Open");
saveFile = new JMenuItem("Save");
exit = new JMenuItem("Exit"); 
textWrap = new JMenuItem("Text Wrap");
noTextWrap = new JMenuItem("No Text Wrap"); 
clear = new JMenuItem("Clear");
abtNotepad = new JMenuItem("About Notepad");


add(txtArea);


add(mnuBar);


add(mnyFile);
add(mnyFormat);
add(mnyEdit);
add(mnyHelp);

add(openFile);
add(saveFile);
add(exit);
add(textWrap);
add(noTextWrap);
add(clear);
add(abtNotepad);

setJMenuBar(mnuBar);

setVisible(true);
}
























public static void main(String[] args) {

    new NotePad();

}



























public void actionPerformed(ActionEvent e) {


}

}

1 个答案:

答案 0 :(得分:1)

您的构造函数应该类似于:

public NotePad() {

    setTitle("NOTEPAD");
    setSize(700, 500);
    setDefaultCloseOperation(EXIT_ON_CLOSE);

    setLayout(new FlowLayout());

    txtArea = new JTextArea();

    mnuBar = new JMenuBar();

    mnyFile = new JMenu("File");
    mnyFormat = new JMenu("Format");
    mnyEdit = new JMenu("Edit");
    mnyHelp = new JMenu("Help");

    openFile = new JMenuItem("Open");
    saveFile = new JMenuItem("Save");
    exit = new JMenuItem("Exit");
    textWrap = new JMenuItem("Text Wrap");
    noTextWrap = new JMenuItem("No Text Wrap");
    clear = new JMenuItem("Clear");
    abtNotepad = new JMenuItem("About Notepad");


    mnuBar.add(mnyFile);
    mnuBar.add(mnyFormat);
    mnuBar.add(mnyEdit);
    mnuBar.add(mnyHelp);

    mnyFile.add(openFile);
    mnyFile.add(saveFile);
    mnyFile.add(exit);
    mnyFormat.add(textWrap);
    mnyFormat.add(noTextWrap);
    mnyEdit.add(clear);
    mnyHelp.add(abtNotepad);

    setJMenuBar(mnuBar);
    add(txtArea);
    setVisible(true);
}

否则,您将覆盖添加到BorderLayout的每个组件。