上一節:跟我學Java Swing之游戲設計(3)
<!-- frame contents --> <!-- /frame contents -->你有沒有經歷過裝修?盡管它是件勞神費力的事,可現代人還是不遺余力地在裝修上花盡心思。究竟,在這個視覺支配感觀的時代裡,誰會嫌自己家太漂亮呢?今天,就讓我們秉著精益求精的完美主義精神,在上次已經完成的游戲界面裡再做一番細致的裝飾,將裝修進行到底!
JDialog增強型對話框窗口
還記得我們最初做的“關於”功能嗎?雖然“關於”對話框能很好工作,但當你要寫比較長或者是比較復雜的內容時,就會感覺到JOptionPane有些捉襟見肘.
讓我們用JDialog來制作漂亮的對話框吧!JDialog和JFrame一樣同屬頂層容器控件,使用方法JPanel幾乎一樣。下面先來看看我們的第一個JDialog小程序吧:
public class AboutDialog extends JDialog {
JLabel about = new JLabel("關於:這可是JAVA寫的連連看哦!");
public AboutDialog(JFrame frame) {
this.setTitle("About");
this.setSize(320, 200);
about.setHorizontalAlignment(SwingConstants.CENTER);
this.getContentPane().add(about, BorderLayout.CENTER);
this.show();
}
}
然後將主程序中的“關於”部分的代碼修改如下:
if (e.getSource() == about) {
new AboutDialog();
return ;
}
現在運行看看,是不是大氣多了?當然,現在的樣子仍稍嫌簡陋了一點,所以還得再接再勵。這裡告訴大家一點小技巧:假如在程序中加入了JDialog.setDefaultLookAndFeelDecorated(true),對話框窗口的顯示就會使用Java的外觀風格,會比原來的對話窗口漂亮得多!需要注重的是,當使用了Java觀感後,對話框右上角的關閉按鈕就不會顯示出來,因此得自己加上“關閉”按鈕及關閉窗口的事件處理。
自己動手試試,你能做出和我一樣漂亮的對話框嗎(見圖1)?
圖1:漂亮的對話框
黃糖故事
模態窗口和非模態窗口
<!-- frame contents --> <!-- /frame contents -->在Windows中,我們經常會接觸到模態窗口和非模態窗口。所謂模態窗口,就是指當前窗口彈出時,只有關閉此窗口才能繼續進行其它窗口的操作。非模態窗口則是即使不關閉當前的窗口,也可以對後面的的窗口進行操作。最典型的例子就是Windows 中自帶的“記事本”軟件,“字體”功能就是模態窗口,而“查找”功能就是非模態窗口了。
在JDialog中,我們可以用JDialog(Frame owner, boolean modal)來指定對話框的模態或非模態狀態。
在控件上使用Html標簽