我是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的了解不足以修复它
这里有一个代码示例。错误出现在代码的最后2行
public void actionPerformed(ActionEvent e) {
Reservation = new JFrame();
Reservation.setAlwaysOnTop(true);
Reservation.setTitle("Ru00E9servation");
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), "Su00E9lection 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), "Cru00E9ation 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("Pru00E9nom");
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), "Ru00E9servation", 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", "####/##/####", '_');
您的问题正是错误消息告诉您的。这些线路:
final JDateChooser D1 = new JDateChooser("dd/MM/yyyy", "####/##/####", '_');
final JDateChooser D2 = new JDateChooser("dd/MM/yyyy", "####/##/####", '_');
是无效语法,因为JDateChooser
类没有将两个字符串和一个字符作为参数的构造函数。错误消息列出了该类包含的所有构造函数。如果要创建JDateChooser
,则必须使用它提供的构造函数之一。