java - 我如何知道用户是否在 Java 的 Swing 中插入了有效的日期?

标签 java swing validation date

我正在创建一个项目,在该项目中我应该获取任何人的出生日期。为此,我选择了 3 个组合框:日期、月份和年份。但是我如何知道要插入的日期有效,因为天数不同 - 不同的月份和年份是不同的。

有没有现成的GUI组件来从用户那里获取日期?

我正在使用 Swing 包进行设计。

我的示例代码是

import java.awt.*;
import javax.swing.*;

public class Pro1 extends JFrame
{

    JComboBox  dd, mm, yy;

    JLabel doblbl;

    Container con;

    public Pro1()
    {
        con = getContentPane(); 

        doblbl = new JLabel("Date of Birth :-");
        doblbl.setHorizontalAlignment(SwingConstants.CENTER);   

        doblbl.setFont(new Font("Arial",Font.BOLD,17));
        doblbl.setForeground(Color.blue);

        doblbl.setOpaque(true); 
        doblbl.setBackground(new Color(230,180,230));


        dd = new JComboBox();
        mm = new JComboBox();
        yy = new JComboBox();

        for(int i = 1; i<=31; i++)
            dd.addItem("" + i);

        for(int i = 1; i<=12; i++)
            mm.addItem("" + i);

        for(int i = 1960; i<=2014; i++)
            yy.addItem("" + i);


        con.setLayout(null); 

        setDefaultCloseOperation(EXIT_ON_CLOSE);    

        int i = 120;

        doblbl.setBounds(30,i+=40,270,30);

        int j = 120;

        dd.setBounds(350,j+=40,50,30);
        mm.setBounds(420,j,50,30);
        yy.setBounds(480,j,70,30);

        con.add(doblbl);

        con.add(dd);
        con.add(mm);
        con.add(yy);

        setSize(1500,800);
        setVisible(true);

        con.setBackground(new Color(125,80,140));           
    }

    public static void main(String s[])
    {
        Pro1 p1 = new Pro1();

    }
}

最佳答案

您可以使用SimpleDateFormat将日期解析或格式化为 dd/MM/yyyy

示例代码:

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String dateString = "30/02/2014"; // form date string in above format

String formattedDate = sdf.format(sdf.parse(dateString));
if (formattedDate.equals(dateString)) {
    System.out.println("valid date");
} else {
    System.out.println("Invalid date"); // It's an invalid date
}

关于java - 我如何知道用户是否在 Java 的 Swing 中插入了有效的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26216112/

相关文章:

java - 配置 Gradle 项目依赖 lwjgl

validation - 帮助解决 HTML 验证错误 : Table column has no cells beginning in it

java - 如何从表模型中获取选定的行?

java - Hibernate 6 自定义 validator 消息如何从属性文件中显示?

PHP-HTML 使用 input=text 更新 mysql,其中 POST ['submit' ]

java - JDBC 显示行数

java - Java错误: unresolved compilation

java - 通过Android连接Openfire服务器

java - 如何获取 GridBagLayout 的尺寸?

Java:将 JSON 响应(逐行)添加到 JTable