这个是看别人改的代码。但是有错误,,,找不到方法来改正错误。。。。今天编了一天的代码,脑细胞都要死完了。真心觉得计算机的工作不好做的啊,好好加油啊。。我的代码啊,不懂了!下面的有错误啊。

 public void JPopMenuDemo(){
      JRadioButtonMenuItem items[]; //菜单项
  Color[] colors={Color.blue,Color.pink,Color.yellow,Color.red,Color.orange,Color.black,Color.green,Color.gray}; //颜色数组
  final JPopupMenu pm; //弹出菜单
      ChangeColorAction action = new ChangeColorAction(); //菜单项事件处理
     String[] str = {"Blue","Pink","Yellow","Red","Orange","green","black","gray"}; //菜单项名称
     ButtonGroup colorGroup=new ButtonGroup(); //实例化按钮组
     pm=new JPopupMenu(); //实例化弹出菜单
     items=new JRadioButtonMenuItem[8]; //初始化数组
     for (int i=0;i<items.length;i++) { 
        items[i]=new JRadioButtonMenuItem(str[i]); //实例化菜单项
        pm.add(items[i]); //增加菜单项到菜单上
        colorGroup.add(items[i]); //增加菜单项到按钮组
        items[i].addActionListener(action); //菜单项事件处理
     }     
               addMouseListener(new MouseAdapter(){  //窗口的鼠标事件处理
       public void mousePressed( MouseEvent event ) {  //点击鼠标
          triggerEvent(event);  //调用triggerEvent方法处理事件
       } 
                 public void mouseReleased( MouseEvent event ) { //释放鼠标
          triggerEvent(event); 
       } 
                private void triggerEvent(MouseEvent event) { //处理事件
          if (event.isPopupTrigger()) //如果是弹出菜单事件(根据平台不同可能不同)
             pm.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]) { //判断事件来自于哪个菜单项
              Color[] colors;
getContentPane().setBackground(colors[i]); //设置窗口背景
              repaint(); //重绘窗口
              return;
        }
     }
  }
}     
       }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值