Ожидание ActionListener actionPerformed (с таймером?) - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь заполнить переменную из JFrame и испытываю значительные трудности, пытаясь заставить программу ждать выполнения действия, прежде чем продолжить.См. Приведенный ниже код.

Класс реализации JFrame:

public class Frame extends JFrame implements ActionListener {

static Scanner sc = new Scanner(System.in);
static String s;
static JTextField textfield;
static JButton jButton;

public void showFrame() {
    JFrame jf = new JFrame();
    textfield = new JTextField("", 10);
    jButton = new JButton("Enter");
    jButton.addActionListener(new Frame());
    JPanel panel = new JPanel();
    JLabel jl = new JLabel("Options");
    jf.setSize(200, 200);
    jf.setVisible(true);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jf.add(panel);
    panel.add(jl);
    panel.add(textfield);
    panel.add(jButton);
}

@Override
public void actionPerformed(ActionEvent arg0) {
    s = textfield.getText();
}

public String reportVal(){
    return s;
}

}

Основной файл Java:

    Frame frame = new Frame();
    frame.showFrame();

    Timer t = new Timer(1000, frame);
    t.start();
    int trials = Integer.parseInt(frame.reportVal()); 

Я хочу, чтобы испытания заполнялисьзначение из JFrame, но сейчас поток не ждет, поэтому он выполняется до того, как я могу нажать Enter на фрейме.Я не очень много знаю о компонентах swing / awt (ясно), поэтому я ценю любую помощь, которую вы можете оказать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...