您的位置:首页 > 其它

按下按钮圆圈改变颜色

2015-12-15 23:55 204 查看
import sun.jvm.hotspot.types.JBooleanField;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class TestDemo implements ActionListener {
JFrame frame;
public static void main(String args[]){
TestDemo gui = new TestDemo();
gui.go();
}
public void go(){
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JButton button = new JButton("Change colors");
button.addActionListener(this);

MyDrawPane drawPane = new MyDrawPane();

frame.getContentPane().add(BorderLayout.SOUTH,button);
frame.getContentPane().add(BorderLayout.CENTER,drawPane);
frame.setSize(300,300);
frame.setVisible(true);

}
public void actionPerformed(ActionEvent event){
frame.repaint();//当按下按钮时要求frame重新绘制
}
}
class MyDrawPane extends JPanel{
public void paintComponent(Graphics g){
Graphics2D g2d = (Graphics2D) g;

int red = (int)(Math.random()*255);
int green = (int)(Math.random()*255);
int blue = (int)(Math.random()*255);
Color startColor = new Color(red ,green,blue);

red = (int)(Math.random()*255);
green = (int)(Math.random()*255);
blue = (int)(Math.random()*255);
Color endColor = new Color(red , green, blue );

GradientPaint gradientPaint = new GradientPaint(70,70,startColor,150,150,endColor);
g2d.setPaint(gradientPaint);
g2d.fillOval(70,70,100,100);//用目前的笔刷设定来填满椭圆型区域
}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: