在我的Swing应用程序,用户必须插入数和值,切换到下一个窗口前。 现在,作为一个干净的程序应该,我检查每个输入如果它的有效与否,如果没有,则显示错误消息,并且在下一个窗口不会打开。
此检查的结构如下(实施例):
Button buttonToOpenNextWindow = new JButton("next");
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(checkValidty){
// (...)
new WindowA();
frame.dispose(); // (*)
}
}
});
(*)注:我知道,多JFrames的原则是丑,我在改变这种状况,但对于这个问题,这是无关紧要的。
现在,这个问题的焦点是这个checkValidity()
这是我的结构是这样的:
private boolean checkValidity(){
// check input 1
try{
Integer.parseInt(textField1.getText());
}catch (NumberFormatException e){
new ErrorDialog("input 1 is invalid!"); // own implemented dialog
return false;
}
// check input 2
try{
Integer.parseInt(textField2.getText());
}catch (NumberFormatException e){
new ErrorDialog("input 2 is invalid!"); // own implemented dialog
return false;
}
// (...)
// check input n
try{
Integer.parseInt(textField_n.getText());
}catch (NumberFormatException e){
new ErrorDialog("input n is invalid!"); // own implemented dialog
return false;
}
return true;
}
该工程完全按照我想要的,但代码本身是非常难看,因为有多种输入选择的方法获取200,300或更多的线长(因为我不只是检查是否例如,它是一个数字,而且如果该号码是有道理的在程序逻辑等)的上下文。 是否有一个秋千-own方法来检查这样的事情? 或者有没有人一个更好的主意如何实现与分裂法正是这种功能?