【发布时间】:2017-02-15 16:06:16
【问题描述】:
我是 Java 新手。我搜索了这个,但没有找到明确的答案。
有没有办法在 void 方法中更改预定义变量的值,并通过另一个 void 方法使用新值?
我需要什么: 在 Eclipse WindowBuilder 中,单击按钮应该会更改在该按钮之外定义的变量的值。 所以我可以在单击另一个按钮时使用新值。但是,当我单击另一个按钮时,会使用最初定义的值,而不是更改后的值一个。
更新:示例代码:
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
String x = "0";
JButton btn1 = new JButton("Button 1");
btn1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String x = "1";
textField1.setText(x);
}
});
btn1.setBounds(102, 134, 89, 23);
frame.getContentPane().add(btn1);
JButton btn2 = new JButton("Button 2");
btn2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textField2.setText(x);
}
});
btn2.setBounds(232, 134, 89, 23);
frame.getContentPane().add(btn2);
textField1 = new JTextField();
textField1.setBounds(159, 85, 86, 20);
frame.getContentPane().add(textField1);
textField1.setColumns(10);
textField2 = new JTextField();
textField2.setColumns(10);
textField2.setBounds(159, 179, 86, 20);
frame.getContentPane().add(textField2);
}
所以这里x 被初始化为"0"。单击按钮 1,将 x 更改为 "1"。然后,单击按钮 2,给出初始化值 "0" 而不是 "1"。
【问题讨论】:
-
如果这是一个静态或实例变量,是的,如果是本地的,不是。编辑:请用单词和/或小代码定义预定义变量
-
如果它不是原始且不可变的 - 请显示代码
-
欢迎来到 Stack Overflow!请查看我们的SO Question Checklist 以帮助您提出一个好问题,从而得到一个好的答案。
-
如果您提供代码会很有帮助。话虽如此,您要访问方法外的变量,类级别的变量在类内的所有级别都可以访问。希望对您有所帮助!
-
你必须在你的类定义中在这个方法之外定义你的变量。所以你可以用你的按钮来使用它。
标签: java eclipse windowbuilder