如何用javaswing写一个闰年判断,第一行是输入年份的输入框,第二行是“判断结果”的输出框,如果该年是闰年则输出“某某年是闰年!”否则输出“某某年不是闰年”,最后一行是“判断”和“重置”两个按钮并排位于中间位置,
时间: 2024-05-01 19:17:59 浏览: 72
好的,我可以为您解答这个问题。
您可以使用如下的 Java 代码来编写一个闰年判断的 Swing 界面:
```
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class LeapYearChecker extends JFrame {
private JTextField yearField;
private JTextArea resultArea;
public LeapYearChecker() {
super("闰年判断器");
// 设置窗口大小和位置
setSize(300, 200);
setLocationRelativeTo(null);
// 创建年份输入框和结果输出框
yearField = new JTextField(10);
resultArea = new JTextArea(3, 20);
resultArea.setEditable(false);
// 创建判断和重置按钮
JButton checkButton = new JButton("判断");
checkButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String yearString = yearField.getText();
// 判断输入是否合法
if (!yearString.matches("\\d{4}")) {
JOptionPane.showMessageDialog(
LeapYearChecker.this,
"请输入一个正确的年份(4 位数字)",
"错误",
JOptionPane.ERROR_MESSAGE);
return;
}
int year = Integer.parseInt(yearString);
// 判断是否为闰年
boolean leapYear = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
// 输出结果
if (leapYear) {
resultArea.setText(year + "年是闰年!");
} else {
resultArea.setText(year + "年不是闰年。");
}
}
});
JButton resetButton = new JButton("重置");
resetButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
yearField.setText("");
resultArea.setText("");
}
});
// 创建布局管理器,并添加组件
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
c.anchor = GridBagConstraints.LINE_END;
panel.add(new JLabel("年份:"), c);
c.gridx = 1;
c.gridy = 0;
c.anchor = GridBagConstraints.LINE_START;
panel.add(yearField, c);
c.gridx = 0;
c.gridy = 1;
c.anchor = GridBagConstraints.LINE_END;
panel.add(new JLabel("结果:"), c);
c.gridx = 1;
c.gridy = 1;
c.anchor = GridBagConstraints.LINE_START;
panel.add(new JScrollPane(resultArea), c);
c.gridx = 0;
c.gridy = 2;
c.anchor = GridBagConstraints.CENTER;
panel.add(checkButton, c);
c.gridx = 1;
c.gridy = 2;
c.anchor = GridBagConstraints.CENTER;
panel.add(resetButton, c);
// 将面板设置为窗口内容面板
setContentPane(panel);
}
public static void main(String[] args) {
LeapYearChecker checker = new LeapYearChecker();
checker.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
checker.setVisible(true);
}
}
```
这个程序使用了 `JFrame` 和 `JPanel` 等 Swing 组件,以及 `GridBagLayout` 布局管理器来实现界面布局。它包含一个年份输入框、一个结果输出框、一个判断按钮和一个重置按钮。
当用户点击判断按钮时,程序会读取用户输入的年份,判断是否为闰年,并在结果输出框中显示相应的提示信息。如果用户输入的年份不合法,程序会弹出一个错误提示框。
希望这个代码对您有所帮助!
阅读全文