Java 从JTextArea获取文本,并将其调用到ActionPerformed方法
好的。因此,我将开始说,这是所有在一个类 现在,我在游戏页面上显示了一系列按钮,当按下这些按钮时,我可以打开多个不同的画面。所以我所有的按钮都在工作,所有的框架都开得很好。现在,在那些可以打开的框架内,我有一个JTextArea。在JTextArea中,我允许人们输入他们想要的内容,然后按下按钮,理论上,它将被发送回actionPerformed方法 但是…我没能让它起作用。这是你所需要的最低限度 执行的操作方法Java 从JTextArea获取文本,并将其调用到ActionPerformed方法,java,swing,jtextarea,Java,Swing,Jtextarea,好的。因此,我将开始说,这是所有在一个类 现在,我在游戏页面上显示了一系列按钮,当按下这些按钮时,我可以打开多个不同的画面。所以我所有的按钮都在工作,所有的框架都开得很好。现在,在那些可以打开的框架内,我有一个JTextArea。在JTextArea中,我允许人们输入他们想要的内容,然后按下按钮,理论上,它将被发送回actionPerformed方法 但是…我没能让它起作用。这是你所需要的最低限度 执行的操作方法 public void actionPerformed(ActionEvent e
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方法中的特定if语句
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();
}
publicstaticvoidmath100()
{
JFrame m100Frame=新JFrame(“100分数学题”);
M100机架设置尺寸(350350);
m100Frame.setLocationRelativeTo(空);
JPanel窗格=新的JPanel();
m100Frame.setContentPane(窗格);
JLabel question=new JLabel(将1291293四舍五入到最接近的千分之一,将8.472四舍五入到最接近的百分之一。将答案放在下面的框中,并在两个答案之间加上“和”一词。);
JTextArea answerArea=新的JTextArea(“”,10,25);
JButton answerButton=新JButton(“回答M 100”);
addActionListener(新游戏页面());
窗格.添加(问题);
窗格。添加(应答区);
添加(应答按钮);
m100Frame.setVisible(真);
m100Frame.toFront();
}
我想让它做的是,在按下MATH100帧上的按钮后,让JTextArea将该区域中的文本发送到if语句,然后检查他们输入的内容是否正确……但我无法获取发送到if语句的文本。将JTextField从方法中取出,以便其他方法可以看到它 例如:
public class ho{
(private or public) JTextArea answerArea;
public ho{.....}
static method something(){
....}
method actionListener(){
...}
让我知道这是否对您有效…我们真的需要所有这些代码来帮助您吗?把它简化成一个最小的、可编译的例子来演示这个问题。请创建一个例子来帮助我们理解你的代码。是的,我把代码简化了一点。您真正需要的是ActionPerformed和math100()方法,之后,我应该能够编写其余的方法。它仍然会产生同样的问题,其中is不会将JTextArea中的文本发送到if语句。如何对其进行编码以使其正确?您需要对
JTextArea
进行某种引用,然后您可以简单地调用其getText
方法。更改GamePage
以将JTextArea
作为其构造函数中的参数之一