-
大小: 17KB文件類型: .rar金幣: 2下載: 1 次發(fā)布日期: 2021-06-17
- 語(yǔ)言: Java
- 標(biāo)簽:
資源簡(jiǎn)介
使用Java制作多風(fēng)格的窗口實(shí)例,可以在系統(tǒng)平臺(tái)風(fēng)格、Motif風(fēng)格、跨平臺(tái)風(fēng)格這三種風(fēng)格之間切換,每一種都各有特色,也可有效避免窗口可視化的呆板感覺,讓人更喜歡你的軟件。

代碼片段和文件信息
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.*;
//Download?by?http://www.codesc.net
//顯示多種風(fēng)格的窗口
public?class?LookAndFeelDemo?extends?Jframe?{
???public?LookAndFeelDemo(){
?????super(“多種風(fēng)格的窗口“);??//調(diào)用父類構(gòu)造函數(shù)
?????Container?container=getContentPane();??//得到容器
?JMenu?menuTheme=new?JMenu(“窗口風(fēng)格“);??//初始化菜單
?????JMenuItem?itemNative=new?JMenuItem(“系統(tǒng)平臺(tái)風(fēng)格“);??//初始化菜單項(xiàng)
?????JMenuItem?itemMotif=new?JMenuItem(“Motif風(fēng)格“);
?????JMenuItem?itemmetal=new?JMenuItem(“跨平臺(tái)風(fēng)格“);
?????menuTheme.add(itemNative);??//增加菜單項(xiàng)
?????menuTheme.add(itemMotif);
?????menuTheme.add(itemmetal);
?????itemNative.addActionListener(new?ActionListener(){??//菜單項(xiàng)事件處理
????? public?void?actionPerformed(ActionEvent?event){
????? changeLookAndFeel(“Native“);??//調(diào)用方法改變窗口風(fēng)格
????????}
?????});
?????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);??//設(shè)置菜單
?????JPanel?panel=new?JPanel();??//初始化一個(gè)JPanel
?????panel.setBorder(BorderFactory.createtitledBorder(“組件樣式“));??//設(shè)置邊界
?????panel.add(new?JTextField(“文本框:Look?and?feel測(cè)試?“));??//增加組件到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);??//設(shè)置窗口尺寸
?????setVisible(true);??//設(shè)置窗口可見
?????setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);??//關(guān)閉窗口時(shí)退出程序
???}
???//改變窗口樣式
???public?void?changeLookAndFeel(String?type){
??????try{
?if?(type.equals(“Native“))?{??//判斷來(lái)自于哪個(gè)菜單項(xiàng)
? UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());??//設(shè)置界面樣式
?}
?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){??//捕捉錯(cuò)誤
???????ex.printStackTrace();??//輸出錯(cuò)誤
?????}
???}
???public?static?void?main(String[]?args){
??????new?LookAndFeelDemo();
???}
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????128754??2004-07-21?11:01??codesc.net\Java多種風(fēng)格的窗口\15-1.bmp
?????文件?????128754??2004-07-21?11:01??codesc.net\Java多種風(fēng)格的窗口\15-2.bmp
?????文件?????128754??2004-07-21?11:02??codesc.net\Java多種風(fēng)格的窗口\15-3.bmp
?????文件????????561??2004-07-21?10:48??codesc.net\Java多種風(fēng)格的窗口\LookAndFeelDemo$1.class
?????文件????????560??2004-07-21?10:48??codesc.net\Java多種風(fēng)格的窗口\LookAndFeelDemo$2.class
?????文件????????560??2004-07-21?10:48??codesc.net\Java多種風(fēng)格的窗口\LookAndFeelDemo$3.class
?????文件???????2578??2004-07-21?10:48??codesc.net\Java多種風(fēng)格的窗口\LookAndFeelDemo.class
?????文件???????2729??2016-05-08?21:16??codesc.net\Java多種風(fēng)格的窗口\LookAndFeelDemo.java
?????目錄??????????0??2016-05-08?21:14??codesc.net\Java多種風(fēng)格的窗口
?????目錄??????????0??2016-05-08?21:15??codesc.net
-----------?---------??----------?-----??----
???????????????393250????????????????????10
評(píng)論
共有 條評(píng)論