gpt4 book ai didi

java - 测试 Set 和 Get 方法但不起作用

转载 作者:行者123 更新时间:2023-12-02 02:10:29 27 4
gpt4 key购买 nike

我正在尝试测试 Set 和 Get 方法,但它似乎不起作用。

我将 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 分配给 setter 后将其减一。

如果您想在设置值之前减一,请使用--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 + "");
}

关于java - 测试 Set 和 Get 方法但不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50114035/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com