成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

控件位置可以配置的Swing桌面

開發 后端
用過Wordpress或者Joomla的朋友一定對他們的靈活的頁面布局印象深刻。在Joomla中,你可以將一個控件,放在頁面的任何一個位置,例如:左邊,右邊,菜單,底部等等。

用過Wordpress或者Joomla的朋友一定對他們的靈活的頁面布局印象深刻。在Joomla中,你可以將一個控件,放在頁面的任何一個位置,例如:左邊,右邊,菜單,底部等等。

所以我也嘗試著在Swing桌面上實現類似的功能,思考以后發現其實swing實現這種功能比利用html頁面實現該功能還簡單。

首先我們定義一個位置接口,實現該接口的類就標示它的位置

  1. public interface Arrange {  
  2.       
  3.     public String getComponentName();  
  4.  

第二:繼承Arrange 接口,定義不用的位置接口,分別有

  1. public interface ArrangeBottom extends Arrange  
  2. public interface ArrangeLeft extends Arrange  
  3. public interface ArrangeLogo extends Arrange  
  4. public interface ArrangeMainBottom extends Arrange  
  5. public interface ArrangeMenuBar extends Arrange  
  6. public interface ArrangeRight extends Arrange  
  7. public interface ArrangeToolBar extends Arrange  

上面的接口標示的位置見下圖:

第三:我們寫一個面板,實現位置接口

例如:public class ZPanel extends JPanel implements ArrangeRight

  1. protected void paintComponent(Graphics g) {  
  2.         if (null != wallpaper) {  
  3.             processBackground(g);  
  4.         }  
  5.         System.out.println("f:paintComponent(Graphics g)");  
  6.     }  
  7.  
  8.     public void setBackground() {  
  9.         wallpaper = new javax.swing.ImageIcon(getClass()  
  10.                 .getResource("/com/peraglobal/workspace/initcompt/picpanel/kutoku.jpg"));  
  11.         this.repaint();  
  12.     }  

第四:在配置文件中配置這個類

打開配置文件按zlconfig.xml

編寫 <bean class="com.peraglobal.workspace.initcompt.picpanel.ZPanel" ></bean>

第五:加載配置文件

我們利用Spring將配置文件中實現了某一接口的類全部拿出,并且加載到指定的位置:

  1. Map<?, ?> lefts = context.getBeansOfType(ArrangeLeft.class);  
  2.         ArrangeLeft agLeft;  
  3.  
  4.         leftPanel.setLayout(new BorderLayout());  
  5.         JTabbedPane tabLeft = new JTabbedPane();  
  6.  
  7.         leftPanel.add(tabLeft);  
  8.  
  9.         Iterator<?> it = lefts.entrySet().iterator();  
  10.         while (it.hasNext()) {  
  11.             Map.Entry<?, ?> entry = (Map.Entry<?, ?>) it.next();  
  12.             Object key = entry.getKey();  
  13.  
  14.             Class<?> newClass = Class.forName((String) key);  
  15.             agLeft = (ArrangeLeft) newClass.newInstance();  
  16.             tabLeft.add((Component) agLeft, agLeft.getComponentName());  
  17.         }  

第六:我們看到我們剛才寫的一個Panel已經加載到了右邊的面板中

原文鏈接:http://javapub.iteye.com/blog/865475

【編輯推薦】

  1. Swing特效:漸顯效果
  2. Java Swing用戶界面設計:序
  3. 用Swing制作精美的圖層疊加圖
  4. 簡述Java圖形用戶界面設計(Swing)
  5. Effective Java 創建和銷毀對象
責任編輯:林師授 來源: javapub的博客
相關推薦

2009-07-15 14:10:26

Swing控件

2009-07-10 09:58:08

Swing控件聽覺反饋

2009-07-16 12:58:50

Swing控件

2009-07-10 13:55:48

Swing控件

2009-07-17 16:09:29

Swing桌面應用程序

2012-12-07 10:21:39

IBMdW

2009-07-14 09:52:10

TableModelESwing

2009-07-14 15:39:34

Swing大多數控件

2009-12-24 15:43:17

WPF控件相對位置

2009-07-15 15:35:59

Swing程序Swing性能

2010-01-05 16:40:28

2009-07-16 08:53:03

Swing任務Swing線程

2019-12-20 13:50:11

LinuxOpenbox

2009-07-15 11:02:32

Swing組件

2009-07-14 15:01:02

AWT和Swing

2009-07-14 17:21:42

Swing組件

2009-07-10 14:41:57

Swing技術

2009-07-10 11:25:48

Swing應用數據驗證

2009-07-10 16:29:32

Swing組件

2009-07-16 16:46:39

Swing窗體
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久国产免费视网址 | 国产在线精品一区二区三区 | 成人综合在线视频 | 97精品国产| 成人午夜电影在线观看 | 农村真人裸体丰满少妇毛片 | 欧美在线观看网站 | 羞视频在线观看 | 国产精品一区二 | 国产精品99久久久久久久久 | 久久国产亚洲 | 91网站在线播放 | 91久久精品一区二区二区 | 亚洲aⅴ| 欧美精品一区三区 | 日韩中文一区二区三区 | 欧美日韩国产一区 | 亚洲国产精品一区二区久久 | 青青草网 | 全免费a级毛片免费看视频免费下 | 久草精品视频 | 四虎影院久久 | 97国产在线视频 | 亚洲欧美日韩在线 | 中文字幕在线精品 | 中文二区 | 亚洲网站在线观看 | 亚洲国产成人精品女人久久久野战 | 欧美理论片在线 | 蜜桃精品在线 | 欧美在线一区二区三区 | 欧美亚洲视频在线观看 | 在线视频一区二区三区 | 精品国产三级 | 国产美女自拍视频 | 中文精品视频 | 欧美精品网 | 久久精点视频 | 精品久久久久久亚洲综合网站 | 日本久久综合 | 亚洲精品一二区 |