2

これは、クリックされたときにデータベースでユーザー ID を検索し、名前、姓、および時間を表示するボタンのコードです。私がやりたいのは、ユーザーが出勤/退勤した時間を示すメッセージ(JOptionPane.showMessage())をポップアップすることです。そのため、「JOptionPane.showMessage()」を追加して、まさにそれを行うことができます。 、しかし、このコードを(どこにでも)配置すると、「showMessage」の下に赤い線があり、次のようなエラーメッセージが表示されます。

==cannot find symbol
==symbol: method showMessage(java.lang.String)
==location:class javax.swing.JOptionPane

それが何を意味するのかわかりません。どんな助けでも大歓迎です。ありがとうございました。

private void clockInOutActionPerformed(java.awt.event.ActionEventevt){   

    // TODO add your handling code here:
    try{
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,  ResultSet.CONCUR_UPDATABLE);
           String sql = "SELECT * FROM Students WHERE STUDENTID = ?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setInt(1, Integer.parseInt(jTextField1.getText()));
        ResultSet rs = pstmt.executeQuery();

        if(rs.next()){
            String first = rs.getString(2);
            String last = rs.getString(3);
            String hours = rs.getString(6);

            fName.setText(first);
            lName.setText(last);
            tHours.setText(hours);
        }       
    }
    catch(SQLException err){
        JOptionPane.showMessageDialog(Student.this, err.getMessage());
    }
}
4

2 に答える 2

1

クラス名のスペルを間違えたか、クラス名をインポートしなかった可能性があります。それを確認して、再試行してください。また、アンドリューが言ったこと。

IDE Eclipseを使用している場合、Ctrl + Shift + o(文字O)を押すと、すべてが自動的にインポートされます。

それが役に立てば幸い。

于 2012-06-17T07:12:37.167 に答える
1

このコードで指摘したい問題がいくつかあります

private void clockInOutActionPerformed(java.awt.event.ActionEvent evt){

引数の型と引数名の間にスペースがありません

JOptionPane.showMessageDialog(Student.this, err.getMessage());

showMessageDialog には 3 つのオーバーライド メソッドがあり、それらすべての最初の引数は java.awt.Component のタイプである必要があるため、Student が java.awt.Component を拡張しており、上記の clockInOutActionPerformed メソッドが含まれていると想定します。

それ以外の場合、コードはコンパイルする必要があります。

とにかくメッセージの意味は

それ以外は、同様のエラーを再現できません。

使用しているjdkのバージョンを確認する必要があると思います。使用しているjdkのバージョンではJOptionPaneが利用できない場合があります。

于 2012-06-17T07:58:28.453 に答える