码迷,mamicode.com
首页 > 其他好文 > 详细

GUI之动态颜色图形

时间:2016-09-03 22:18:13      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:

技术分享技术分享

import java.awt.*;    //存放了Graphics
import javax.swing.*;   //JFrame所在,包含以许多J开头的控件
import java.awt.event.*;    //各种“事件”
public class SimpleGui3C implements ActionListener {
    JFrame frame;
    public static void main(String[] args) {
        SimpleGui3C gui = new SimpleGui3C();  //创建主类
        gui.go();    //调用GUI函数
    }
    
    public void go() {
        frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    //这一行程序会在window关闭时把程序结束掉
        
        JButton button = new JButton("Change colors");    //创建带文本的按钮控件
        button.addActionListener(this);    //将一个 ActionListener 添加到按钮中this指监听器就是本身
        
        MyDrawPanel drawPanel = new MyDrawPanel();
        
        frame.getContentPane().add(BorderLayout.SOUTH, button);    //JFrame可分为5个部分,
        frame.getContentPane().add(BorderLayout.CENTER, drawPanel);
        frame.setSize(300, 300);    //设置窗体大小
        frame.setVisible(true);        //设置控件为显示状态
    }
    public void actionPerformed(ActionEvent event) {
        frame.repaint();    //重绘此组件。如果此组件是轻量级组件,则此方法会尽快调用此组件的 paint 方法。否则此方法会尽快调用此组件的 update 方法。 
    }    //将实现的接口内的方法覆盖掉
}
class MyDrawPanel extends JPanel {
    /*
        创建JPanel的子类并覆盖掉paintComponent()这个方法。
        所有的绘图程序代码都在paintComponent()里面。
        当你的panel所处的frame显示的时候,paintComponent()就会被调用。
        如果用户缩小window或选择最小化,java虚拟机也会知道要调用它来重置
        你不能自己调用这个方法,它的参数是个跟实际屏幕有观的Graphics对象。
        你无法取得这个对象,它必须由系统交给你。
        你可以调用repaint()来要求系统重新绘制显示装置,然后才会产生paintCompon()的调用
    */
    public void paintComponent(Graphics g) {
        g.fillRect(0, 0, this.getWidth(), this.getHeight());    //Graphics带有默认颜色,此函数功能是填充指定的矩形
        int red = (int)(Math.random() * 225);    
        int green = (int)(Math.random() * 225);
        int blue = (int)(Math.random() * 225);
        
        Color randomColor = new Color(red, green, blue);
        g.setColor(randomColor);
        g.fillOval(70, 70, 100, 100);    //此函数功能是使用当前颜色填充外接指定矩形框的椭圆。 
    }

 

GUI之动态颜色图形

标签:

原文地址:http://www.cnblogs.com/cdx19971126/p/5837957.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!