画一个渐变色球,用内部类实现监听两个button

来源:互联网 发布:手机淘宝首页红包 编辑:程序博客网 时间:2024/03/29 04:04
import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Circle  {JFrame jframe;JLabel jlabel;public void draw_circle(){jframe = new JFrame();//创建framejlabel = new JLabel("我想看你的笑颜。");//创建标签并初始显示文字“我想看你的笑颜。”JButton jbutton_label = new JButton("我想");//创建按钮,按钮显示文字 “我想”JButton jbutton = new JButton("点击");//创建另一个按钮显示文字“点击”PaintCircle paint_circle = new PaintCircle();//创造JPanel的子类,并覆盖父类方法paintComponent(),实现画圆的方法jframe.getContentPane().add(BorderLayout.WEST,jlabel);//把标签加入到frame中并放置到左边jframe.getContentPane().add(BorderLayout.EAST,jbutton_label);//把控制标签的按钮加入frame并放置到右边jframe.getContentPane().add(BorderLayout.CENTER,paint_circle);//把填充的画布居中放置jframe.getContentPane().add(BorderLayout.SOUTH,jbutton);//把控制重绘方法调用的按钮放置在最下方jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//windows关闭时结束程序jbutton.addActionListener(new PaintListener());//向监听列表中注册,向监听的注册方法传入对象jbutton_label.addActionListener(new LabelListener());//同上jframe.setSize(400,400);//指定frame大小jframe.setVisible(true);//设定frame是否可见,true可见}   /*创建内部类实现接口ActionListener中的actionPerformed()方法进行对事件的处理,内部类可以自由读取Circle实例*/  class PaintListener implements ActionListener{public void actionPerformed(ActionEvent event){jframe.repaint();}}/*创建内部类实现接口ActionListener中的actionPerformed()方法进行对事件的处理,内部类可以自由读取Circle实例*/class LabelListener implements ActionListener{public void actionPerformed(ActionEvent event){jlabel.setText("我想占有你 。     ");}}public static void main(String [] args){Circle start = new Circle();start.draw_circle();}}//创造JPanel的子类,并覆盖父类方法paintComponent(),实现画圆的方法class PaintCircle extends JPanel{public void paintComponent(Graphics g){Graphics2D g2d = (Graphics2D)g;//使用Graphics2D的方法对g进行强制类型转换g.fillRect(0,0, this.getWidth(),this.getHeight());//从0,0坐标使用默认颜色填充一个矩形int red = (int)(Math.random()*255);int green = (int)(Math.random()*255);int yellow = (int)(Math.random()*255);Color startColor = new Color(red,green,yellow);//随机产生一种颜色,Color没有无参数的构造函数int red1 = (int)(Math.random()*255);int green1 = (int)(Math.random()*255);int yellow1 = (int)(Math.random()*255);Color endColor = new Color(red1,green1,yellow1);//随机产生一种颜色,Color没有无参数的构造函数GradientPaint set = new GradientPaint(70,70,startColor,150,150,endColor);//产生一个色彩从70,70坐标到坐标150,150的另一个色彩的变化g2d.setPaint(set);g2d.fillOval(70,70,150,150);//使用set对象的颜色填充70,70坐标,宽为150,高为150}}



原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 江西高考二本差5分上线怎么办 湖南文科考生二本上线差两分怎么办 在商场试鞋自己鞋子被偷怎么办 网易账号忘记密码更换手机了怎么办 一人在外地钱花光了怎么办 银行卡被公安冻结卡里的钱怎么办 在店铺不上班了押工资了怎么办? 在银座的押金拿不出来怎么办 唯品会退货时快递单号填错了怎么办 天猫店铺快递已发到不了怎么办 中邮消费贷没审核通过怎么办 房贷扣款日忘存钱了怎么办 农业银行卡输密码次数超限载怎么办 农业银行卡丢了不知道卡号怎么办 银行卡短信扣费失败怎么恢复怎么办 歌华有线遥控器点了tvav怎么办 一级注册结构延续注册晚了怎么办 在京东买的黄金项链买贵了怎么办 京东上面买的商品不符合实际怎么办 在京东买东西卖家迟迟不发货怎么办 淘宝商家买的货一直不到怎么办 国美买的格力空调发票丢了怎么办 国美实体店发票丢了怎么办 我在苏宁买的冰箱发票丢了怎么办 信用卡家庭电单位电话换了怎么办 常住户囗和实际住址没房子怎么办 退货淘宝极速退款 卖家拒收怎么办 淘宝退货极速退款后卖家拒收怎么办 蘑菇街付款成功怎么申请退款怎么办 淘宝上拍错地址联系卖家不管怎么办 收到货想退款卖家不同意怎么办 小米小店复合通过qq群怎么办 买了火车票在订单上查不到怎么办 用支付宝付款扣款没成功怎么办 在京东买东西只收到空盒子怎么办 魅族移动数据是灰色的怎么办? 魅族手机账号密码忘记了怎么办视频 淘宝购物退货把单号写错了怎么办 天猫想退货商家不给退货地址怎么办 天天爱消除四星宠物等级已满怎么办 店不干了店里面的财神怎么办