【发布时间】:2020-02-17 23:43:37
【问题描述】:
我对 Java 还很陌生,只是想问一下 ActionListener 方法。 我创建了一个 GUI,在一个面板中我想要求用户输入 x 的值并按提交。它看起来像这样: f(x)= [输入字段] - [输入字段] ^2(提交按钮) 我迷路了,不知道在 ActionPerformed 方法中放什么来获取用户输入的值 (如果相关的话,我创建面板、文本字段等的方法也是私有的)
我已经尝试过 x1.getText(),但它似乎无法访问变量,因为 JPanel 方法是私有的,而 ActionPerformed 是公共的
private JPanel panel2()
{
inputPanel.setLayout(new FlowLayout());
JTextField x1 = new JTextField();
JTextField x2 = new JTextField();
JLabel f = new JLabel ("F(x)= ");
JLabel f2= new JLabel (" - ");
JLabel f3 = new JLabel (" ^2 ");
JButton submit1 = new JButton("Submit values");
submit1.addActionListener(this);
inputPanel.add(f);
inputPanel.add(x1);
inputPanel.add(f2);
inputPanel.add(x2);
inputPanel.add(f3);
inputPanel.add(submit1);
}
{
if("submit1".equals(e.getActionCommand()))
{
// and that's where I get lost
}
}
【问题讨论】:
-
需要保密吗?
-
@ThiagoEliasSantos 我已将其设为私有,因为我直接从构造函数调用它来创建 panel1(选项卡式窗格中的一个面板)我想为每个窗格创建一个不同的类,但没有不知道该怎么做,因为我会收到有关静态、非静态上下文的错误。所以我想我会在主类中获取输入值并在不同的类中进行计算,至少在我的脑海中听起来更容易!
-
您的代码 sn-ps 是否来自同一类?如果是这样,
private访问修饰符就无关紧要了。您的问题描述含糊不清。当您向他人描述问题时,不要猜测导致问题的原因。相反,只描述发生了什么。当您尝试x1.getText()时,会发生什么确切地。 -
@MarsAtomic 我收到错误提示找不到符号,是的,两个 sn-ps 都来自同一类
-
什么符号?请不要拐弯抹角,只发布完整的错误消息。当你向人们寻求帮助时,最好预测他们需要什么来帮助你。完整且准确。请记住,您并没有付钱让我们这样做 - 不要让它变得比需要的更难。
标签: java swing input panel jtextfield