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);//用目前的笔刷设定来填满椭圆型区域
}
}
按下按钮圆圈改变颜色
最新推荐文章于 2021-02-25 03:32:41 发布