中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

控件位置可以配置的Swing桌面是怎么樣的

發布時間:2021-10-29 10:18:08 來源:億速云 閱讀:103 作者:柒染 欄目:編程語言

這篇文章給大家介紹控件位置可以配置的Swing桌面是怎么樣的,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

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

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

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

public interface Arrange {            public String getComponentName();   }

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

public interface ArrangeBottom extends Arrange  public interface ArrangeLeft extends Arrange  public interface ArrangeLogo extends Arrange  public interface ArrangeMainBottom extends Arrange  public interface ArrangeMenuBar extends Arrange  public interface ArrangeRight extends Arrange  public interface ArrangeToolBar extends Arrange

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

控件位置可以配置的Swing桌面是怎么樣的

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

例如:public class ZPanel extends JPanel implements ArrangeRight

protected void paintComponent(Graphics g) {          if (null != wallpaper) {              processBackground(g);          }          System.out.println("f:paintComponent(Graphics g)");      }       public void setBackground() {          wallpaper = new javax.swing.ImageIcon(getClass()                  .getResource("/com/peraglobal/workspace/initcompt/picpanel/kutoku.jpg"));          this.repaint();      }

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

打開配置文件按zlconfig.xml

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

第五:加載配置文件

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

Map<?, ?> lefts = context.getBeansOfType(ArrangeLeft.class);          ArrangeLeft agLeft;           leftPanel.setLayout(new BorderLayout());          JTabbedPane tabLeft = new JTabbedPane();           leftPanel.add(tabLeft);           Iterator<?> it = lefts.entrySet().iterator();          while (it.hasNext()) {              Map.Entry<?, ?> entry = (Map.Entry<?, ?>) it.next();              Object key = entry.getKey();               Class<?> newClass = Class.forName((String) key);              agLeft = (ArrangeLeft) newClass.newInstance();              tabLeft.add((Component) agLeft, agLeft.getComponentName());          }

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

控件位置可以配置的Swing桌面是怎么樣的

關于控件位置可以配置的Swing桌面是怎么樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

曲沃县| 洮南市| 扎囊县| 汉源县| 洛南县| 乌鲁木齐市| 通化市| 霍林郭勒市| 芜湖县| 茶陵县| 永安市| 阿瓦提县| 吐鲁番市| 荆州市| 庐江县| 龙州县| 新巴尔虎右旗| 开原市| 庆城县| 东丽区| 漯河市| 洪泽县| 连山| 屯留县| 厦门市| 五家渠市| 普兰店市| 丹寨县| 德兴市| 广州市| 和顺县| 邵阳市| 大关县| 鸡东县| 娄底市| 来凤县| 农安县| 南宫市| 庆城县| 环江| 湟中县|