Я пытался какое-то время получить JButton, я должен вернуть строку, и у меня она работает до такой степени, но она работает только тогда, когда я использую метод System.out.println().Верните строку из пресса JButton Press Listener?
Мой Соответствующий код:
private String answer;
public void inputDataButton(JButton inButton)
{
inButton.addActionListener(new Action1());
}
public String returnAnswer()
{
return answer;
}
private void fileAnswer(String inString)
{
answer = new String(inString);
}
public class Action1 implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String sub = JOptionPane.showInputDialog("Input The Date");
fileAnswer(sub);
}
}
С моим Main контролировать его:
public class test
{
protected static JTextField text;
public static void main(String[] args)
{
javaUI base = new javaUI("Date Killer", 800, 800);
JLabel label = new JLabel("Place Holder");
base.addLabel(label, 1, 0, false);
JButton button = new JButton("Press Here");
base.addButton(button, 0, 0, false);
String str = "EMPTY";
base.inputDataButton(button);
while (str == "EMPTY")
{
str = base.returnAnswer();
}
System.out.println(str + " TEST");
label.setText(str + "SETTED");
}
}
JavaUI это просто еще один класс с упрощает весь JFrame и настройку JPanel для этикетки, кнопки и т.д. .
Anyways, heres my problem. В основном классе в инструкции while str успешно устанавливается в строку , если у меня есть оператор System.out.println() непосредственно после. Это, очевидно, довольно беспорядок терминала, поскольку он повторяет «ПУСТОЙ» 100 раз, пока кнопка не будет нажата.
Однако, если я удалю это утверждение, ничего явно не распечатано, но str никогда не устанавливается на str.
Я довольно давно общался с этим (новый для всего java-файла UI, в основном, просто работал в части вычисления), и я еще не нашел рабочего решения, которое не делает беспорядок моего терминала. Спасибо за помощь!!!
Cail
Что такое 'System.out.println()' оператор, который заставляет его работать? И почему 'base.returnAnswer()' в цикле 'while'? Всегда ли он возвращает разные ответы каждый раз, когда он называется? –
Поскольку я не знаю, в какую точку нажимается кнопка, я установил цикл while для строки, которая продолжает циркулировать, пока строка не будет «ПУСТОЙ». Однако он только выходит из цикла, если в цикле есть оператор System.out.println (str), иначе он становится бесконечным. –