我目前正在制作自制编辑器。 "开放"和"另存为"当我启动程序时,JMenu已经设置并出现。问题是他们对我的点击没有反应。我认为我失踪的ActionListeners存在一个问题。
savebtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser fileread = new JFileChooser();
if(fileread.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){
File file = fileread.getSelectedFile();
try {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String text = "";
for( int i = 0; i<=br.read();i++) {
text.concat(br.readLine());
}
textbereich.setText(text);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
});
也许你可以找到解决方案。
提前致谢。
答案 0 :(得分:1)
&#34; Open&#34;和&#34;另存为&#34; JMenu已经设定
JMenu没有响应ActionListener。
你应该创建一个&#34;文件&#34;菜单,然后你添加&#34;打开&#34;和#34;另存为&#34;作为&#34;文件&#34;的JMenuItems
菜单。然后ActionListeners将起作用。
阅读How to Use Menus上Swing教程中的部分,了解更多信息和工作示例,以帮助您入门。
此外,当您将文件读入文本组件时,只需使用文本组件的read(...)
方法将文本读入组件。不要直接读取文件。
答案 1 :(得分:0)
问题是您正在尝试为JMenu而不是 JMenuItem 设置操作。
您必须从
更改代码JMenu savebtn = new JMenu("Save");
到
JMenu fileMenu = new JMenu("File");
JMenuItem savebtn = new JMenuItem("Save");
fileMenu.add(savebtn);
阅读本教程以了解如何使用菜单 https://docs.oracle.com/javase/tutorial/uiswing/components/menu.html