當前位置: 首頁>>代碼示例>>Java>>正文


Java JRootPane.getUI方法代碼示例

本文整理匯總了Java中javax.swing.JRootPane.getUI方法的典型用法代碼示例。如果您正苦於以下問題:Java JRootPane.getUI方法的具體用法?Java JRootPane.getUI怎麽用?Java JRootPane.getUI使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在javax.swing.JRootPane的用法示例。


在下文中一共展示了JRootPane.getUI方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: windowStateChanged

import javax.swing.JRootPane; //導入方法依賴的package包/類
public void windowStateChanged(WindowEvent e)
{
    Window window = (Window) e.getSource();

    if (window instanceof JFrame)
    {
        JFrame frame = (JFrame) window;

        JRootPane rootPane = frame.getRootPane();

        if(rootPane.getUI() instanceof LuckRootPaneUI)
        {
            LuckRootPaneUI rootPaneUI = (LuckRootPaneUI) rootPane.getUI();

            rootPaneUI.getTitlePane().setState(e.getNewState());
        }

        if (e.getNewState() == JFrame.MAXIMIZED_BOTH)
        {
        	rootPane.setBorder(null);
        }
        else if (e.getNewState() == JFrame.NORMAL)
        {
        	rootPane.setBorder(UIManager.getBorder(LuckRootPaneUIBundle.FRAME_BORDER));
        }
    }
}
 
開發者ID:freeseawind,項目名稱:littleluck,代碼行數:28,代碼來源:LuckWindowAdapter.java

示例2: layoutContainer

import javax.swing.JRootPane; //導入方法依賴的package包/類
public void layoutContainer(Container parent)
{
    JRootPane root = (JRootPane) parent;
    Rectangle bound = root.getBounds();
    Insets inset = root.getInsets();

    // 獲取內容麵板實際寬度, 減去左右邊框麵積
    // Calculate the actual width
    int w = bound.width - inset.right - inset.left;

    // 獲取內容麵板實際高度, 減去上下邊框麵積
    // Calculate the actual height
    int h = bound.height - inset.top - inset.bottom;

    // 設置層級麵板在根窗格中的位置
    // layout LayeredPane
    if(root.getLayeredPane() != null)
    {
        root.getLayeredPane().setBounds(inset.left, inset.top, w, h);
    }

    // 玻璃窗格是在層級麵板中,所以坐標從(0, 0)開始
    // layout GlassPane
    if(root.getGlassPane() != null)
    {
        root.getGlassPane().setBounds(inset.left, inset.top, w, h);
    }

    int nextY = 0;

    RootPaneUI rootPaneUI = root.getUI();

    if(rootPaneUI instanceof LuckMetalRootPaneUI)
    {
        // 布局標題麵板
        // layout TitlePane
        Component titlePanel = ((LuckMetalRootPaneUI)rootPaneUI).getTitlePane();

        // 如果未取消窗體裝飾
        if (titlePanel != null)
        {
            titlePanel.setBounds(0, nextY, w, titlePanel.getHeight());

            nextY += titlePanel.getHeight();
        }
    }

    // 布局JMenuBar
    // layout JMenuBar
    JMenuBar menuBar = root.getJMenuBar();

    if(menuBar != null && menuBar.isVisible())
    {
        menuBar.setBounds(0, nextY, w, menuBar.getPreferredSize().height);

        nextY += menuBar.getPreferredSize().getHeight();
    }

    // 布局內容麵板
    // layout ContentPane
    root.getContentPane().setBounds(0, nextY, w, h - nextY);
}
 
開發者ID:freeseawind,項目名稱:littleluck,代碼行數:63,代碼來源:LuckMetalRootPaneLayout.java

示例3: layoutContainer

import javax.swing.JRootPane; //導入方法依賴的package包/類
public void layoutContainer(Container parent)
{
    JRootPane root = (JRootPane) parent;
    Rectangle bound = root.getBounds();
    Insets inset = root.getInsets();

    // 獲取內容麵板實際寬度, 減去左右邊框麵積
    // Calculate the actual width
    int w = bound.width - inset.right - inset.left;

    // 獲取內容麵板實際高度, 減去上下邊框麵積
    int h = bound.height - inset.top - inset.bottom;

    // 設置層級麵板在根窗格中的位置
    // Calculate the actual height
    if(root.getLayeredPane() != null)
    {
        root.getLayeredPane().setBounds(inset.left, inset.top, w, h);
    }

    // 布局玻璃窗格
    // layout LayeredPane
    if(root.getGlassPane() != null)
    {
        root.getGlassPane().setBounds(inset.left, inset.top, w, h);
    }

    // 獲取當前內容麵板
    // get current ContentPane
    Container content = root.getContentPane();

    LuckRootPaneUI rootPaneUI = (LuckRootPaneUI) root.getUI();

    // 使用 <code>LuckBackgroundPanel</code>替換當前的內容麵板
    // Use <code>LuckBackgroundPanel</code> replace the current contents of the panel
    if(!(content instanceof LuckBackgroundPanel))
    {
        Window window = SwingUtilities.getWindowAncestor(root);

       	boolean isResizeableOnInit = LuckWindowUtil.isResizable(window);

    	int initStyle = root.getWindowDecorationStyle();

        if(initStyle != JRootPane.NONE)
        {
            //
            LuckTitlePanel titlePanel = rootPaneUI.createTitlePanel(initStyle, isResizeableOnInit);

            LuckBackgroundPanel background = rootPaneUI.createContentPane(titlePanel, content);

            root.setContentPane(background);
        }
    }

    root.getContentPane().setBounds(0, 0, w, h);
}
 
開發者ID:freeseawind,項目名稱:littleluck,代碼行數:57,代碼來源:LuckRootPaneLayout.java


注:本文中的javax.swing.JRootPane.getUI方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。