我想創建這個代碼: 用戶輸入一個數值,如果他輸入字符就會拋出異常 該字段會停止工作然後另一個框架顯示並顯示錯誤消息 用戶關閉新框架後,一切都返回到它的方式 這意味着該領域將再次工作! 我設法讓該領域停止工作,但我不知道用戶是否關閉了新框架! 這裏是我的嘗試如果一個新的Frame顯示setEditable(false),如果用戶關閉它setEditable(true)
public void keyReleased(KeyEvent event) {
try{
double l,h,w;
l=Double.parseDouble(input_length.getText());
w=Double.parseDouble("0"+input_width.getText());
h=Double.parseDouble("0"+input_width.getText());
}
catch(NumberFormatException a){
input_length.setEditable(false);
input_height.setEditable(false);
input_width.setEditable(false);
JFrame ErrorFrame = new JFrame("Error");
JPanel content = new JPanel(); ;
ErrorFrame.setContentPane(content);
ErrorFrame.setSize (350, 150);
ErrorFrame.setResizable (false);
ErrorFrame.setLocation (FRAME_X_ORIGIN, 250);
content.setLayout(new FlowLayout());
JLabel text = new JLabel(" ERROR ! please Enter number only ",JLabel.CENTER);
text.setFont(new Font("Arial", Font.PLAIN, 20));
text.setForeground(Color.red);
content.add(text);
ErrorFrame.setVisible(true);
setDefaultCloseOperation(ErrorFrame.EXIT_ON_CLOSE);
int op = ErrorFrame.getDefaultCloseOperation();
if(op == 1){
input_length.setEditable(true);
input_height.setEditable(true);
input_width.setEditable(true);}
}
}
您是否使用'JFrame'作爲錯誤信息?我認爲'JDialog'會更好。 http://docs.oracle.com/javase/6/docs/api/ – twain249
我必須使用JFrame,他們想要的是 –