⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 metalinternalframetitlepane.java

📁 Mobile 应用程序使用 Java Micro Edition (Java ME) 平台
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                    closeButton.setBounds(x, y, buttonWidth, buttonHeight);                    if( !leftToRight ) x += buttonWidth;                }            }            if(frame.isMaximizable() && !isPalette ) {                spacing = frame.isClosable() ? 10 : 4;                x += leftToRight ? -spacing -buttonWidth : spacing;                maxButton.setBounds(x, y, buttonWidth, buttonHeight);                if( !leftToRight ) x += buttonWidth;            }                     if(frame.isIconifiable() && !isPalette ) {                spacing = frame.isMaximizable() ? 2                          : (frame.isClosable() ? 10 : 4);                x += leftToRight ? -spacing -buttonWidth : spacing;                iconButton.setBounds(x, y, buttonWidth, buttonHeight);                      if( !leftToRight ) x += buttonWidth;            }                    buttonsWidth = leftToRight ? w - x : x;        }     }    public void paintPalette(Graphics g)  {        boolean leftToRight = MetalUtils.isLeftToRight(frame);        int width = getWidth();        int height = getHeight();            if (paletteBumps == null) {            paletteBumps                 = new MetalBumps(0, 0,                                 MetalLookAndFeel.getPrimaryControlHighlight(),                                 MetalLookAndFeel.getPrimaryControlInfo(),                                 MetalLookAndFeel.getPrimaryControlShadow() );        }        Color background = MetalLookAndFeel.getPrimaryControlShadow();             Color darkShadow = MetalLookAndFeel.getPrimaryControlDarkShadow();        g.setColor(background);        g.fillRect(0, 0, width, height);        g.setColor( darkShadow );        g.drawLine ( 0, height - 1, width, height -1);        int xOffset = leftToRight ? 4 : buttonsWidth + 4;        int bumpLength = width - buttonsWidth -2*4;        int bumpHeight = getHeight()  - 4;        paletteBumps.setBumpArea( bumpLength, bumpHeight );        paletteBumps.paintIcon( this, g, xOffset, 2);    }    public void paintComponent(Graphics g)  {        if(isPalette) {            paintPalette(g);            return;        }        boolean leftToRight = MetalUtils.isLeftToRight(frame);        boolean isSelected = frame.isSelected();        int width = getWidth();        int height = getHeight();            Color background = null;        Color foreground = null;        Color shadow = null;        MetalBumps bumps;        String gradientKey;        if (isSelected) {            if (!MetalLookAndFeel.usingOcean()) {                closeButton.setContentAreaFilled(true);                maxButton.setContentAreaFilled(true);                iconButton.setContentAreaFilled(true);            }            if (selectedBackgroundKey != null) {                background = UIManager.getColor(selectedBackgroundKey);            }            if (background == null) {                background = MetalLookAndFeel.getWindowTitleBackground();            }            if (selectedForegroundKey != null) {                foreground = UIManager.getColor(selectedForegroundKey);            }            if (selectedShadowKey != null) {                shadow = UIManager.getColor(selectedShadowKey);            }            if (shadow == null) {                shadow = MetalLookAndFeel.getPrimaryControlDarkShadow();            }            if (foreground == null) {                foreground = MetalLookAndFeel.getWindowTitleForeground();            }            activeBumps.setBumpColors(activeBumpsHighlight, activeBumpsShadow,                        UIManager.get("InternalFrame.activeTitleGradient") !=                                      null ? null : background);            bumps = activeBumps;            gradientKey = "InternalFrame.activeTitleGradient";        } else {            if (!MetalLookAndFeel.usingOcean()) {                closeButton.setContentAreaFilled(false);                maxButton.setContentAreaFilled(false);                iconButton.setContentAreaFilled(false);            }            background = MetalLookAndFeel.getWindowTitleInactiveBackground();            foreground = MetalLookAndFeel.getWindowTitleInactiveForeground();            shadow = MetalLookAndFeel.getControlDarkShadow();            bumps = inactiveBumps;            gradientKey = "InternalFrame.inactiveTitleGradient";        }        if (!MetalUtils.drawGradient(this, g, gradientKey, 0, 0, width,                                     height, true)) {            g.setColor(background);            g.fillRect(0, 0, width, height);        }        g.setColor( shadow );        g.drawLine ( 0, height - 1, width, height -1);        g.drawLine ( 0, 0, 0 ,0);            g.drawLine ( width - 1, 0 , width -1, 0);        int titleLength = 0;        int xOffset = leftToRight ? 5 : width - 5;        String frameTitle = frame.getTitle();        Icon icon = frame.getFrameIcon();        if ( icon != null ) {            if( !leftToRight )                 xOffset -= icon.getIconWidth();            int iconY = ((height / 2) - (icon.getIconHeight() /2));            icon.paintIcon(frame, g, xOffset, iconY);            xOffset += leftToRight ? icon.getIconWidth() + 5 : -5;        }        if(frameTitle != null) {            Font f = getFont();            g.setFont(f);            FontMetrics fm = SwingUtilities2.getFontMetrics(frame, g, f);            int fHeight = fm.getHeight();            g.setColor(foreground);            int yOffset = ( (height - fm.getHeight() ) / 2 ) + fm.getAscent();            Rectangle rect = new Rectangle(0, 0, 0, 0);            if (frame.isIconifiable()) { rect = iconButton.getBounds(); }            else if (frame.isMaximizable()) { rect = maxButton.getBounds(); }            else if (frame.isClosable()) { rect = closeButton.getBounds(); }            int titleW;            if( leftToRight ) {              if (rect.x == 0) {		rect.x = frame.getWidth()-frame.getInsets().right-2;	      }              titleW = rect.x - xOffset - 4;              frameTitle = getTitle(frameTitle, fm, titleW);            } else {              titleW = xOffset - rect.x - rect.width - 4;              frameTitle = getTitle(frameTitle, fm, titleW);              xOffset -= SwingUtilities2.stringWidth(frame, fm, frameTitle);            }            titleLength = SwingUtilities2.stringWidth(frame, fm, frameTitle);            SwingUtilities2.drawString(frame, g, frameTitle, xOffset, yOffset);            xOffset += leftToRight ? titleLength + 5  : -5;        }          int bumpXOffset;        int bumpLength;        if( leftToRight ) {            bumpLength = width - buttonsWidth - xOffset - 5;            bumpXOffset = xOffset;        } else {            bumpLength = xOffset - buttonsWidth - 5;            bumpXOffset = buttonsWidth + 5;        }        int bumpYOffset = 3;        int bumpHeight = getHeight() - (2 * bumpYOffset);                bumps.setBumpArea( bumpLength, bumpHeight );        bumps.paintIcon(this, g, bumpXOffset, bumpYOffset);    }					     				        public void setPalette(boolean b) {        isPalette = b;	if (isPalette) {            closeButton.setIcon(paletteCloseIcon);         if( frame.isMaximizable() )                remove(maxButton);            if( frame.isIconifiable() )                remove(iconButton);        } else { 	    closeButton.setIcon(closeIcon);            if( frame.isMaximizable() )                add(maxButton);            if( frame.isIconifiable() )                add(iconButton);	}			revalidate();	repaint();    }		         /**     * Updates any state dependant upon the JInternalFrame being shown in     * a <code>JOptionPane</code>.     */    private void updateOptionPaneState() {        int type = -2;        boolean closable = wasClosable;        Object obj = frame.getClientProperty("JInternalFrame.messageType");        if (obj == null) {            // Don't change the closable state unless in an JOptionPane.            return;        }        if (obj instanceof Integer) {            type = ((Integer) obj).intValue();        }        switch (type) {        case JOptionPane.ERROR_MESSAGE:            selectedBackgroundKey =                              "OptionPane.errorDialog.titlePane.background";            selectedForegroundKey =                              "OptionPane.errorDialog.titlePane.foreground";            selectedShadowKey = "OptionPane.errorDialog.titlePane.shadow";            closable = false;            break;        case JOptionPane.QUESTION_MESSAGE:            selectedBackgroundKey =                            "OptionPane.questionDialog.titlePane.background";            selectedForegroundKey =                    "OptionPane.questionDialog.titlePane.foreground";            selectedShadowKey =                          "OptionPane.questionDialog.titlePane.shadow";            closable = false;            break;        case JOptionPane.WARNING_MESSAGE:            selectedBackgroundKey =                              "OptionPane.warningDialog.titlePane.background";            selectedForegroundKey =                              "OptionPane.warningDialog.titlePane.foreground";            selectedShadowKey = "OptionPane.warningDialog.titlePane.shadow";            closable = false;            break;        case JOptionPane.INFORMATION_MESSAGE:        case JOptionPane.PLAIN_MESSAGE:            selectedBackgroundKey = selectedForegroundKey = selectedShadowKey =                                    null;            closable = false;            break;        default:            selectedBackgroundKey = selectedForegroundKey = selectedShadowKey =                                    null;            break;        }        if (closable != frame.isClosable()) {            frame.setClosable(closable);        }    }}  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -