import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeDatePicker extends JFrame {
private JTextField textField; // 输入框
private JButton button; // 按钮
private JLabel label; // 日期标签
private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 日期格式化对象
public TimeDatePicker() {
super("时间日期选择器"); // 设置窗口标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗口关闭时结束程序
setSize(300, 200); // 设置窗口大小
setLayout(new FlowLayout()); // 设置布局方式为流式布局
// 创建输入框、按钮和日期标签
textField = new JTextField(20); // 创建输入框,大小为20个字符
button = new JButton("选择日期"); // 创建按钮
label = new JLabel("请选择日期:"); // 创建日期标签
label.setFont(new Font("微软雅黑", Font.BOLD, 16)); // 设置日期标签字体为微软雅黑,大小为16号
label.setHorizontalAlignment(SwingConstants.CENTER); // 设置日期标签水平居中显示
button.addActionListener(new ActionListener() { // 添加按钮点击事件监听器
@Override
public void actionPerformed(ActionEvent e) {
// 获取当前时间日期并显示在输入框中
Date date = new Date();
textField.setText(dateFormat.format(date));
}
});
// 将输入框、按钮和日期标签添加到面板中并设置布局方式为垂直布局
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); // 设置布局方式为垂直布局
panel.add(label); // 添加日期标签到面板中
panel.add(Box.createVerticalStrut(10)); // 添加垂直间距到面板中
panel.add(textField); // 添加输入框到面板中
panel.add(button); // 添加按钮到面板中
add(panel); // 将面板添加到窗口中
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() { // 在事件分派线程中创建时间日期选择器并显示出来
@Override
public void run() {
new TimeDatePicker().setVisible(true); // 创建时间日期选择器并显示出来,设置为可见状态
}
});
}
}
代码创建了一个简单的Java Swing时间日期选择器,包含一个输入框、一个按钮和一个日期标签。
当点击按钮时,会获取当前时间日期并显示在输入框中。
用户可以在输入框中输入或选择一个日期。
该代码使用了Java Swing库中的组件和事件处理机制来实现时间日期选择器的功能。