我正在編寫我的第一個LWUIT和Java ME應用程序,並試圖讓按鈕狀態工作。我知道我可以在資源編輯器中做到這一點,但我真的很想知道爲什麼我的代碼無法正常工作。我在下面的代碼看起來行爲不規律。如果我選擇第一個按鈕,它工作正常。當我選擇第二個按鈕時,該按鈕具有所選的前景,但是未選擇狀態的背景。第三個按鈕也是一樣。但是,當我回到第一個按鈕時,第一個按鈕和第三個按鈕都具有選定狀態的背景,第一個按鈕的前景爲選定狀態,第三個按鈕的前景爲未選定狀態。 我試過閱讀教程和在線論壇,但似乎大部分都是可怕的過時。即使是官方LWUIT頁面上的教程,其中的命令也是如此,因此Netbeans將它們顯示爲未解決,而不是棄用。我確定這是一個簡單的錯誤,但我從這段代碼看不到其他按鈕是如何受到選擇或取消選擇影響的,或者爲什麼每次按鈕狀態改變時選擇和取消選擇的樣式都會改變。在LWUIT中設置按鈕狀態
Style buttonUp = new Style();
buttonUp.setAlignment(Component.CENTER);
buttonUp.setBgColor(0x0082ff);
buttonUp.setFgColor(0xffffff);
buttonUp.setMargin(5,5,0,0);
Style buttonDown = new Style();
buttonDown.setAlignment(Component.CENTER);
buttonDown.setBgColor(0xd7d7ee);
buttonDown.setFgColor(0x000000);
buttonDown.setMargin(5,5,0,0);
Container buttons = new Container(new BoxLayout(BoxLayout.Y_AXIS));
Button firstButton = new Button("first");
firstButton.setUnselectedStyle(buttonUp);
firstButton.setSelectedStyle(buttonDown);
firstButton.setPressedStyle(buttonDown);
Button secondButton = new Button("second");
secondButton.setUnselectedStyle(buttonUp);
secondButton.setSelectedStyle(buttonDown);
secondButton.setPressedStyle(buttonDown);
Button thirdButton = new Button("third");
thirdButton.setUnselectedStyle(buttonUp);
thirdButton.setSelectedStyle(buttonDown);
thirdButton.setPressedStyle(buttonDown);
這應該是所有相關的代碼,因爲它是與按鈕,比addComponent調用,添加按鈕的容器和容器的形式,其他交易的唯一部分。
感謝。出於某種奇怪的原因,當我在上面的代碼中向按鈕添加邊框時,情況自行解決。我確信「修復」實際上是一個小故障,因爲添加邊界應該沒有什麼區別。我按照你的建議調整了代碼,現在它工作正常。 – John