我試圖更改我的組件屬性。就像將它們的對齊方式設置爲向右或向左我在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,所以我認爲我無法更改我的按鈕的屬性。有什麼辦法可以運行這段代碼嗎?
那麼,你有沒有試過運行該代碼?它會運行良好。 'final'只是說對象的引用(如果它是一個對象)不能改變;它不會阻止對該對象的調用方法,即使所述方法改變了它。變更對象不會改變其引用。 – fge 2014-10-31 18:23:04
是的,我試着運行這段代碼,但沒有任何變化。也許我在其他代碼上做了錯誤的事情。 – HalilM 2014-10-31 18:29:32