java实现日历图形界面
时间: 2024-11-17 19:14:15 浏览: 20
在Java中实现日历图形用户界面(GUI),你可以使用Swing或JavaFX等库。以下是使用Swing简单创建一个月历视图的例子:
```java
import javax.swing.*;
import java.awt.*;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class CalendarUI {
private JFrame frame;
private JMonthChooser monthChooser;
public CalendarUI() {
initialize();
}
private void initialize() {
frame = new JFrame("Calendar GUI");
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建月历选择器组件
monthChooser = new JMonthChooser();
SimpleDateFormat sdf = new SimpleDateFormat("MM/yyyy");
monthChooser.setSelectedDate(new Date());
monthChooser.setMonthViewDelegate(new MonthViewAdapter() {
@Override
public String getCellText(int row, int column) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(monthChooser.getDisplayDate());
calendar.add(Calendar.MONTH, -row);
calendar.add(Calendar.DAY_OF_MONTH, -(column - 1));
return sdf.format(calendar.getTime());
}
});
// 添加到布局管理器
frame.getContentPane().add(monthChooser);
frame.setVisible(true);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
CalendarUI window = new CalendarUI();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
```
在这个例子中,我们创建了一个`JMonthChooser`,它是一个内置的日历选择器,然后自定义了`getCellText`方法来显示每个日期的文本。这个程序会在窗口中显示一个月历,你可以通过选择月份查看对应日期。
阅读全文