溫馨提示×

溫馨提示×

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

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

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

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

這篇文章給大家介紹控件位置可以配置的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

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女