CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

事件处理-各位高手请进

楼主IcanIbelieve(风中残阳)2003-12-01 20:30:15 在 Java / J2SE / 基础类 提问

我准备通过按纽实现椭圆背景改变  
  但几经实验不成功。  
  我刚学java所以各位高手一定帮忙讲详细点。  
  我一定给分。  
  目的是一按按钮是椭圆背景改变颜色  
  希望各位高手一定帮忙。  
  我的代码如下:  
  import   javax.swing.*;  
  import   java.awt.*;  
  import   java.awt.event.*;  
  import   java.awt.geom.*;  
  public   class   FillTest  
  {  
  public   static   void   main(String[]   args)  
  {  
  FillFrame   frame   =   new   FillFrame();  
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  frame.show();  
  }  
  }  
  class   FillFrame   extends   JFrame  
  {  
  public   FillFrame()  
  {  
  setSize(200,200);  
  setTitle("This   is   a   FillFrameTest");  
  FillPanel   panel   =   new   FillPanel();  
  Container   contentPane   =   getContentPane();  
  contentPane.add(panel);  
                  //panel.paintComponent(new   Graphics2D());  
          }  
  }  
  class   FillPanel   extends   JPanel  
  {  
        public   void   paintComponent(Graphics   g)  
        {  
                  super.paintComponent(g);  
                  final   Graphics2D   g2   =   (Graphics2D)g;  
                  double   leftX   =   200;  
                  double   topY   =   300;  
                  double   width   =   200;  
                  double   height   =   200;  
                  final   Rectangle2D   rect   =   new   Rectangle.Double(leftX,topY,width,height);  
                  g2.draw(rect);  
                  JButton   redButton   =   new   JButton("red");  
                  add(redButton);  
                  redButton.addActionListener(new   ActionListener()  
                  {  
                            public   void   actionPerformed(ActionEvent   event)  
                            {  
                                    try{  
                                            rect.setPaint(Color.red);  
                                            rect.fill(rect);  
                                    }  
                                    catch(Exception   e){  
                                            e.printStackTrace();  
                                    }  
                            }  
                  });  
        }  
  }  
  问题点数:0、回复次数:4Top

1 楼Dream_lover()回复于 2003-12-02 01:00:09 得分 0

将错误一起贴出来阿,方便别人看。Top

2 楼Dream_lover()回复于 2003-12-02 01:16:07 得分 0

rect.setPaint(Color.red);  
  rect.fill(rect);  
  这两句是错误的,可以改成   g2.setColor(Color.red);g2.fill(rect);  
  不过rect是定义的一个矩形,所以画出的是矩形。另外颜色的改变可以通过g2.setColor()中的参数改变Top

3 楼IcanIbelieve(风中残阳)回复于 2003-12-02 11:43:45 得分 0

这个没有错误,只是不能改变颜色,按下按纽后颜色不发生改变。你这个方法我试过,但是不行在内部类中不能引用外部变量。所以不行。请大家继续帮忙试一试。Top

4 楼IcanIbelieve(风中残阳)回复于 2003-12-02 11:48:55 得分 0

这样还是不行。本身我上面的代码没有错误。但是就是不能实现颜色的改变。如果用楼上的方法。好象出现不能引用外部变量。所以还是不行。  
            请大家为我设计那事件处理的那一部分。  
          谢谢!!Top

相关问题

  • 事件处理
  • JAVA事件处理
  • 如何处理异常,各位请进
  • 如何在控件缺省的事件处理之前,进行预处理?
  • mfc如何处理事件?高人进来歇歇脚。
  • 进入事件处理以后的this指针是什么
  • 高分,DataGrid模板列中如何进行事件处理
  • jsp中的事件处理如何进行?
  • 动态事件处理??
  • 事件处理的问题

关键词

  • fillframe
  • fillpanel
  • redbutton
  • 高手
  • paintcomponent
  • 改变
  • 颜色
  • 不行
  • 帮忙
  • awt

得分解答快速导航

  • 帖主:IcanIbelieve

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo