-2
我有一個輸入矩陣參數的JFrame,輸入這些參數後,用戶應該點擊一個按鈕來開始模擬。問題是,該按鈕應該被點擊兩次而不是一次,以打開寫入消息的JOption窗格。我無法弄清楚爲什麼會發生這種情況。這是從模擬按鈕的動作進行功能調用的函數:爲什麼雙擊而不是單個?
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
我不清楚你想要發生什麼。從您發佈的代碼中,該按鈕的點擊只不過是驗證並將某些文本字段的輸入讀入本地字段。無論您點擊那個按鈕多少次,這就是發生的一切。 –