The selection cannot be launches ,there are no recent launches

x1127856657 2015-10-08 09:55:22
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.MouseAdapter;
//import java.awt.event.MouseListener;
public class Test {
public class JPopMenuDemo extends JFrame{
private static final long serialVersionUID = 1L;
JRadioButtonMenuItem items[];//菜单项
Color[] colors={Color.blue,Color.pink,Color.yellow,Color.red,Color.orange};
//颜色组
JPopupMenu popupMenu;//弹出菜单
public JPopMenuDemo(){
super("右键弹出菜单");//调用父类构造函数
ChangeColorAction action = new ChangeColorAction();//菜单项处理事件
String[] str ={"Blue","Pink","Yellow","Red","Orange"};//菜单项名称
ButtonGroup colorGroup=new ButtonGroup();//实例化按钮组
popupMenu =new JPopupMenu();//实例化弹出菜单
items=new JRadioButtonMenuItem[5];//初始化数组
for(int i=0;i<items.length;i++){
items[i]=new JRadioButtonMenuItem(str[i]);//实例化菜单项
popupMenu.add(items[i]);//增加菜单项到菜单上
colorGroup.add(items[i]);//增加菜单项到按钮
items[i].addActionListener(action);
}
addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent event){
triggerEvent(event);
}
public void mouseReleased(MouseEvent event){
triggerEvent(event);
}
private void triggerEvent(MouseEvent event){
if(event.isPopupTrigger())
popupMenu.show(event.getComponent(),event.getX(),event.getY());
}
});
getContentPane().setBackground(Color.white);//窗口的默认背景色为白色
setSize(230,160);//设置窗口大小
setVisible(true);//设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时退出程序
}
class ChangeColorAction implements ActionListener{//菜单项事件处理
public void actionPerformed(ActionEvent event){
for(int i=0;i<items.length;i++)
if(event.getSource()==items[i]){//判断事件来自于哪个菜单项
getContentPane().setBackground(colors[i]);//设置窗口背景
repaint();//重绘窗口
return;
}
}
}


public void main(String[] args) {
new JPopMenuDemo();

}

}
}


...全文
87 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
x1127856657 2015-10-08
  • 打赏
  • 举报
回复
是通过弹出右键菜单,更改窗口背景色,
rickylin86 2015-10-08
  • 打赏
  • 举报
回复
你要的结果是这样??

package com.ricky.www;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.MouseAdapter;

//import java.awt.event.MouseListener;
public class Test {
	
	public static void main(String[] args){
		JPopMenuDemo.main(args);
	}
	public static class JPopMenuDemo extends JFrame {
		private static final long serialVersionUID = 1L;
		JRadioButtonMenuItem items[];// 菜单项
		Color[] colors = { Color.blue, Color.pink, Color.yellow, Color.red, Color.orange };
		// 颜色组
		JPopupMenu popupMenu;// 弹出菜单

		public JPopMenuDemo() {
			super("右键弹出菜单");// 调用父类构造函数
			ChangeColorAction action = new ChangeColorAction();// 菜单项处理事件
			String[] str = { "Blue", "Pink", "Yellow", "Red", "Orange" };// 菜单项名称
			ButtonGroup colorGroup = new ButtonGroup();// 实例化按钮组
			popupMenu = new JPopupMenu();// 实例化弹出菜单
			items = new JRadioButtonMenuItem[5];// 初始化数组
			for (int i = 0; i < items.length; i++) {
				items[i] = new JRadioButtonMenuItem(str[i]);// 实例化菜单项
				popupMenu.add(items[i]);// 增加菜单项到菜单上
				colorGroup.add(items[i]);// 增加菜单项到按钮
				items[i].addActionListener(action);
			}
			addMouseListener(new MouseAdapter() {
				public void mousePressed(MouseEvent event) {
					triggerEvent(event);
				}

				public void mouseReleased(MouseEvent event) {
					triggerEvent(event);
				}

				private void triggerEvent(MouseEvent event) {
					if (event.isPopupTrigger())
						popupMenu.show(event.getComponent(), event.getX(), event.getY());
				}
			});
			getContentPane().setBackground(Color.white);// 窗口的默认背景色为白色
			setSize(230, 160);// 设置窗口大小
			setVisible(true);// 设置窗口可视
			setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 关闭窗口时退出程序
		}

		class ChangeColorAction implements ActionListener {// 菜单项事件处理
			public void actionPerformed(ActionEvent event) {
				for (int i = 0; i < items.length; i++)
					if (event.getSource() == items[i]) {// 判断事件来自于哪个菜单项
						getContentPane().setBackground(colors[i]);// 设置窗口背景
						repaint();// 重绘窗口
						return;
					}
			}
		}

		public static void main(String[] args) {
			new JPopMenuDemo();

		}

	}
}

x1127856657 2015-10-08
  • 打赏
  • 举报
回复
急急急!!!请求大神赐教,好像缺少资源,但不知道怎么做,

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧