上一节:跟我学java Swing之游戏设计(3)
你有没有经历过装修?尽管它是件劳神费力的事,可现代人还是不遗余力地在装修上花尽心思。究竟,在这个视觉支配感观的时代里,谁会嫌自己家太漂亮呢?今天,就让我们秉着精益求精的完美主义精神,在上次已经完成的游戏界面里再做一番细致的装饰,将装修进行到底!
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:漂亮的对话框
黄糖故事
模态窗口和非模态窗口
在Windows中,我们经常会接触到模态窗口和非模态窗口。所谓模态窗口,就是指当前窗口弹出时,只有关闭此窗口才能继续进行其它窗口的操作。非模态窗口则是即使不关闭当前的窗口,也可以对后面的的窗口进行操作。最典型的例子就是Windows 中自带的“记事本”软件,“字体”功能就是模态窗口,而“查找”功能就是非模态窗口了。
在JDialog中,我们可以用JDialog(Frame owner, boolean modal)来指定对话框的模态或非模态状态。
在控件上使用Html标签