有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java未找到适合JDateChooser的构造函数(字符串、字符串、字符)

我是java新手,我试图修复一位朋友遇到的一些代码,但我遇到了一个让我困惑的错误,我得到的错误是:

no suitable constructor found for JDateChooser(String,String,char)
    constructor JDateChooser.JDateChooser() is not applicable
      (actual and formal argument lists differ in length)
    constructor JDateChooser.JDateChooser(ImageIcon) is not applicable
      (actual and formal argument lists differ in length)
    constructor JDateChooser.JDateChooser(boolean) is not applicable
      (actual and formal argument lists differ in length)
    constructor JDateChooser.JDateChooser(String,boolean) is not applicable
      (actual and formal argument lists differ in length)
    constructor JDateChooser.JDateChooser(JCalendar) is not applicable
      (actual and formal argument lists differ in length)
    constructor JDateChooser.JDateChooser(JCalendar,String,boolean,ImageIcon) is not applicable
      (actual and formal argument lists differ in lengt...

我试图为它添加一个构造函数,但我对java的了解还不足以修复它
下面是一个代码示例。 错误出现在代码的最后两行

        public void actionPerformed(ActionEvent e) {
            Reservation = new JFrame();
            Reservation.setAlwaysOnTop(true);
            Reservation.setTitle("R\u00E9servation");
            Reservation.getContentPane().setLayout(null);
            
            
            JPanel clientPan = new JPanel();
            clientPan.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 0), 1, true), "Client", TitledBorder.LEADING, TitledBorder.TOP, null, null));
            clientPan.setBounds(10, 11, 424, 211);
            Reservation.getContentPane().add(clientPan);
            clientPan.setLayout(null);
            
            JPanel selectClientPan = new JPanel();
            selectClientPan.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 0), 1, true), "S\u00E9lection Client", TitledBorder.LEADING, TitledBorder.TOP, null, null));
            selectClientPan.setBounds(215, 21, 177, 154);
            clientPan.add(selectClientPan);
            selectClientPan.setLayout(null);
            
            
            final ComplexSwingX list = new ComplexSwingX(hotel);
            list.setBounds(10, 29, 157, 114);           
            selectClientPan.add(list);
            
            
            JPanel createClientPan = new JPanel();
            createClientPan.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 0), 1, true), "Cr\u00E9ation Client", TitledBorder.LEADING, TitledBorder.TOP, null, null));
            createClientPan.setBounds(10, 21, 195, 154);
            clientPan.add(createClientPan);
            createClientPan.setLayout(null);
            
            JLabel lblNom = new JLabel("Nom : ");
            lblNom.setBounds(10, 24, 60, 14);
            createClientPan.add(lblNom);
            
            JLabel lblAdresse = new JLabel("Adresse : ");
            lblAdresse.setBounds(10, 124, 60, 14);
            createClientPan.add(lblAdresse);
            
            JLabel lblPrnom = new JLabel("Pr\u00E9nom");
            lblPrnom.setBounds(10, 74, 60, 14);
            createClientPan.add(lblPrnom);
            
            clientName = new JTextField();
            clientName.setBounds(99, 21, 86, 20);
            createClientPan.add(clientName);
            clientName.setColumns(10);
            
            clientFirstname = new JTextField();
            clientFirstname.setBounds(99, 71, 86, 20);
            createClientPan.add(clientFirstname);
            clientFirstname.setColumns(10);
            
            clientAddress = new JTextField();
            clientAddress.setBounds(99, 118, 86, 20);
            createClientPan.add(clientAddress);
            clientAddress.setColumns(10);
            
            final JPanel reservationPan = new JPanel();
            reservationPan.setVisible(false);
            reservationPan.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 0), 1, true), "R\u00E9servation", TitledBorder.LEADING, TitledBorder.TOP, null, null));
            reservationPan.setBounds(69, 230, 323, 194);
        
            final JDateChooser D1 = new JDateChooser("dd/MM/yyyy", "####/##/####", '_');
            final JDateChooser D2 = new JDateChooser("dd/MM/yyyy", "####/##/####", '_');

共 (1) 个答案

  1. # 1 楼答案

    你的问题正是错误信息告诉你的。以下几行:

    final JDateChooser D1 = new JDateChooser("dd/MM/yyyy", "####/##/####", '_');
    final JDateChooser D2 = new JDateChooser("dd/MM/yyyy", "####/##/####", '_');
    

    无效语法,因为JDateChooser类没有将两个字符串和一个字符作为参数的构造函数。错误消息列出了该类包含的所有构造函数。如果要创建JDateChooser,必须使用它提供的一个构造函数