Jestem nowy w Javie i próbowałem naprawić jakiś kod, z którym miał kłopoty, ale stanęł przed błędem, który trochę zdezorientuje mnie błąd, który dostałem:

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...

Próbowałem dodać do niego konstruktora, ale wiedza, którą mam o Javie, nie wystarczyła, by to naprawić
Oto próbka kodu. Błąd pojawił się w ostatnich 2 liniach kodu

        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", "####/##/####", '_');
0
Rabah CHERANA 22 październik 2020, 20:10

1 odpowiedź

Najlepsza odpowiedź

Twój problem jest dokładnie tym, co mówi komunikat o błędzie. Te linie:

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

Są nieprawidłową składnią, ponieważ klasa JDateChooser nie ma konstruktora, który bierze dwa struny i postać jako parametry. Komunikat o błędzie zawiera listę wszystkich konstruktorów, które obejmują klasę. Jeśli chcesz utworzyć JDateChooser, musisz to zrobić za pomocą jednego z konstruktorów, które zapewnia.

1
CryptoFool 22 październik 2020, 17:15