import javax. swing. *;
import java. awt. *;
public class SystemUI {
public SystemUI ( ) {
JFrame frame = new JFrame ( ) ;
frame. setDefaultCloseOperation ( JFrame. EXIT_ON_CLOSE) ;
frame. setBounds ( 400 , 300 , 500 , 300 ) ;
frame. setVisible ( true ) ;
DrawPanel dpanel = new DrawPanel ( ) ;
frame. add ( dpanel) ;
}
public static void main ( String[ ] args) {
new SystemUI ( ) ;
}
}
class DrawPanel extends JPanel {
private static final long serialVersionUID = 1 L;
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 gradient = new GradientPaint ( 70 , 70 , startColor, 150 , 150 , endColor) ;
g2d. setPaint ( gradient) ;
g. fillOval ( 70 , 70 , 100 , 100 ) ;
}
}
抱歉,又是绿的
如果想添加一个按钮,使得不用关闭窗口就可以改变颜色
import javax. swing. *;
import java. awt. event. *;
import java. awt. *;
public class SystemUI implements ActionListener {
JButton button1 = new JButton ( "Change Circle" ) ;
JFrame frame = new JFrame ( ) ;
public SystemUI ( ) {
frame. setDefaultCloseOperation ( JFrame. EXIT_ON_CLOSE) ;
frame. setBounds ( 400 , 300 , 500 , 300 ) ;
frame. setVisible ( true ) ;
frame. add ( BorderLayout. SOUTH, button1) ;
button1. addActionListener ( this ) ;
DrawPanel dpanel = new DrawPanel ( ) ;
frame. add ( BorderLayout. CENTER, dpanel) ;
}
public static void main ( String[ ] args) {
new SystemUI ( ) ;
}
@Override
public void actionPerformed ( ActionEvent e) {
frame. repaint ( ) ;
}
}
class DrawPanel extends JPanel {
private static final long serialVersionUID = 1 L;
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 gradient = new GradientPaint ( 70 , 70 , startColor, 150 , 150 , endColor) ;
g2d. setPaint ( gradient) ;
g. fillOval ( 70 , 70 , 100 , 100 ) ;
}
}