Java 在JFrame和WordWrap上的x按钮上添加一个方法
所以我在JavaGUI上做一个记事本,我当时有很多问题,请帮助我。我的第一个问题如标题所述,我想向JFrame上的x按钮添加一个方法。我对下面的代码有一个方法,但我不知道如何在x按钮上输入它 我的另一个问题是wrapJava 在JFrame和WordWrap上的x按钮上添加一个方法,java,swing,user-interface,jframe,Java,Swing,User Interface,Jframe,所以我在JavaGUI上做一个记事本,我当时有很多问题,请帮助我。我的第一个问题如标题所述,我想向JFrame上的x按钮添加一个方法。我对下面的代码有一个方法,但我不知道如何在x按钮上输入它 我的另一个问题是wrapJCheckBoxMenuItem。它不起作用,我不知道为什么。我希望它的行为就像在一个普通的记事本(如果你点击它会自动换行,如果你再次点击它会停止) 我怎样才能使这段代码正常工作。在我上面的代码里?我好像跑不动了 public void windowClosing(WindowEv
JCheckBoxMenuItem
。它不起作用,我不知道为什么。我希望它的行为就像在一个普通的记事本(如果你点击它会自动换行,如果你再次点击它会停止)
我怎样才能使这段代码正常工作。在我上面的代码里?我好像跑不动了
public void windowClosing(WindowEvent e){
if(textArea.getText().isEmpty() == false){
JDialog.setDefaultLookAndFeelDecorated(true);
int response = JOptionPane.showConfirmDialog(null, "Do you want to save changes ?","My Notepad",JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(response == JOptionPane.NO_OPTION){
System.exit(0);
}
else if(response == JOptionPane.YES_OPTION){
JFileChooser save = new JFileChooser();
int option = save.showSaveDialog(this);
if (option == JFileChooser.APPROVE_OPTION) {
try {
BufferedWriter out = new BufferedWriter(new FileWriter(save.getSelectedFile().getPath()));
out.write(this.textArea.getText());
out.close();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
}
else{
System.exit(0);
}
}
在JFrame
添加一个
WindowListener
。有关详细信息和示例,请参阅。“我的另一个问题是…”。最好在单独的问题上提问,问答网站也是如此,而不是服务台。毕竟,如果有人知道其中一个问题的答案而不知道另一个问题的答案,他们应该回答吗?其他建议:1)使用逻辑一致的代码行和代码块缩进形式。缩进的目的是使代码的流程更易于遵循!2) 在源代码中只需要一行空白就可以了。{
之后或}
之前的空行通常也是多余的。3) 请学习常见的Java命名法(命名约定-例如EachWordUpperCaseClass
,firstWordLowerCaseMethod()
,firstWordLowerCaseAttribute
,除非它是常量
),并一致地使用它。我如何做到这一点?对不起,我只是个新手,我不知道那个windowListener。虽然我搜索了它,但我仍然无法理解它“我怎么做?”您是在看原始答案,还是在编辑的答案中添加了“如何编写窗口侦听器”的链接?我已经尽了全力,仍然无法添加窗口侦听器。请以(最小完整可验证示例)或(简短、自包含、正确的示例)。提示:为了使其最小化,示例不需要菜单或框架本身以外的组件。我已尝试添加windowListener,但我认为我的代码中有错误,它不允许添加。
public void windowClosing(WindowEvent e){
if(textArea.getText().isEmpty() == false){
JDialog.setDefaultLookAndFeelDecorated(true);
int response = JOptionPane.showConfirmDialog(null, "Do you want to save changes ?","My Notepad",JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(response == JOptionPane.NO_OPTION){
System.exit(0);
}
else if(response == JOptionPane.YES_OPTION){
JFileChooser save = new JFileChooser();
int option = save.showSaveDialog(this);
if (option == JFileChooser.APPROVE_OPTION) {
try {
BufferedWriter out = new BufferedWriter(new FileWriter(save.getSelectedFile().getPath()));
out.write(this.textArea.getText());
out.close();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
}
else{
System.exit(0);
}
}