我正在为自己创建一个文字处理器。我想在菜单栏中单击“新建”后将JTextArea添加到框架中。我在netbeans中使用GUI编程。
答案 0 :(得分:0)
如果没有您的源代码,很难回答您的问题,但这是一个有效的解决方案(假设您通过菜单栏按钮表示带有JMenuItem的JMenuBar):
import java.awt.event.*;
import javax.swing.*;
class WordProcessor extends JFrame implements ActionListener{
JMenuBar menuBar;
JMenu file;
JMenuItem newFile;
JTextArea textArea; //The text area object
public WordProcessor(){
super("WordProcessor");
setSize(400, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
menuBar = new JMenuBar();
file = new JMenu("File");
newFile = new JMenuItem("new");
file.add(newFile);
menuBar.add(file);
setJMenuBar(menuBar);
textArea = new JTextArea(5, 37); //Instantiate text area object
newFile.addActionListener(this); //listen for events on the 'new' item of the 'file' menu
}
public void actionPerformed(ActionEvent event){
if(event.getSource() == newFile){
add(textArea); //Add the text area to the JFrame if the 'new' item is clicked
}
}
public static void main(String[] args){
WordProcessor window = new WordProcessor();
}
}
这回答了你的请求但是每次点击新文件菜单项时我都不会向窗口添加JTextArea对象,而是在加载时添加JTextArea并清除文本每次单击新文件菜单项时区域:
if(event.getSource() == newFile){
textArea.setText(" ");
}