資源簡介
使用Java制作多風格的窗口實例,可以在系統平臺風格、Motif風格、跨平臺風格這三種風格之間切換,每一種都各有特色,也可有效避免窗口可視化的呆板感覺,讓人更喜歡你的軟件。

代碼片段和文件信息
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.*;
//Download?by?http://www.codesc.net
//顯示多種風格的窗口
public?class?LookAndFeelDemo?extends?Jframe?{
???public?LookAndFeelDemo(){
?????super(“多種風格的窗口“);??//調用父類構造函數
?????Container?container=getContentPane();??//得到容器
?JMenu?menuTheme=new?JMenu(“窗口風格“);??//初始化菜單
?????JMenuItem?itemNative=new?JMenuItem(“系統平臺風格“);??//初始化菜單項
?????JMenuItem?itemMotif=new?JMenuItem(“Motif風格“);
?????JMenuItem?itemmetal=new?JMenuItem(“跨平臺風格“);
?????menuTheme.add(itemNative);??//增加菜單項
?????menuTheme.add(itemMotif);
?????menuTheme.add(itemmetal);
?????itemNative.addActionListener(new?ActionListener(){??//菜單項事件處理
????? public?void?actionPerformed(ActionEvent?event){
????? changeLookAndFeel(“Native“);??//調用方法改變窗口風格
????????}
?????});
?????itemMotif.addActionListener(new?ActionListener(){
????? public?void?actionPerformed(ActionEvent?event){
????? changeLookAndFeel(“Motif“);
????????}
?????});
?????itemmetal.addActionListener(new?ActionListener(){
????? public?void?actionPerformed(ActionEvent?event){
????? changeLookAndFeel(“metal“);
????????}
?????});
?????JMenuBar?menuBar=new?JMenuBar();??//初始化菜單欄
?????menuBar.add(menuTheme);??//增加菜單到菜單欄
?????setJMenuBar(menuBar);??//設置菜單
?????JPanel?panel=new?JPanel();??//初始化一個JPanel
?????panel.setBorder(BorderFactory.createtitledBorder(“組件樣式“));??//設置邊界
?????panel.add(new?JTextField(“文本框:Look?and?feel測試?“));??//增加組件到panel上
?????panel.add(new?JCheckBox(“粗體“));
?????panel.add(new?JCheckBox(“斜體“));
?????panel.add(new?JCheckBox(“下劃線“));
?????panel.add(new?JButton(“確定“));
?????panel.add(new?JButton(“退出“));
?????container.add(panel);??//增加panel到容器上
?????setSize(220200);??//設置窗口尺寸
?????setVisible(true);??//設置窗口可見
?????setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);??//關閉窗口時退出程序
???}
???//改變窗口樣式
???public?void?changeLookAndFeel(String?type){
??????try{
?if?(type.equals(“Native“))?{??//判斷來自于哪個菜單項
? UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());??//設置界面樣式
?}
?else?if?(type.equals(“Motif“))?{
UIManager.setLookAndFeel(“com.sun.java.swing.plaf.motif.MotifLookAndFeel“);
?}
?else?if?(type.equals(“metal“))?{UIManager.setLookAndFeel(
UIManager.getCrossPlatformLookAndFeelClassName());
?}
?javax.swing.SwingUtilities.updateComponentTreeUI(this);??//更新界面
?}
?catch(Exception?ex){??//捕捉錯誤
???????ex.printStackTrace();??//輸出錯誤
?????}
???}
???public?static?void?main(String[]?args){
??????new?LookAndFeelDemo();
???}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????128754??2004-07-21?11:01??codesc.net\Java多種風格的窗口\15-1.bmp
?????文件?????128754??2004-07-21?11:01??codesc.net\Java多種風格的窗口\15-2.bmp
?????文件?????128754??2004-07-21?11:02??codesc.net\Java多種風格的窗口\15-3.bmp
?????文件????????561??2004-07-21?10:48??codesc.net\Java多種風格的窗口\LookAndFeelDemo$1.class
?????文件????????560??2004-07-21?10:48??codesc.net\Java多種風格的窗口\LookAndFeelDemo$2.class
?????文件????????560??2004-07-21?10:48??codesc.net\Java多種風格的窗口\LookAndFeelDemo$3.class
?????文件???????2578??2004-07-21?10:48??codesc.net\Java多種風格的窗口\LookAndFeelDemo.class
?????文件???????2729??2016-05-08?21:16??codesc.net\Java多種風格的窗口\LookAndFeelDemo.java
?????目錄??????????0??2016-05-08?21:14??codesc.net\Java多種風格的窗口
?????目錄??????????0??2016-05-08?21:15??codesc.net
-----------?---------??----------?-----??----
???????????????393250????????????????????10
評論
共有 條評論