【发布时间】:2014-09-04 11:58:36
【问题描述】:
我使用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 (field) 中获取它,但我也想在其中包含“%”,所以我无法进行计算...有人可以帮我出个主意吗?我知道我做错了什么,但不知道错在哪里。或者是否有可能以其他方式将“%”放在文本字段中?我需要一些帮助,谢谢!
最好的问候, 尤利亚
【问题讨论】:
-
val 是范围变量,不是私有成员,无法通过反射访问。您可以在任何私有成员中分配 val 值,然后可以使用反射访问该成员
-
“拥有%”是什么意思
-
field.setText(val + "%"); - 对不起,我忘了把它,我会编辑我的帖子。我正在尝试修复代码,谢谢
标签: java netbeans slider trygetvalue