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 + -
显示快捷键?