custompopupmenuui.java

来自「Java GUI Java GUIJava GUIJava GUIJava GU」· Java 代码 · 共 44 行

JAVA
44
字号
import java.awt.*;import java.awt.image.*;import javax.swing.*;import javax.swing.plaf.*;import javax.swing.plaf.metal.*;import javax.swing.border.*;import javax.swing.plaf.basic.*;public class CustomPopupMenuUI extends BasicPopupMenuUI {    public static ComponentUI createUI(JComponent c) {        return new CustomPopupMenuUI();    }        public Popup getPopup(JPopupMenu popup, int x, int y) {        Popup pp = super.getPopup(popup,x,y);        JPanel panel = (JPanel)popup.getParent();        panel.setBorder(new ShadowBorder(3,3));        panel.setOpaque(false);        return pp;    }}class ShadowBorder extends AbstractBorder {    int xoff, yoff;    Insets insets;    public ShadowBorder(int x, int y) {        this.xoff = x;        this.yoff = y;        insets = new Insets(0,0,xoff,yoff);    }        public Insets getBorderInsets( Component c ) {        return insets;    }        public void paintBorder(Component comp, Graphics g, int x, int y, int width, int height) {        g.setColor(Color.black);        g.translate(x,y);        g.fillRect(width-xoff, yoff, xoff, height-yoff);        g.fillRect(xoff, height-yoff, width-xoff, yoff);        g.translate(-x,-y);    }}

⌨️ 快捷键说明

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