java图形化界面日历
时间: 2023-12-27 09:24:18 浏览: 32
以下是一个使用Java Swing实现的简单日历小程序的示例:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CalendarApp extends JFrame {
private JLabel dateLabel;
public CalendarApp() {
setTitle("日历");
setSize(300, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建日期标签
dateLabel = new JLabel();
dateLabel.setHorizontalAlignment(SwingConstants.CENTER);
updateDateLabel();
// 创建按钮
JButton prevButton = new JButton("上个月");
JButton nextButton = new JButton("下个月");
// 添加按钮点击事件监听器
prevButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
previousMonth();
}
});
nextButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
nextMonth();
}
});
// 创建面板并添加组件
JPanel panel = new JPanel(new BorderLayout());
panel.add(dateLabel, BorderLayout.CENTER);
panel.add(prevButton, BorderLayout.WEST);
panel.add(nextButton, BorderLayout.EAST);
// 将面板添加到窗口中
add(panel);
setVisible(true);
}
// 更新日期标签
private void updateDateLabel() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月");
dateLabel.setText(sdf.format(getCurrentMonth()));
}
// 获取当前月份
private Date getCurrentMonth() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, 1);
return calendar.getTime();
}
// 切换到上个月
private void previousMonth() {
Calendar calendar = Calendar.getInstance();
calendar.setTime(getCurrentMonth());
calendar.add(Calendar.MONTH, -1);
dateLabel.setText(new SimpleDateFormat("yyyy年MM月").format(calendar.getTime()));
}
// 切换到下个月
private void nextMonth() {
Calendar calendar = Calendar.getInstance();
calendar.setTime(getCurrentMonth());
calendar.add(Calendar.MONTH, 1);
dateLabel.setText(new SimpleDateFormat("yyyy年MM月").format(calendar.getTime()));
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new CalendarApp();
}
});
}
}
```
这个程序使用了Java Swing库来创建一个简单的日历图形界面。它包含一个日期标签,用于显示当前月份,以及上个月和下个月的按钮,用于切换月份。当点击按钮时,程序会更新日期标签显示的月份。