基于gui的Java万年历代码
时间: 2023-07-28 13:06:49 浏览: 53
以下是基于GUI的Java万年历代码,可以根据实际情况进行修改和完善:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CalendarDemo extends JFrame implements ActionListener {
private int year, month, day;
private JLabel labelYear, labelMonth, labelDay;
private JComboBox comboBoxYear, comboBoxMonth;
private JButton buttonQuery;
private JTextArea textAreaResult;
public CalendarDemo() {
setTitle("万年历");
setBounds(100, 100, 400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setLayout(new FlowLayout());
labelYear = new JLabel("年份:");
add(labelYear);
comboBoxYear = new JComboBox();
for (int i = 1900; i <= 2100; i++) {
comboBoxYear.addItem(i);
}
add(comboBoxYear);
labelMonth = new JLabel("月份:");
add(labelMonth);
comboBoxMonth = new JComboBox();
for (int i = 1; i <= 12; i++) {
comboBoxMonth.addItem(i);
}
add(comboBoxMonth);
buttonQuery = new JButton("查询");
buttonQuery.addActionListener(this);
add(buttonQuery);
textAreaResult = new JTextArea(10, 30);
add(textAreaResult);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == buttonQuery) {
year = (int) comboBoxYear.getSelectedItem();
month = (int) comboBoxMonth.getSelectedItem();
day = 1;
Calendar calendar = Calendar.getInstance();
calendar.set(year, month - 1, day);
int firstDayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
int maxDayOfMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(String.format("%d年%d月\n", year, month));
stringBuilder.append("日 一 二 三 四 五 六\n");
for (int i = 1; i < firstDayOfWeek; i++) {
stringBuilder.append(" ");
}
for (int i = 1; i <= maxDayOfMonth; i++) {
if (i < 10) {
stringBuilder.append(" ");
}
stringBuilder.append(i);
stringBuilder.append(" ");
if ((firstDayOfWeek + i - 1) % 7 == 0) {
stringBuilder.append("\n");
}
}
textAreaResult.setText(stringBuilder.toString());
}
}
public static void main(String[] args) {
CalendarDemo calendarDemo = new CalendarDemo();
calendarDemo.setVisible(true);
}
}
```
运行程序后,会出现一个GUI界面,可以选择年份和月份,并点击查询按钮,即可显示该月份的万年历。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)