मेरे स्विंग एप्लिकेशन में, उपयोगकर्ता को अगली विंडो पर स्विच करने से पहले संख्याएं और मान डालना होगा। अब एक स्वच्छ कार्यक्रम के रूप में, यदि यह मान्य है या नहीं, तो मैं प्रत्येक इनपुट की जांच करता हूं, और यदि नहीं, तो एक त्रुटि संदेश प्रदर्शित होता है और अगली विंडो नहीं खुलती है।जावा स्विंग: इनपुट मानों की वैधता जांच लागू करना
इस चेक की संरचना (उदाहरण) निम्नलिखित है:
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 या अधिक लाइनें लंबी हैं (क्योंकि मैं न केवल यह जांचता हूं कि यह एक संख्या है, लेकिन अगर यह प्रोग्राम प्रोग्राम तर्क के संदर्भ में समझ में आता है)। क्या ऐसी चीजों की जांच करने के लिए एक स्विंग-डाउन विधि है? या किसी को भी बेहतर विचार है कि विभाजन विधियों के साथ वास्तव में इस कार्यक्षमता को कैसे महसूस किया जाए?
+1 उपयोग करने के लिए अच्छी विधि :) –