我目前正在为一个农场设计GUI。该农场由三个演员组成(杂草,豆类植物和农民)。在运行Farm GUI时,它显示了农民种植和从农田中移除杂草的动作。我已经确定了参与者的概率,以确保该领域不会过多。
以下是在Simulator类中声明的。概率如下:
public final double FARMER_CREATION_PROB = 0.01;
public final double BEANPLANT_CREATION_PROB = 0.01;
public final double WEED_CREATION_PROB = 0.01;
我现在正在设计一个单独的GUI,它允许根据用户输入的内容更改上面的变量(和更多)。例如,我有一个JTextField用于杂草创建概率,如果用户输入3,那么我想要FARMER_CREATION_PROB = 3;。
这是我为三个概率创建我的JTextFields(在FarmGUI类中声明):
weedField = new JTextField ();
beanField = new JTextField ();
farmerField = new JTextField();
由于我对Java的理解有限,我尝试了以下内容:
public final double WEED_CREATION_PROB = weedField.getText();
然而,它声明“找不到符号”。我很确定我的方法不是正确的方法。
问题: 如何从GUI获取用户输入并确保将创建概率更改为用户输入的内容?
修改:
首先,感谢您的反馈。
这是我设计的GUI(非常基本的)
[IMG] http://i57.tinypic.com/2j63668.png[/IMG]
GUI的逻辑:Gui的全部目的是让用户能够为每个字段设置值。单击上面GUI中的“运行模拟”后,另一个运行模拟的GUI将显示在单独的框架上。
编辑2 :
我尝试了以下内容(基于@ zaibi099建议),只是想知道它是否正确。
在模拟器类中:
public final double WEED_CREATION_PROB;
在Farm GUI类中:
run.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
double s = Double.parseDouble(weedField.getText());
答案 0 :(得分:0)
你犯的错误:
weedField.getText();
返回字符串,您将其分配给double 解决方案:
public final double FARMER_CREATION_PROB;
以及您要分配的位置:
FARMER_CREATION_PROB = weedField.getText(); // don't forget to convert the text field into double