zoukankan      html  css  js  c++  java
  • 【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);
    	}
    }
    
  • 相关阅读:
    周星驰影片经典台词之《大话西游》
    周星驰影片经典台词之《唐伯虎点秋香》
    “喝酒脸红”并不是能喝酒的表现
    hereim_美句_2
    sql查询表N到M行的数据,查询表内最新标识列
    CSS半透明背景 文字不透明
    jquery最简单的右侧返回顶部代码(滚动才出现)
    大渝网招聘页面用到的 滚动后固定代码
    OFBiz应用https与http方式访问切换
    [ofbiz]解决load-demo花费过长时间的问题
  • 原文地址:https://www.cnblogs.com/HBU-xuhaiyang/p/12776014.html
Copyright © 2011-2022 走看看