私は行列のパラメータを入力する1つのJFrameを持っています。これらのパラメータが入力された後、ユーザーはシミュレーションを開始するためにボタンをクリックすることになっています。問題は、メッセージが書き込まれているJOptionペインを開くために、ボタンが1回ではなく2回クリックされることです。私はちょうどこれがなぜ起こるか把握できません。この場合シングルの代わりにダブルクリックするのはなぜですか?
private void setMatrixParameters(){
if(tfTouristNumber.getText().equals("") || tfRowNumber.getText().equals("") || tfColumnNumber.getText().equals("") || tfMinimal.getText().equals("")){
JFrame frame = new JFrame();
JOptionPane.showMessageDialog(frame, "All fields must be filled", "Error!", JOptionPane.ERROR_MESSAGE);
}
//check the matrix dimensions
else if(min + touristNumber > Integer.parseInt(tfRowNumber.getText()) * Integer.parseInt(tfColumnNumber.getText())){
int dimension= min + touristNumber;
JFrame frame = new JFrame();
JOptionPane.showMessageDialog(frame, "Matrix dimensions too small. Need to be at least:" + dimension, "Enlarge matrix!", JOptionPane.ERROR_MESSAGE);
}
else{
this.touristNumber = Integer.parseInt(tfTouristNumber.getText());
int row = Integer.parseInt(tfRowNumber.getText());
int column = Integer.parseInt(tfColumnNumber.getText());
this.matrix = new Object[row][column];
this.min = Integer.parseInt(tfMinimal.getText());
}
}
あなたが投稿したコードのいずれも、クリックとは関係ありません。 –
@ CrushaK.Rool私は知っていますが、私は実行されたアクションから呼び出されたものは何もありません。私のアプリケーションの他のボタンと同じように、ワンクリックで動くはずです。私は問題を理解できません。 – ivana14
あなたが何をしたいのかがわかりません。あなたが掲示したコードだけで、そのボタンをクリックするだけで、いくつかのテキストフィールドの入力を検証し、ローカルフィールドに読み込むだけです。そのボタンを何回クリックしても、それはすべて起こります。 –