我一直在嘗試一段時間得到一個JButton我必須返回一個字符串,我有它在一定程度上工作,但它只適用於當我使用System.out.println()方法。從JButton press Action 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);
}
}
用我的主要控制它:
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的設置
反正,繼承人我的問題。在主類中,在while語句中,如果我之前有一個System.out.println()語句,則str被成功設置爲字符串。 這顯然使終端變得非常混亂,因爲它重複「空」100次直到按下按鈕。
但是,如果我刪除該語句,顯然沒有什麼是打印出來的,但是str永遠不會設置爲str。
我一直在這裏亂搞了很長一段時間(新的所有Java UI的東西,主要只是在計算部分的東西),我還沒有找到一個工作的解決方案,不做一個我的終端一團糟。感謝所有的幫助!
Cail
什麼是使其工作的'System.out.println()'語句?而且,爲什麼'while.'循環中的'base.returnAnswer()'?每次調用它時是否返回不同的答案? – 2013-03-01 10:34:43
由於我不知道按鈕將被按下的位置,因此我爲循環直到字符串不是「空」的字符串設置了一個while循環。但是,如果循環內部有一個System.out.println(str)語句,它只會退出循環,否則會變得無止境。 – 2013-03-01 10:38:59