• 【Java】 GUI 画随机渐层颜色的圆圈


    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) {
    		// TODO 自动生成的方法存根
    
    		new SystemUI();
    		
    		
    	}
    
    }
    
    class DrawPanel extends JPanel {
    
    	private static final long serialVersionUID = 1L;
    
    	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) {
    		// TODO 自动生成的方法存根
    
    		new SystemUI();
    		
    		
    	}
    
    	@Override
    	public void actionPerformed(ActionEvent e) { // 实现接口上的方法
    		// TODO 自动生成的方法存根
    		//button1.setText("hello world");
    		frame.repaint();
    	}
    
    }
    
    class DrawPanel extends JPanel {
    
    	private static final long serialVersionUID = 1L;
    
    	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);
    	}
    }
    
  • 相关阅读:
    MyEclipse和Eclipse非常方便的快捷键
    java面试题及答案
    Java笔试题解答
    Spring自定义注解
    Spring MVC上传文件
    JS实现购物车特效
    MySQL软件基本管理
    初识数据库
    Python3-IO模型
    Python3-协程
  • 原文地址:https://www.cnblogs.com/HBU-xuhaiyang/p/12776014.html
Copyright © 2020-2023  润新知