成人免费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桌面應用程序

2009-07-14 09:52:10

TableModelESwing

2012-12-07 10:21:39

IBMdW

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

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-16 08:53:03

Swing任務Swing線程

2009-07-10 11:25:48

Swing應用數據驗證

2009-07-10 16:29:32

Swing組件

2009-07-16 16:46:39

Swing窗體
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久在线 | 亚洲性视频网站 | 精品久久电影 | 日本免费一区二区三区 | 97精品超碰一区二区三区 | 欧美久久一级 | 国产精品一区二区久久久久 | 中文字幕亚洲精品 | 高清一区二区三区 | 精品国产乱码久久久久久蜜柚 | 精品国产精品国产偷麻豆 | 男人午夜视频 | 国产真实乱全部视频 | 91人人看| 精品视频一区二区三区 | 国产精品色一区二区三区 | 日韩成人在线一区 | 欧美激情在线精品一区二区三区 | 91综合在线视频 | 成人性视频在线播放 | 99亚洲精品 | 久久最新网址 | 国产精品一区二区免费 | 亚洲国产成人在线 | 小草久久久久久久久爱六 | 国产精品国产a级 | 欧美激情精品久久久久久 | 亚洲福利一区二区 | 国产h在线 | 欧美xxxx性xxxxx高清 | 午夜不卡一区二区 | 国产高清视频一区 | 精品国产欧美一区二区三区不卡 | 午夜视频导航 | 国产亚洲精品久久午夜玫瑰园 | 国产亚韩| 久久久影院 | 草久久| 美日韩免费 | 国产乱码精品一区二区三区中文 | 91久久国产综合久久91精品网站 |