背景:我正在研究一個「來自地獄的GUI」程序。啓動後,如何更改我的JFrame的佈局管理器?
問題:我需要將我的JFrame的佈局管理器從構造函數集BorderLayout更改爲FlowLayout。
目的:在一個按鈕被按下後,它會以非常快的速度完成很多次,然後結束在一個佈局管理器或另一個佈局管理器上。
我該如何做到最好?這裏有一些(工作)代碼,如果它有幫助的話:
if (goodVibes)
{
final Timer t = new Timer(100, null);
ActionListener changeStyle = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int count = 100;
// Insert layout manager switching code here
count--;
if (count <= 0)
t.stop();
}
};
}
在此先感謝您的任何指導!
您明白,Java Swing事件線程機制的工作方式,您將不會看到任何這些佈局交換?所有你會看到的是最後的佈局?這段代碼的目的是什麼?你想讓用戶從中體驗到什麼?也許你最好的選擇是使用CardLayout和Swing Timer。 – 2012-03-21 18:53:37
我假設代碼缺少't.addActionListener(changeStyle); t.start();',否則不會發生太多事情。 – 2012-03-21 18:57:05
@ TomHawtin-tackline哈哈是的。這是四個類似的代碼塊中的一個,我確實記得前三個塊中的這兩行。 )編輯:我實際上使用't.addActionListener(flashColors);','t.setRepeats(true);'和't.start();'。 – 2012-03-21 18:59:06