私はしばらくの間JButtonを取得しようとしてきましたが、文字列を返す必要があり、ある程度は機能していますが、System.out.println()メソッドを使用している場合にのみ機能します。
私の関連コード:
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は文字列に正常に設定されます。 ボタンが押されるまで「EMPTY」を100回以上繰り返すため、これは明らかに端末をかなり混乱させます。
ただし、そのステートメントを削除すると、明らかに何も出力されませんが、strがstrに設定されることはありません。
私はかなり長い間これをいじっていました(すべてのJava UIのものに新しく、主に計算の部分で働いていました)、そして私はまだ私の端末を台無しにしない実用的な解決策を見つけていません。すべてのヘルプをありがとう!!!
ケイル