Java 制作一个风景日历源代码
时间: 2024-12-13 12:28:50 浏览: 6
在Java中制作一个风景日历源代码涉及到一些UI设计、日期处理以及图片显示。这里是一个简单的例子,假设我们使用Swing库来创建一个桌面应用:
```java
import javax.swing.*;
import java.awt.*;
import java.util.Calendar;
import java.io.File;
public class ScenicCalendar extends JFrame {
private Calendar calendar = Calendar.getInstance();
private JPanel panel;
private JLabel currentDateLabel;
private JButton[] monthButtons; // 存储每个月份按钮
public ScenicCalendar() {
setTitle("Scenic Calendar");
setSize(600, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
panel = new JPanel(new GridLayout(6, 7)); // 6行7列布局
currentDateLabel = new JLabel("Current Date: " + calendar.get(Calendar.DAY_OF_MONTH) + "/" +
calendar.get(Calendar.MONTH) + 1 + "/" + calendar.get(Calendar.YEAR));
currentDateLabel.setHorizontalAlignment(JLabel.CENTER);
createMonthButtons(); // 创建月份切换按钮
add(currentDateLabel);
add(monthButtons); // 添加到面板上
setContentPane(panel);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
private void createMonthButtons() {
int i = 1;
for (int month = Calendar.JANUARY; month <= Calendar.DECEMBER; month++) {
JButton button = new JButton(Integer.toString(i++));
button.addActionListener(e -> changeMonth(month));
button.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 18));
panel.add(button);
}
}
private void changeMonth(int targetMonth) {
calendar.set(Calendar.MONTH, targetMonth);
currentDateLabel.setText("Current Date: " + calendar.get(Calendar.DAY_OF_MONTH) + "/" +
(calendar.get(Calendar.MONTH) + 1) + "/" + calendar.get(Calendar.YEAR));
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> new ScenicCalendar());
}
}
```
这个源代码创建了一个简单的框架,显示当前日期并有月份按钮,点击月份按钮会切换到对应的月份。实际的日历图片需要从外部加载,可以使用`ImageIcon`和网络资源或是本地文件路径替换。这是一个基础示例,你可以根据需求添加更多的功能,比如动态显示不同季节的风景照片。
阅读全文