Java 测试Set和Get方法,但它不起作用
我正在尝试测试Set-and-Get方法,但它似乎不起作用 我在按钮中添加了Java 测试Set和Get方法,但它不起作用,java,Java,我正在尝试测试Set-and-Get方法,但它似乎不起作用 我在按钮中添加了ActionListener,然后在单击按钮时执行它。但是它没有起作用。在一个更大的项目中,我也使用了这种方法,但由于它不起作用,我不得不将它简化为一个更小的程序,以便更容易理解。然而,我还是不明白。你们能帮我指出问题所在吗 代码如下: public class SetAndGet extends JPanel { private int index = 3500; private JButton btPrev; pr
ActionListener
,然后在单击按钮时执行它。但是它没有起作用。在一个更大的项目中,我也使用了这种方法,但由于它不起作用,我不得不将它简化为一个更小的程序,以便更容易理解。然而,我还是不明白。你们能帮我指出问题所在吗
代码如下:
public class SetAndGet extends JPanel {
private int index = 3500;
private JButton btPrev;
private JLabel lbIndex;
public SetAndGet() {
init();
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
private void init() {
setLayout(null);
setBackground(Color.WHITE);
lbIndex = new JLabel(index + "");
lbIndex.setBounds(10, 10, 50, 30);
add(lbIndex);
btPrev = new JButton("Previous");
btPrev.setBounds(100, 10, 80, 30);
btPrev.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// index--; THIS ONE WORKED, OF COURSE
// lbIndex.setText(index + "");
// BUT THIS ONE DIDNT, PLEASE EXPLAIN FOR ME
int i = getIndex();
setIndex(i--);
lbIndex.setText(index + "");
}
});
add(btPrev);
}
public static void main(String[] args) {
JFrame f = new JFrame("Test");
f.setSize(200, 200);
f.setLocationRelativeTo(null);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.add(new SetAndGet());
f.setVisible(true);
}
}
您的getter和setter正在工作,您只是没有更改值。
i--
分配给设定器后,将从i
中减去一
如果要在设置值之前减去一,请使用--i
:
public void actionPerformed(ActionEvent e) {
// index--; THIS ONE WORKED, OF COURSE
// lbIndex.setText(index + "");
// BUT THIS ONE DIDNT, PLEASE EXPLAIN FOR ME
int i = getIndex();
setIndex(--i);
lbIndex.setText(index + "");
}
您的getter和setter正在工作,您只是没有更改值。
i--
分配给设定器后,将从i
中减去一
如果要在设置值之前减去一,请使用--i
:
public void actionPerformed(ActionEvent e) {
// index--; THIS ONE WORKED, OF COURSE
// lbIndex.setText(index + "");
// BUT THIS ONE DIDNT, PLEASE EXPLAIN FOR ME
int i = getIndex();
setIndex(--i);
lbIndex.setText(index + "");
}