0

Jobs をSQliteテーブルに表示し、labelText適切に設定するメソッドを次に示します。

private void setLabelText() {
    try {

    String table_click0 = (table_job.getModel().getValueAt(row, 0).toString());        
    String sqlSt = "SELECT Employer.name, * FROM Job INNER JOIN Employer ON Job.employerID = Employer.employerID WHERE jobID='"+table_click0+"' ";
    conn = JavaConnect.ConnectDB();
    pst = conn.prepareStatement(sqlSt);
    rs = pst.executeQuery();

    if(rs.next()) {
        descriptionArea.setText(rs.getString(5));
        empTitLabel.setText(rs.getString(1)+" - "+rs.getString(4));
        idLabel.setText("Job Reference: " + rs.getString(2));
        typeLabel.setText("Job Type: " + rs.getString(6));
        salaryLabel.setText("Salary: " + rs.getString(7));
         benefitsLabel.setText("Benefits : " + rs.getString(8));
        vacLabel.setText("Vacancies : " + rs.getString(9));
        closeLabel.setText("Closing Date: " + rs.getString(10));
        reqLabel.setText("Requirement : " + rs.getString(11));
       placeLabel.setText("Placement : " + rs.getString(12));
       applyToLabel.setText("Apply To: " + rs.getString(13));
        statusLabel.setText("Job Status: "+rs.getString(14));
        locLabel.setText("Location: "+rs.getString(16));
         postedLabel.setText("Posted: "+rs.getString(15));        
    }
 }

ユーザーがジョブを選択して (テーブルの行をクリック)、データの更新を編集できるようにしたいと考えています。そのため、フォームのテキストフィールドのように行を繰り返す代わりに、それを行うためのフォームを提供していますが、これを行うdescriptionArea.setText(rs.getString(5));ためのより短い方法はありますか? または、JTextfieldtextfieldName.setText(....) の方法を使用してそれぞれを個別に操作する必要がありますか?それを短くするためのトリックはありますか? おそらく上記のコードを再利用して繰り返しを最小限に抑えるための簡単なテクニック。

4

2 に答える 2

1

Class Literals を Runtime-Type Tokens としてDbUtils使用し、JDBC のより退屈な部分のいくつかを簡素化するApache Commons を参照することをお勧めします。ResultSetMetaData

于 2013-01-09T09:55:09.187 に答える
0

JTextField は編集用ですが、結果の表示に使用できます。クリックするたびに編集可能に変更できます。

于 2013-01-08T23:34:42.097 に答える