为毛没人回复我呢 java 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.awt.*;import java.awt.event.*;import java.awt.geom.*;import java.awt.image.*;import javax.swing.*;public class JImagedPopupMenu extends JPopupMenu { private static final long serialVersionUID = 1L; private Font font = new Font("Dialog", Font.BOLD, 13); private ImageIcon imageIcon = null; public JImagedPopupMenu(ImageIcon imageIcon) { this.imageIcon = imageIcon; } public JImagedPopupMenu(String text) { this.imageIcon = createImage(text); } private ImageIcon createImage(String text) { BufferedImage bi = new BufferedImage(30, 1000, BufferedImage.TYPE_INT_ARGB); ImageIcon image = new ImageIcon(bi); Graphics2D g2d = bi.createGraphics(); GradientPaint paint = new GradientPaint(0, 0, Color.yellow, 30, 10, Color.red, true); g2d.setPaint(paint); g2d.fillRect(0, 0, bi.getWidth(), bi.getHeight()); AffineTransform at = new AffineTransform(); at.rotate(-Math.PI / 2); g2d.setTransform(at); g2d.setColor(Color.white); g2d.setFont(font); g2d.drawString(text, -180, bi.getWidth() / 2); return image; } @Override public Insets getInsets() { Insets insets = (Insets) super.getInsets().clone(); insets.left += imageIcon.getIconWidth(); return insets; } @Override public void paint(Graphics g) { super.paint(g); if (imageIcon != null) { Insets insets = getInsets(); g.drawImage(imageIcon.getImage(), insets.left - imageIcon.getIconWidth(), insets.top, null); } } public static void main(String[] args) { final JFrame frame = new JFrame(); frame.setSize(600, 500); frame.setTitle("ImageMenu"); final JImagedPopupMenu menu = new JImagedPopupMenu( "Windows XP Perfessional"); menu.add(new JMenuItem("Winzip 8.0")); menu.addSeparator(); menu.add(new JMenuItem("Programs")); menu.add(new JMenuItem("Document")); menu.add(new JMenuItem("Settings")); menu.add(new JMenuItem("Search")); menu.add(new JMenuItem("Help and Support")); menu.add(new JMenuItem("Run...")); menu.addSeparator(); menu.add(new JMenuItem("Shut Down...")); JLabel label = new JLabel("Right click me to show image popup menu."); label.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()) { menu.show(frame, e.getPoint().x, e.getPoint().y); } } }); frame.getContentPane().add(label, BorderLayout.CENTER); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); }} 小代码,你看下package csdn;import java.awt.MenuItem;import java.awt.PopupMenu;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.InputEvent;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JFrame;import javax.swing.JPanel;public class MyPanel extends JPanel { private static final long serialVersionUID = -4222714206362916660L; PopupMenu popupMenu1 = new PopupMenu(); MenuItem menuItem1 = new MenuItem(); MenuItem menuItem2 = new MenuItem(); MenuItem menuItem3 = new MenuItem(); public MyPanel() { this.setLayout(null); menuItem1.setLabel("menu1"); menuItem2.setLabel("menu2"); menuItem3.setLabel("menu3"); menuItem1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { menuItem1_actionPerformed(e); } }); menuItem2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { menuItem1_actionPerformed(e); } }); menuItem3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { menuItem1_actionPerformed(e); } }); this.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { this_mousePressed(e); } }); popupMenu1.add(menuItem1); popupMenu1.add(menuItem2); popupMenu1.add(menuItem3); this.add(popupMenu1); } void this_mousePressed(MouseEvent e) { int mods = e.getModifiers(); // 鼠标右键 if ((mods & InputEvent.BUTTON3_MASK) != 0) { // 弹出菜单 popupMenu1.show(this, e.getX(), e.getY()); } } void menuItem1_actionPerformed(ActionEvent e) { // 菜单事件 System.out.println("1111111111"); } public static void main(String[] args) { JFrame frame = new JFrame(); frame.add(new MyPanel()); frame.setSize(300, 300); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); }} 【向火龙果、大胡子、宝哥等高手提问】一次性创建多个根文件夹 Java线程的问题(执行次序的疑惑?) 正则捕获html文章标题 链接 和时间 正则问题!!请教 触发器怎么失效了? Vector可不可以用来保存类呢? 还是关于jdk1.5泛型的思考,请大家帮忙 在面板上要显示f(x)=x2的图像? 是x的平方 辞职ed,不爽BOSS没钱,Coding GZ,散! 如何判断SOCKET还是连接着的? 求大神帮忙~ 有两道Java多线程的面试题能不能帮我看看?
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.image.*;
import javax.swing.*;public class JImagedPopupMenu extends JPopupMenu {
private static final long serialVersionUID = 1L;
private Font font = new Font("Dialog", Font.BOLD,
13);
private ImageIcon imageIcon = null; public JImagedPopupMenu(ImageIcon imageIcon) {
this.imageIcon = imageIcon;
} public JImagedPopupMenu(String text) {
this.imageIcon = createImage(text);
} private ImageIcon createImage(String text) {
BufferedImage bi = new BufferedImage(30, 1000,
BufferedImage.TYPE_INT_ARGB);
ImageIcon image = new ImageIcon(bi);
Graphics2D g2d = bi.createGraphics(); GradientPaint paint = new GradientPaint(0, 0, Color.yellow, 30, 10,
Color.red, true);
g2d.setPaint(paint); g2d.fillRect(0, 0, bi.getWidth(), bi.getHeight()); AffineTransform at = new AffineTransform();
at.rotate(-Math.PI / 2); g2d.setTransform(at);
g2d.setColor(Color.white);
g2d.setFont(font);
g2d.drawString(text, -180, bi.getWidth() / 2); return image;
} @Override
public Insets getInsets() {
Insets insets = (Insets) super.getInsets().clone();
insets.left += imageIcon.getIconWidth();
return insets;
} @Override
public void paint(Graphics g) {
super.paint(g);
if (imageIcon != null) {
Insets insets = getInsets();
g.drawImage(imageIcon.getImage(),
insets.left - imageIcon.getIconWidth(), insets.top, null);
}
} public static void main(String[] args) {
final JFrame frame = new JFrame();
frame.setSize(600, 500);
frame.setTitle("ImageMenu");
final JImagedPopupMenu menu = new JImagedPopupMenu(
"Windows XP Perfessional");
menu.add(new JMenuItem("Winzip 8.0"));
menu.addSeparator();
menu.add(new JMenuItem("Programs"));
menu.add(new JMenuItem("Document"));
menu.add(new JMenuItem("Settings"));
menu.add(new JMenuItem("Search"));
menu.add(new JMenuItem("Help and Support"));
menu.add(new JMenuItem("Run..."));
menu.addSeparator();
menu.add(new JMenuItem("Shut Down..."));
JLabel label = new JLabel("Right click me to show image popup menu.");
label.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
menu.show(frame, e.getPoint().x, e.getPoint().y);
}
}
});
frame.getContentPane().add(label, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
import java.awt.PopupMenu;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;import javax.swing.JFrame;
import javax.swing.JPanel;public class MyPanel extends JPanel { private static final long serialVersionUID = -4222714206362916660L; PopupMenu popupMenu1 = new PopupMenu();
MenuItem menuItem1 = new MenuItem();
MenuItem menuItem2 = new MenuItem();
MenuItem menuItem3 = new MenuItem(); public MyPanel() {
this.setLayout(null);
menuItem1.setLabel("menu1");
menuItem2.setLabel("menu2");
menuItem3.setLabel("menu3");
menuItem1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
menuItem1_actionPerformed(e);
}
});
menuItem2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
menuItem1_actionPerformed(e);
}
});
menuItem3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
menuItem1_actionPerformed(e);
}
});
this.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
this_mousePressed(e);
}
});
popupMenu1.add(menuItem1);
popupMenu1.add(menuItem2);
popupMenu1.add(menuItem3);
this.add(popupMenu1);
} void this_mousePressed(MouseEvent e) {
int mods = e.getModifiers();
// 鼠标右键
if ((mods & InputEvent.BUTTON3_MASK) != 0) {
// 弹出菜单
popupMenu1.show(this, e.getX(), e.getY());
}
} void menuItem1_actionPerformed(ActionEvent e) {
// 菜单事件
System.out.println("1111111111");
} public static void main(String[] args) {
JFrame frame = new JFrame();
frame.add(new MyPanel());
frame.setSize(300, 300);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}