我一直在使用NetBeans
JSlider的一個創建的ChangeEvent,用下面的代碼:如何取一個值,從一個私有方法
public class Slider extends javax.swing.JFrame {
public Slider() {
initComponents;
field.getText();
String fieldVal = field.getText();
jtextField1.setText(fieldVal):
}
public JTextField getField() {
return field;
}
public void setField(JTextField field) {
this.field = field;
}
private void sliderStateChanged(javax.swing.event.ChangeEvent evt) {
int value = slider.getValue();
String val = value + "";
field.setText(val + "%");
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new Slider().setVisible(true);
}
});
}
}
所以,我有一個JTextField
(場)誰是從jSpiner接收值。一切工作正常,但我想採取「val」,並與它做一些計算。
但我不能這樣做,因爲它是在私人方法中,我試圖公開使用Refactor -> Change
方法參數,但它給了我以下警告:只讀文本塊不能重構,並且它不起作用。
我也試圖讓getter和setter,但仍然不工作。我想要的只是拿這個價值。我可以直接從JTextField(字段),但我想也有「%」,所以我不能做計算...有人可以幫我一個想法嗎?我知道我錯了什麼,但不知道錯在哪裏。或者有可能以其他方式在文本字段中添加「%」?我需要一些幫助,謝謝!
最好的問候, 尤利婭
val是一個作用域變量,不是私有成員,它不能通過反射訪問。你可以在任何私人會員中分配val值,並且以後可以使用反射來訪問該會員 – 2014-09-04 12:08:24
你是什麼意思「有%」 – JamesB 2014-09-04 12:09:31
field.setText(val +「%」); - 對不起,我忘記了,我會編輯我的帖子。我正在修復代碼,謝謝 – Iulia 2014-09-04 12:22:36