精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

淺析Swing實現MDI的方法

開發 后端
本文介紹Swing實現MDI風格界面的基礎是JInternalFrame和JDesktopPane。以及介紹Swing實現MDI的方法。
JConsole是一個基于JMX的GUI工具,用于連接正在運行的JVM,它是一個MDI風格的Java桌面應用。Swing實現MDI風格界面的基礎是JInternalFrame和JDesktopPane。以下是Swing實現MDI的方法:
  1. import java.awt.BorderLayout;  
  2. import java.awt.Container;  
  3. import java.awt.Dimension;  
  4. import java.awt.FlowLayout;  
  5. import java.awt.Insets;  
  6. import java.awt.event.ActionEvent;  
  7. import java.awt.event.ActionListener;  
  8. import java.awt.event.ComponentAdapter;  
  9. import java.awt.event.ComponentEvent;  
  10. import java.beans.PropertyVetoException;  
  11.  
  12. import javax.swing.JButton;  
  13. import javax.swing.JDesktopPane;  
  14. import javax.swing.JFrame;  
  15. import javax.swing.JInternalFrame;  
  16. import javax.swing.JMenuBar;  
  17. import javax.swing.JMenuItem;  
  18. import javax.swing.JPanel;  
  19. import javax.swing.SwingUtilities;  
  20. import javax.swing.plaf.basic.BasicInternalFrameUI;  
  21.  
  22. /**  
  23. * MDIFrame is a frame using JInternalFrame to implements MDI as Word on Windows.  
  24. *   
  25. * @author Cheng  
  26. * @version 1.0.0 for GPF MDI test  
  27. */  
  28. @SuppressWarnings("serial")  
  29. public class MDIFrame extends JFrame {  
  30.    
  31.     /** The desktop pane. */  
  32.     final JDesktopPane desktopPane = new JDesktopPane();  
  33.    
  34.     /** The operation pane with restore and close buttons. */  
  35.     final JPanel opPane = new JPanel();  
  36.    
  37.     /**  
  38.      * Instantiates a new mDI frame.  
  39.      */  
  40.     public MDIFrame(){  
  41.       setTitle("MDI Frame");  
  42.       setSize(600, 550);  
  43.       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  44.     
  45.       final JMenuBar bar = new JMenuBar();  
  46.       JMenuItem exit = new JMenuItem("Exit");  
  47.           exit.addActionListener(new ActionListener(){  
  48.  
  49.               @Override  
  50.               public void actionPerformed(ActionEvent e) {  
  51.                    System.exit(0);  
  52.               }  
  53.      
  54.       });  
  55.       bar.add(exit);  
  56.       // operation pane with two button, set invisible at first  
  57.       opPane.setLayout(new FlowLayout(FlowLayout.TRAILING));  
  58.       JButton restore = new JButton("#");  
  59.       restore.setMargin(new Insets(0, 0, 0, 0));  
  60.       restore.setPreferredSize(new Dimension(15, 15));  
  61.       restore.addActionListener(new ActionListener(){  
  62.  
  63.       @Override  
  64.       public void actionPerformed(ActionEvent e) {  
  65.             InnerFrame i = (InnerFrame)desktopPane.getSelectedFrame();  
  66.             try {  
  67.                 // notice this method, when JInternalFrame set maximun false  
  68.                 // this internal frame will be set as old size  
  69.                 i.setMaximum(false);  
  70.             } catch (PropertyVetoException ex) {  
  71.                 ex.printStackTrace();  
  72.             }  
  73.             i.showNorthPanel();  
  74.             opPane.setVisible(false);  
  75.           }  
  76.      
  77.       });  
  78.       opPane.add(restore);  
  79.       JButton close = new JButton("X");  
  80.       close.setMargin(new Insets(0, 0, 0, 0));  
  81.       close.setPreferredSize(new Dimension(15, 15));  
  82.       close.addActionListener(new ActionListener(){  
  83.  
  84.           @Override  
  85.           public void actionPerformed(ActionEvent e) {  
  86.             JInternalFrame i = desktopPane.getSelectedFrame();  
  87.             i.dispose();  
  88.             opPane.setVisible(false);  
  89.           }  
  90.      
  91.       });  
  92.       opPane.add(close);  
  93.       bar.add(opPane);  
  94.       opPane.setVisible(false);  
  95.       setJMenuBar(bar);  
  96.     
  97.       Container content = getContentPane();  
  98.       content.add(desktopPane, BorderLayout.CENTER);  
  99.       final JPanel ctrlPane = new JPanel();  
  100.       JButton add = new JButton("add");  
  101.       add.addActionListener(new ActionListener(){  
  102.  
  103.           @Override  
  104.           public void actionPerformed(ActionEvent e) {  
  105.               InnerFrame iFrame = new InnerFrame();  
  106.               iFrame.setVisible(true);  
  107.               desktopPane.add(iFrame);  
  108.           }  
  109.      
  110.       });  
  111.       ctrlPane.add(add);  
  112.       content.add(ctrlPane, BorderLayout.SOUTH);  
  113.       setVisible(true);  
  114.     }  
  115.    
  116.     /**  
  117.      * The Class InnerFrame.  
  118.      */  
  119.     class InnerFrame extends JInternalFrame {  
  120.     
  121.       /** The is hidden. */  
  122.       boolean isHidden = false;  
  123.     
  124.       /** The old ui. */  
  125.       BasicInternalFrameUI oldUi = null;  
  126.     
  127.       /**  
  128.        * Instantiates a new inner frame.  
  129.        */  
  130.       public InnerFrame() {  
  131.           oldUi = (BasicInternalFrameUI)getUI();  
  132.           setSize(200, 200);  
  133.           maximizable = true;  
  134.           closable = true;  
  135.           addComponentListener(new ComponentAdapter() {  
  136.               public void componentResized(ComponentEvent e) {  
  137.                   InnerFrame selectedFrame = (InnerFrame)e.getSource();  
  138.                   if(selectedFrame.isMaximum()){  
  139.                       selectedFrame.hideNorthPanel();  
  140.                       opPane.setVisible(true);  
  141.                       try {  
  142.                            selectedFrame.setMaximum(true);  
  143.                       } catch (PropertyVetoException ex) {  
  144.                            ex.printStackTrace();  
  145.                        }  
  146.                    }  
  147.                }  
  148.           });  
  149.       }  
  150.     
  151.       /**  
  152.        * Hide north panel.  
  153.        */  
  154.       public void hideNorthPanel(){  
  155.           ((BasicInternalFrameUI) this.getUI()).setNorthPane(null);  
  156.           this.putClientProperty("JInternalFrame.isPalette", Boolean.TRUE);  
  157.           isHidden = true;  
  158.       }  
  159.     
  160.       /**  
  161.        * Show north panel.  
  162.        */  
  163.       public void showNorthPanel() {  
  164.           this.setUI(oldUi);  
  165.           this.putClientProperty("JInternalFrame.isPalette", Boolean.FALSE);  
  166.           isHidden = false;  
  167.       }  
  168.     
  169.       /* (non-Javadoc)  
  170.        * @see javax.swing.JInternalFrame#updateUI()  
  171.        */  
  172.       public void updateUI() {  
  173.           super.updateUI();  
  174.           if (isHidden) {  
  175.               hideNorthPanel();  
  176.           }  
  177.        }  
  178.     }  
  179.    
  180.     /**  
  181.      * The main method.  
  182.      *   
  183.      * @param args the arguments  
  184.      */  
  185.     public static void main(String[] args) {  
  186.           SwingUtilities.invokeLater(new Runnable(){  
  187.  
  188.               @Override  
  189.               public void run() {  
  190.                    new MDIFrame();  
  191.               }  
  192.      
  193.           });  
  194.      }  
  195. }  

以上是Swing實現MDI的方法,希望大家有用。

【編輯推薦】

  1. 淺談不論是AWT還是Swing模式
  2. 全面比較Swing與SWT
  3. Swing程序中調用JavaFX代碼
  4. 概述Swing大多數控件
  5. 淺談Swing中的Look&Feel
責任編輯:佚名 來源: 電子工業出版社
相關推薦

2009-07-17 16:41:48

actionPerfoSwing

2009-07-15 11:02:32

Swing組件

2009-07-17 11:30:44

Swing Image

2009-07-10 10:37:50

Swing Set示例

2009-07-16 09:54:44

LookupEventSwing線程

2009-07-15 16:03:26

Swing線程

2009-07-15 16:50:07

Swing項目

2009-07-16 17:01:09

Swing字符串

2009-07-10 14:20:01

AcceleratorJava Swing

2009-07-15 13:46:26

Swing體系結構

2009-09-17 08:47:00

Linq插入數據

2009-09-28 10:35:45

Silverlight

2009-09-07 09:36:29

C# DisposeDispose方法

2009-07-14 14:00:47

iData技術

2009-07-15 17:33:08

Swing客戶端

2009-07-10 17:24:07

Swing應用程序

2012-01-17 17:21:24

JavaSwing

2009-07-14 15:12:36

SwingSWT和AWT

2009-10-12 10:33:11

Javascript替

2009-12-23 09:04:41

LINQ通用分頁
點贊
收藏

51CTO技術棧公眾號

av一本久道久久波多野结衣| 一区二区三区精品99久久| 久久久天堂国产精品| 亚洲av无码一区二区乱子伦| 欧美韩日一区| 日韩欧美123| 欧美日韩精品在线一区二区| 番号集在线观看| 狠狠色狠狠色合久久伊人| 欧美激情在线视频二区| 亚洲成人网在线播放| 亚洲青青一区| 欧美日韩美女在线| 久久久一二三四| 欧洲精品久久一区二区| 蜜桃视频在线一区| 国产69精品久久久久99| 三区四区在线观看| 99ri日韩精品视频| 欧美日韩精品免费| 成人免费观看视频在线观看| 成人福利片网站| 91久色porny| 国产一区二区丝袜| 免费观看一区二区三区毛片| 在线观看日韩| 亚洲无限av看| 久久久久久婷婷| 欧美性生活一级| 欧美日韩中文字幕在线| 日韩一级片一区二区| 成人亚洲综合天堂| 91在线丨porny丨国产| 96精品久久久久中文字幕| 天干夜夜爽爽日日日日| 亚洲天堂激情| 久久精品久久久久电影| 国产91丝袜美女在线播放| 加勒比久久高清| 欧美电视剧在线看免费| 中文字幕一区二区在线观看视频| 丝袜美腿一区| 精品福利视频导航| www.成年人视频| 里番在线观看网站| 国产精品视频线看| 欧美成人蜜桃| 无码国产精品96久久久久| 国产成人精品亚洲午夜麻豆| 国产精品一区二区女厕厕| 无码人妻精品一区二区| 免费日韩av片| 91成人国产在线观看| 欧美日韩中文视频| 国产精品videossex久久发布| 久久躁狠狠躁夜夜爽| 任你操精品视频| 成人情趣视频| 在线视频欧美日韩精品| 性高潮久久久久久久| 免费短视频成人日韩| 亚洲精品资源在线| 亚洲一级中文字幕| 国产综合久久久| 亚洲丝袜在线视频| 色欲狠狠躁天天躁无码中文字幕 | 国产日韩精品入口| 久久精品99北条麻妃| 美腿丝袜亚洲综合| 亚洲一区二区三区777| 国产男女猛烈无遮挡| 国产在线视频不卡二| 成人性生交大片免费观看嘿嘿视频| 亚洲午夜激情视频| 国产一区在线观看视频| 成人久久18免费网站漫画| 午夜久久久久久久久久| 成人av在线网站| 欧美极品视频一区二区三区| 国模吧精品人体gogo| 国产精品久久久久久久浪潮网站| 亚洲制服中文| 欧美videossex另类| 天天影视涩香欲综合网| 日韩中文字幕二区| 国产成人久久精品一区二区三区| 欧美videofree性高清杂交| 69亚洲乱人伦| 激情五月综合| 麻豆国产精品va在线观看不卡| 国产一级一级片| 亚洲欧美日本日韩| 国产日韩欧美成人| 免费观看毛片网站| 国产欧美精品区一区二区三区| 天天干天天色天天爽| 狠狠操一区二区三区| 在线一区二区观看| 四虎国产精品永久免费观看视频| 丝袜美腿一区二区三区动态图| 最近2019中文字幕在线高清| 久久久精品国产sm调教| 三级不卡在线观看| 国产a一区二区| 福利在线播放| 亚洲高清久久久| 色天使在线观看| 欧美激情极品| 欧美成aaa人片在线观看蜜臀| 国产成人无码一区二区三区在线| 蜜臀av性久久久久蜜臀aⅴ| 国产一区福利视频| 黄色在线观看网站| 欧洲国产伦久久久久久久| 美女流白浆视频| 日韩一区自拍| 日韩av不卡电影| 亚洲精品国产av| 国产精品毛片高清在线完整版| 鲁一鲁一鲁一鲁一色| 北岛玲精品视频在线观看| 亚洲人成免费电影| 国产午夜福利片| 加勒比av一区二区| 色吧亚洲视频| 亚洲欧洲高清| 337p日本欧洲亚洲大胆色噜噜| 欧美另类videoxo高潮| 老司机精品久久| 国产一区二区三区四区五区在线| caoporn免费在线| 欧美视频一区二区三区在线观看| 疯狂揉花蒂控制高潮h| 午夜欧美视频| 成人午夜在线影院| 在线看黄色av| 欧美色图免费看| 亚洲综合色一区| 先锋a资源在线看亚洲| 国产精品视频在线免费观看 | 国产日产欧美精品一区二区三区| 少妇人妻大乳在线视频| 日韩高清二区| 美女久久久久久久| 国产特级aaaaaa大片| 中文字幕在线视频一区| 中文字幕天天干| 欧美日韩黑人| 国产成人精品电影| 国产黄色在线| 在线观看日韩一区| 国产精品密蕾丝袜| 丝袜脚交一区二区| 日韩国产在线一区| 91在线成人| 日韩中文娱乐网| 91女人18毛片水多国产| 亚洲欧洲性图库| 午夜诱惑痒痒网| 91tv精品福利国产在线观看| 91精品啪aⅴ在线观看国产| 日本中文字幕在线播放| 欧美精品一卡两卡| 黄色一级片中国| 国产99精品国产| 日日摸日日碰夜夜爽无码| 日本在线中文字幕一区| 欧美性在线视频| 久久精品国产亚洲a∨麻豆| 欧美午夜精品一区| 天海翼在线视频| 国产丶欧美丶日本不卡视频| www.xxx麻豆| 日韩大片在线免费观看| 国产成人亚洲精品| 老司机免费在线视频| 精品1区2区在线观看| 中文字幕一区二区三区精品| 久久精子c满五个校花| 国产原创精品在线| 欧美黄在线观看| 久久亚洲高清| 亚洲伦理一区二区| 亚州精品天堂中文字幕| 高清在线观看av| 欧美大片国产精品| 亚洲天堂五月天| 亚洲欧美日韩国产中文在线| 性猛交╳xxx乱大交| 久久不射网站| 国产精品12p| 欧美毛片免费观看| 国产原创欧美精品| 精品三级久久| 日韩中文在线视频| 污视频在线免费观看| 欧美日韩一区二区不卡| 免费中文字幕在线观看| 国产亚洲欧美在线| 第一页在线视频| 日韩**一区毛片| 蜜臀精品一区二区| 久久激情电影| 国产一区二区免费电影| 四虎在线精品| 欧美一区二区三区免费观看| aa在线视频| 亚洲系列中文字幕| 天堂在线视频观看| 91精品国产欧美日韩| 日韩精品成人免费观看视频| 亚洲精品国产成人久久av盗摄| 男人操女人动态图| 成人免费毛片高清视频| 日韩欧美亚洲另类| 免费在线成人| 日韩激情视频一区二区| 久久中文亚洲字幕| 欧洲精品国产| 女人抽搐喷水高潮国产精品| 亚洲free性xxxx护士白浆| 3d性欧美动漫精品xxxx软件| 欧美国产在线电影| caoporm免费视频在线| 日韩最新在线视频| 国产精品一级伦理| 日韩国产精品亚洲а∨天堂免| xxxwww在线观看| 在线播放国产精品二区一二区四区| 一二三区免费视频| 色一情一乱一乱一91av| 日韩精品――中文字幕| 亚洲国产日韩在线一区模特| 一区二区在线观看免费视频| 中文字幕日韩精品一区| 久久国产柳州莫菁门| 久久婷婷综合激情| 久久人人妻人人人人妻性色av| 成人永久aaa| 又色又爽又黄18网站| 国产成人午夜精品5599| 在线观看日本www| 九色|91porny| 久久6免费视频| 另类综合日韩欧美亚洲| 亚洲 激情 在线| 日本成人中文字幕| 91制片厂毛片| 久久超碰97人人做人人爱| 国产三级三级看三级| 男男成人高潮片免费网站| 欧美性猛交xxx乱久交| 丝袜亚洲另类欧美综合| 午夜精品在线免费观看| 免费一区二区视频| 亚洲a级黄色片| 国产一级精品在线| 成人做爰69片免费| 91视频观看免费| 91激情视频在线观看| 亚洲国产岛国毛片在线| 性色国产成人久久久精品| 日韩美女精品在线| 青青草偷拍视频| 亚洲一区二区在线免费观看视频 | 国产精品伦理久久久久久| 宅男噜噜99国产精品观看免费| 天天综合久久| 岛国大片在线播放| 久久都是精品| 超碰成人在线播放| 国产福利视频一区二区三区| 国产人妻黑人一区二区三区| 99re这里只有精品6| 亚洲精品色午夜无码专区日韩| 国产精品美女久久久久久2018| 欧美日韩黄色网| 五月婷婷欧美视频| 中文字幕91爱爱| 欧美一级在线视频| 四虎影院在线域名免费观看| 在线视频欧美性高潮| 性网站在线观看| 青青精品视频播放| 国产高清亚洲| 久久精品人人做人人爽电影| 欧美三级情趣内衣| 国产黄色激情视频| 视频一区二区三区入口| 国产精品探花在线播放| 久久亚洲精华国产精华液| 国产高清视频免费在线观看| 午夜精品影院在线观看| 一级黄色大毛片| 亚洲国产精品国自产拍av秋霞| 第九色区av在线| 欧美激情视频三区| 国产极品嫩模在线观看91精品| 国产经典一区二区三区| 欧美理论在线播放| 日韩五码在线观看| 欧美aaaaa成人免费观看视频| 又黄又色的网站| 国产精品天美传媒| 在线观看亚洲天堂| 欧美一区午夜精品| 国产高清视频在线| 4p变态网欧美系列| 2023国产精华国产精品| 亚洲欧美日产图| 性欧美xxxx大乳国产app| 久久av一区二区三| 成人欧美一区二区三区在线播放| 亚洲熟女综合色一区二区三区| 日韩一级在线观看| 97电影在线看视频| 人体精品一二三区| 蜜桃久久久久| 男人的天堂视频在线| 免费成人在线视频观看| 免费看污黄网站在线观看| 一区二区三区不卡在线观看 | 日韩精品一区二区三区在线播放 | 日本一区二区三级电影在线观看| 亚洲国产精品午夜在线观看| www黄色网址| 日本久久精品电影| 日本免费网站在线观看| 久久成人国产精品| 国产精品天堂蜜av在线播放| 久久久久天天天天| 亚洲九九精品| av电影在线播放| 亚洲一区视频在线| www日本在线| 米奇精品一区二区三区在线观看| 国产毛片精品久久| 亚洲成人自拍| 日韩二区在线观看| 久久久久久亚洲中文字幕无码| 亚洲福中文字幕伊人影院| jizz国产视频| 久久999免费视频| 日韩欧美一级| 成人高清dvd| 国产剧情一区在线| 欧美日韩在线国产| 日韩欧美黄色影院| 乱插在线www| 国产精品一级久久久| 精品91在线| 三级视频网站在线观看| 亚洲成人免费在线观看| 神马久久久久久久久久| 欧美精品久久久久久久久| av在线亚洲色图| 国产96在线 | 亚洲| 97se狠狠狠综合亚洲狠狠| 亚洲一区欧美在线| 亚洲免费成人av电影| 日韩中文影院| 亚洲一卡二卡区| 国精产品一区一区三区mba视频| 久久国产高清视频| 欧美zozozo| 超级白嫩亚洲国产第一| 美乳视频一区二区| 日韩国产在线观看一区| 91av手机在线| 精品卡一卡二卡三卡四在线| 91av久久| 欧美高清一区二区| 久久国产免费看| 精品99久久久久成人网站免费 | 日韩一区在线播放| xxxwww在线观看| 欧美一级高清免费播放| 欧美亚洲国产激情| 三级黄色片免费看| 天天综合网 天天综合色| 川上优的av在线一区二区| 国产欧美日韩综合精品| 国产精品mm| 色欲狠狠躁天天躁无码中文字幕| 欧美一区午夜精品| 在线视频超级| 中文字幕一区二区三区最新| 成人激情视频网站| 特级西西444www高清大视频| 久久成人人人人精品欧| 亚洲第一二三区| 香蕉视频xxx| 日韩欧美成人精品| 国产网友自拍视频导航网站在线观看| 粉嫩av免费一区二区三区| 免费一区二区视频| 日韩高清精品免费观看| 久久久国产精品x99av| 人妖一区二区三区| 伊人国产精品视频|