2012-11-06 32 views
1

我有這個想法,我想實現到我的項目中。 我知道這是可行的,但我不知道從哪裏開始。Jpanel中的動畫組件

我有一個JPanel, 中將會有一個Jbutton,一個JLabel,一個ComboBox和一個JtextArea。

最初,我的面板上只有JtextArea和JButton。

當我按下按鈕,組合框和一個JLabel將在滑動或淡出,或下拉,或事件轉動英寸

那麼我將如何做到這一點,我知道我必須使用圖形g^,repaint()。做Jlabel很容易,但是組合框怎麼樣。

我應該將組合框和Jlabel添加到單獨的Jpanel中並使該面板動畫,但即使如此,我也不知道如何使此面板運動。

請幫助我,例如,將不勝感激

謝謝!

+1

[什麼試過?](http://www.whathaveyoutried.com) –

+0

我試過了,我有基本框架,我的JLabel四處移動,但我不知道如何使組合框移動。 –

+0

@LanNguyen - 完全一樣。它們都是'JComponent's,所有人都可以使用相同的方法。 (也就是說,如果您使用的是JComboBox) – Ben

回答

2

要開始,你可能需要研究這些條款:

  • 幻燈片佈局(感謝@Andrew湯普森)
  • setLocation
  • TimerTask的(我想,或者只是定時器)
  • 重挫圖形對象

一旦你知道這些東西,你會在一個位置,使設計決策次在你問。

這聽起來像你會有一個幻燈片佈局的子面板。儘可能不要使用空佈局。

您將在計時器任務中爲每個滴答設置其位置或樣式。

如果你設置了一個樣式,你需要克隆你的圖形對象,以避免「破壞」它 - 也就是在圖形對象的副本上工作,所以原始圖像不會被意外更改或重新繪製而你正在努力。

+0

*「null layout」*如果您有需要的邏輯,在滑動過程中定位組件,它應該被封裝在一個'SlideLayout'中。這對'null'佈局來說不是一個好的例子。 –

+0

@AndrewThompson - 編輯反映。 – Ben

+1

+1,但也許我們應該爲新手明確指出'SlideLayout'代表**自定義**佈局。 –