私はJavaを初めて使用しています。私はこれを探しましたが、明確な答えは見つかりませんでした。Javaで外部で使用するvoidメソッド内の変数値を変更しますか?
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"
ではない初期化値が得られます。
これは静的変数またはインスタンス変数の場合はyes、そうでない場合はnoです。編集:_predifined変数_を単語や小文字で定義してください – AxelH
プリミティブではなく変更できない場合 - コードを表示してください –
ようこそ!良い質問をするのを助けるために私たちの[SO Question Checklist](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)をよく読んで、良い答えを得てください。 –