私はもう一度私はこのコードを動作させるように見えることができません。私は基本的に、ボタンがクリックされたときに何もしない理由についてアドバイスを求めています。ソースコードを添付したいですか?私のプログラムのアクションリスナーは動作しません
私が実装しようとしている方法:
if(firstTime == false) {
JavaDB jdb = new JavaDB();
}
JavaDB window = new JavaDB("");
window.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
そして、ここではactionListnerです::
submit = new JButton("Submit");
c.add(submit);
submit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(submit)) {
UserInput();
}
}
}); ;
あなた場合
public static void UserInput() {
try {
stmt = connect.createStatement();
ResultSet res = stmt.executeQuery("SELECT * FROM " + tableName);
while (res.next()) {
if (res.getString("Username").equals(usernameField.getText())) {
if (res.getString("Password").equals(passwordField.getPassword())) {
JOptionPane.showMessageDialog(null, "Correct", "Correct",
JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Error. Incorrect "
+ "username or password.", "Error",
JOptionPane.ERROR_MESSAGE);
}
} else {
JOptionPane.showMessageDialog(null, "Error. Incorrect "
+ "username or password.", "Error",
JOptionPane.ERROR_MESSAGE);
}
}
res.close();
stmt.close();
connect.close();
} catch (SQLException sqlExcept) {
sqlExcept.printStackTrace();
}
}
そして、ここでは、私はそれを呼んでいる方法ですもう私に知らせる必要があります。私は自分自身にJavaを教えてきましたし、何を学ぶべきか分かりませんので、どんなヒントも歓迎されます。私はオーバーフローとポスティングコードをスタックするために新しいので、あなたが私に与えることができるものは高く評価されます。前もって感謝します。
編集:このような内部でスレッドを使用したイベント処理用のクラスを追加しました。
public class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource().equals(submit)){
Thread th = new Thread(new JavaDB());
th.start();
th.run();
try {
th.wait();
} catch (InterruptedException e1) {
}
}
else{
System.exit(0);
}
}
そして、UserInputをrun()に変更しました。ただし、Submitボタンをクリックすると、GUIが表示されなくなります。あなたが必要とする、私はHow to Use Password Fieldsに示すように、
投稿したコードブロックにActionListenerコードが少し表示されません。なぜActionListenersの使用を伴わない場合、それはなぜこのようなタイトルですか?また、具体的にあなたの問題とあなたの質問は何ですか?あなたが掲示しているのは、あいまいな欲望と無関係なコードです。私たちがあなたを助ける機会があれば、もっと必要になると思います。 –
あなたは正確に何を求めていますか? – Logan
これでActionListenerのコードが表示されるので、どこかに行っています。この時点で、 'System.out 'を配置することを含むいくつかのデバッグが必要になると思います。println( "code"と "foo"の変数の002は "+ foo";)はプログラム中のステートメントで、呼び出されるべきメソッドとその時点での変数の状態が呼び出されているかどうかを調べます。 –