2015-01-19 2 views
0

Хорошо. Поэтому я начну и скажу, что это ВСЕ в одном классе.Получение текста из JTextArea и вызов его методу ActionPerformed

Теперь у меня есть куча кнопок, которые отображаются на GamePage, чтобы я мог открыть несколько разных кадров, когда они нажаты. Так. У меня все кнопки работают, и все фреймы открываются отлично. Итак, теперь внутри тех фреймов, которые можно открыть, у меня есть JTextArea. Внутри JTextArea есть место, где я позволяю людям вводить то, что они хотят, и они нажимают кнопку, и в принципе это будет отправлено обратно в метод actionPerformed.

Но ... Я не смог заставить это работать. Вот минимальный минимум, который вам понадобится.

ACTIONPERFORMED МЕТОД

public void actionPerformed(ActionEvent event) 
{ 
    if(event.getActionCommand().equals("M 100")) 
    { 
     math100(); 
    } 
    if(event.getActionCommand().equals("Answer M 100")) 
    { 
     //THIS IS WHERE IF THEY PUSH THE BUTTON ON THE FRAME, 
     //IT WILL SEND THE JTEXTAREA TEXT BACK TO HERE. THEN IT WILL DISPLAY 
     //IF THE ANSWER IS CORRECT OR NOT. BUT I CANT GET THE TEXT TO BE 
     //SENT BACK HERE.... 
    } 

МЕТОДЫ ВОПРОСЫ Это предполагающих послать JTextArea слова, которые входят пользователи, назад к специфическому, если оператор в методе ActionPerformed.

public static void math100() 
{ 
    JFrame m100Frame = new JFrame("100 Point Math Question"); 
    m100Frame.setSize(350,350); 
    m100Frame.setLocationRelativeTo(null); 
    JPanel pane = new JPanel(); 
    m100Frame.setContentPane(pane); 

    JLabel question = new JLabel("<html><p><div WIDTH = 320><center>Round 1,291,293 to the nearest thousands, and round 8.472 to the nearest hundredth.</p><p>Put answers in box below, and have the word 'and' between the two answers.</center></width></div></html>"); 

    JTextArea answerArea = new JTextArea("",10,25); 

    JButton answerButton = new JButton("Answer M 100"); 
    answerButton.addActionListener(new GamePage()); 


    pane.add(question); 
    pane.add(answerArea); 
    pane.add(answerButton); 

    m100Frame.setVisible(true); 
    m100Frame.toFront(); 
} 

То, что я хочу, чтобы это сделать, это сделать так, что JTextArea отправляет текст в этой области после кнопки на MATH100 КАДР выталкивается, к, если заявление, а затем проверяет, является ли то, что они вошли правильно или неправильно ... Но я не могу получить текст для отправки в этот оператор if.

+0

И нам действительно нужно все, что код, чтобы помочь вам в дальнейшем? Разделите его на минимальный, компилируемый пример, который демонстрирует проблему. – Robin

+0

Создайте [MCVE] (http://stackoverflow.com/help/mcve), чтобы помочь нам понять ваш код. – Dando18

+0

Да, я немного сократил код. Все, что вам действительно нужно, это метод ActionPerformed и math100(), после этого я должен уметь кодировать остальные методы. Он по-прежнему создает ту же проблему, где не отправляется текст в JTextArea в оператор if. Как мне закодировать его так, чтобы он это делал? – Nathan

ответ

0

Возьмите JTextField из метода, чтобы другие методы могли его видеть.

Пример:

public class ho{ 

(private or public) JTextArea answerArea; 

    public ho{.....} 


    static method something(){ 

    ....} 

    method actionListener(){ 
    ...} 

Позвольте мне знать, если это работает для вас ...

Смежные вопросы