Java 按下 x 按钮后关闭桌面应用程序的代码
Java code for closing a desktop application after pressing the x button
我需要一些帮助来介绍一种方法或其他东西,它会在我按下角落里的默认 X 按钮后关闭桌面应用程序。我在网上找到了很多方法,但我要么不知道把它放在哪里,要么我遗漏了一些东西...
这是我的代码:
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionListener;
public class Calculator implements ActionListener {
Frame frame = new Frame();
Label label1 = new Label("First Number");
Label label2 = new Label("Operator");
Label label3 = new Label("Second Number");
Label label4 = new Label("Result");
TextField text1 = new TextField();
Choice choice = new Choice();
TextField text2 = new TextField();
TextField text3 = new TextField();
Button button = new Button("Calculate");
Calculator() {
label1.setBounds(50, 100, 100, 20);
label2.setBounds(50, 140, 100, 20);
label3.setBounds(50, 180, 100, 20);
label4.setBounds(50, 220, 100, 20);
text1.setBounds(200, 100, 100, 20);
choice.setBounds(200, 140, 100, 20);
text2.setBounds(200, 180, 100, 20);
text3.setBounds(200, 220, 100, 20);
button.setBounds(200, 200, 100, 20);
frame.add(label1);
frame.add(label2);
frame.add(label3);
frame.add(label4);
frame.add(text1);
frame.add(choice);
frame.add(text2);
frame.add(text3);
frame.add(button);
button.addActionListener(this);
choice.add("+");
choice.add("-");
choice.add("*");
choice.add("/");
frame.setLayout(null);
frame.setVisible(true);
frame.setSize(400, 350);
}
public void actionPerformed(ActionEvent event) {
try {
double number1 = Double.parseDouble(text1.getText());
double number2 = Double.parseDouble(text2.getText());
String selectedOperation = choice.getSelectedItem();
if (selectedOperation.equals("+"))
text3.setText(String.valueOf(number1 + number2));
else if (selectedOperation.equals("-"))
text3.setText(String.valueOf(number1 - number2));
else if (selectedOperation.equals("*"))
text3.setText(String.valueOf(number1 * number2));
else if (selectedOperation.equals("/")) {
if (number2 != 0)
text3.setText(String.valueOf(number1 / number2));
else System.out.println("Can't do that...");
}
} catch (NumberFormatException ignore) {
System.out.println("You can only introduce numbers!");
}
}
}
public class Main {
public static void main(String[] args) {
new Calculator();
}
}
非常感谢您的帮助,因为我正在努力学习 Java!
没有人再使用 AWT GUI。使用 Swing、JFrame、JButton、JLabel、JTextField。然后 JFrame.setDefaultCloseOperation(EXIT_ON_CLOSE)
.
不太清楚您为什么使用 AWT 而不是 Swing。因为后者比前者更受推荐。
但是尽管如此 - 您可以通过添加 window 侦听器来退出应用程序。例如:
frame.addWindowListener(new WindowAdapter()
{
@Override public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
附带说明一下,如果您使用的是 Swing 而不是 AWT(即 JFrame
而不是 Frame
),您也可以这样做:
JFrame jframe = ....;
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
我需要一些帮助来介绍一种方法或其他东西,它会在我按下角落里的默认 X 按钮后关闭桌面应用程序。我在网上找到了很多方法,但我要么不知道把它放在哪里,要么我遗漏了一些东西...
这是我的代码:
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionListener;
public class Calculator implements ActionListener {
Frame frame = new Frame();
Label label1 = new Label("First Number");
Label label2 = new Label("Operator");
Label label3 = new Label("Second Number");
Label label4 = new Label("Result");
TextField text1 = new TextField();
Choice choice = new Choice();
TextField text2 = new TextField();
TextField text3 = new TextField();
Button button = new Button("Calculate");
Calculator() {
label1.setBounds(50, 100, 100, 20);
label2.setBounds(50, 140, 100, 20);
label3.setBounds(50, 180, 100, 20);
label4.setBounds(50, 220, 100, 20);
text1.setBounds(200, 100, 100, 20);
choice.setBounds(200, 140, 100, 20);
text2.setBounds(200, 180, 100, 20);
text3.setBounds(200, 220, 100, 20);
button.setBounds(200, 200, 100, 20);
frame.add(label1);
frame.add(label2);
frame.add(label3);
frame.add(label4);
frame.add(text1);
frame.add(choice);
frame.add(text2);
frame.add(text3);
frame.add(button);
button.addActionListener(this);
choice.add("+");
choice.add("-");
choice.add("*");
choice.add("/");
frame.setLayout(null);
frame.setVisible(true);
frame.setSize(400, 350);
}
public void actionPerformed(ActionEvent event) {
try {
double number1 = Double.parseDouble(text1.getText());
double number2 = Double.parseDouble(text2.getText());
String selectedOperation = choice.getSelectedItem();
if (selectedOperation.equals("+"))
text3.setText(String.valueOf(number1 + number2));
else if (selectedOperation.equals("-"))
text3.setText(String.valueOf(number1 - number2));
else if (selectedOperation.equals("*"))
text3.setText(String.valueOf(number1 * number2));
else if (selectedOperation.equals("/")) {
if (number2 != 0)
text3.setText(String.valueOf(number1 / number2));
else System.out.println("Can't do that...");
}
} catch (NumberFormatException ignore) {
System.out.println("You can only introduce numbers!");
}
}
}
public class Main {
public static void main(String[] args) {
new Calculator();
}
}
非常感谢您的帮助,因为我正在努力学习 Java!
没有人再使用 AWT GUI。使用 Swing、JFrame、JButton、JLabel、JTextField。然后 JFrame.setDefaultCloseOperation(EXIT_ON_CLOSE)
.
不太清楚您为什么使用 AWT 而不是 Swing。因为后者比前者更受推荐。
但是尽管如此 - 您可以通过添加 window 侦听器来退出应用程序。例如:
frame.addWindowListener(new WindowAdapter()
{
@Override public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
附带说明一下,如果您使用的是 Swing 而不是 AWT(即 JFrame
而不是 Frame
),您也可以这样做:
JFrame jframe = ....;
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);