gpt4 book ai didi

java - Final 不允许我更改属性

转载 作者:行者123 更新时间:2023-12-01 22:37:31 25 4
gpt4 key购买 nike

我正在尝试更改我的组件属性。就像将它们的对齐方式设置为右对齐或左对齐一样。我在 FlowLayout 面板上有 15 个按钮。

final FlowLayout exL = new FlowLayout(FlowLayout.LEFT, 2, 3);

JPanel panel1 = new JPanel();
panel1.setLayout(exL);

aligncom.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
int x = aligncom.getSelectedIndex();
switch (x) {

case 0: {
exL.setAlignment(FlowLayout.LEFT);
break;
}
case 1: {
exL.setAlignment(FlowLayout.RIGHT);
break;
}
}
}
});

我有这部分代码。 “aligncom”是我的组合框。由于 Java 希望我将 exL 变量声明为 Final,因此我认为我无法更改按钮的属性。有什么办法可以运行这段代码吗?

最佳答案

I think I can't change my buttons' properties

不,那不是真的。 final 适用于变量,仅此而已。它不会阻止对对象的更改。

换句话说,这是无效的:

exL = new FlowLayout(...); // Trying to change a final variable

...但是调用setAlignment等绝对没问题。

关于java - Final 不允许我更改属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26681089/

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