【发布时间】:2014-10-21 20:05:05
【问题描述】:
我想创建一个方法,我可以简单地从 Swing 表单中的文本字段中获取文本。然而,试图让它被我的“if 语句”之一识别最终会出现一个错误,告诉我它无法找到该符号,尽管它已被定义。我还想创建更简洁的代码,因为我这样做的方式似乎相当重复和混乱;有没有办法缩短重复次数并将它们也称为变量?
public class TextGrabber {
int [] grabText = {Integer.parseInt(DigitValue.getText())};
}
int digit1 = TextGrabber;
if (digit1 == 1) {
Digi1.setVisible(false);
Digi2.setVisible(false);
Digi3.setVisible(true);
Digi4.setVisible(false); //This textfield will be hidden
Digi5.setVisible(false);
Digi6.setVisible(true);
Digi7.setVisible(false);
}
int digit2 = Integer.parseInt(DigitValue.getText());
if (digit2 == 2) {
Digi1.setVisible(true);
Digi2.setVisible(false);
Digi3.setVisible(true);
Digi4.setVisible(true); //This textfield will be hidden
Digi5.setVisible(true);
Digi6.setVisible(false);
Digi7.setVisible(true);
}
int digit3 = Integer.parseInt(DigitValue.getText());
if (digit3 == 3) {
Digi1.setVisible(true);
Digi2.setVisible(false);
Digi3.setVisible(true);
Digi4.setVisible(true); //This textfield will be hidden
Digi5.setVisible(false);
Digi6.setVisible(true);
Digi7.setVisible(true);
}
int digit4 = Integer.parseInt(DigitValue.getText());
if (digit4 == 4) {
Digi1.setVisible(false);
Digi2.setVisible(true);
Digi3.setVisible(true);
Digi4.setVisible(true); //This textfield will be hidden
Digi5.setVisible(false);
Digi6.setVisible(true);
Digi7.setVisible(false);
}
int digit5 = Integer.parseInt(DigitValue.getText());
if (digit5 == 5) {
Digi1.setVisible(true);
Digi2.setVisible(true);
Digi3.setVisible(false);
Digi4.setVisible(true); //This textfield will be hidden
Digi5.setVisible(false);
Digi6.setVisible(true);
Digi7.setVisible(true);
}
int digit6 = Integer.parseInt(DigitValue.getText());
if (digit6 == 6) {
Digi1.setVisible(true);
Digi2.setVisible(true);
Digi3.setVisible(false);
Digi4.setVisible(true); //This textfield will be hidden
Digi5.setVisible(true);
Digi6.setVisible(true);
Digi7.setVisible(true);
}
int digit7 = Integer.parseInt(DigitValue.getText());
if (digit7 == 7) {
Digi1.setVisible(true);
Digi2.setVisible(false);
Digi3.setVisible(true);
Digi4.setVisible(true); //This textfield will be hidden
Digi5.setVisible(false);
Digi6.setVisible(true);
Digi7.setVisible(false);
}
int digit8 = Integer.parseInt(DigitValue.getText());
if (digit8 == 8) {
Digi1.setVisible(true);
Digi2.setVisible(true);
Digi3.setVisible(true);
Digi4.setVisible(true); //This textfield will be hidden
Digi5.setVisible(true);
Digi6.setVisible(true);
Digi7.setVisible(true);
}
int digit9 = Integer.parseInt(DigitValue.getText());
if (digit9 == 9) {
Digi1.setVisible(true);
Digi2.setVisible(true);
Digi3.setVisible(true);
Digi4.setVisible(true); //This textfield will be hidden
Digi5.setVisible(false);
Digi6.setVisible(true);
Digi7.setVisible(true);
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int AddOneDigit = Integer.parseInt(DigitValue.getText());
AddOneDigit = AddOneDigit + 1;
String NewSet = Integer.toString (AddOneDigit);
DigitValue.setText(NewSet);
ShowDigitActionPerformed(evt);
int check = Integer.parseInt(DigitValue.getText());
if (check >= 10) {
check = 0;
String CheckS = Integer.toString (check);
DigitValue.setText(CheckS);
Digi1.setVisible(true);
Digi2.setVisible(true);
Digi3.setVisible(true);
Digi4.setVisible(false); //This textfield will be hidden
Digi5.setVisible(true);
Digi6.setVisible(true);
Digi7.setVisible(true);
}
【问题讨论】: