0

I want to fetch records from database & want to set on form. In this form I am using JDateChooser from JCalendar. I have written the following code for this:

public void showdata()

    int a=leaveView.getSelectedRow();
    int b=(Integer)leaveView.getValueAt(a, 0);
    String c=(String)leaveView.getValueAt(a, 1);
    String d=(String)leaveView.getValueAt(a, 2);
    String e=(String)leaveView.getValueAt(a, 3);
    String f=(String)leaveView.getValueAt(a, 4);
    String  g=(String)leaveView.getValueAt(a, 5);
    String h=(String)leaveView.getValueAt(a, 6);
    int i=(Integer)leaveView.getValueAt(a, 7);  
    String j = (String)leaveView.getValueAt(a, 8);
    String k = (String)leaveView.getValueAt(a, 9);


    AL.empid.setSelectedItem(b);
    AL.empname.setText(c);
    AL.empname.setEditable(true);
    AL.department.setText(d);
    AL.department.setEditable(true);
    AL.leavetype.setSelectedItem(e);
    AL.other.setText(f);
    AL.other.setEditable(true);
    AL.jDateChooser1.setDate(g);
    AL.jDateChooser2.setDate(h);

    AL.noofdays.setText(""+i);
    AL.noofdays.setEditable(true);
    AL.singleday.setSelected(true);
    AL.multipleday.setSelected(true);
}

but it's setting today's date to JDateChooser by default... it's not displaying the date which is retrieved from database... The above code is throwing an error at lines AL.jDateChooser1.setDate(g) and AL.jDateChooser2.setDate(h) for g & h...What can I do?

4

1 に答える 1

0

このJCalendar APIを使用していると仮定します

javadocs setDateから、文字列ではなく日付オブジェクトを受け入れます。まず、dateString(g & h) を Date オブジェクトに変換 (解析) してから、日付を設定します。

DateFormat df = new SimpleDateFormat("dd/MM/yyyy"); //adjust this according to your requirement
Date gDate,hDate;
        try {
            gDate = df.parse(g);
            hDate = df.parse(h);
        } catch (ParseException e) {
            e.printStackTrace();
        }

AL.jDateChooser1.setDate(gDate);
AL.jDateChooser2.setDate(hDate);

日付形式の例については、http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.htmlを参照してください。

于 2012-08-06T16:56:36.957 に答える