swing JPanel画渐变的背景色

本文介绍了一个使用Java Swing实现的自定义JPanel组件——GradientPanel,该组件能够在窗口中绘制从白色到蓝色的径向渐变效果。通过GradientPaint设置渐变颜色,并利用Graphics2D进行填充绘制。

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.LayoutManager;
 
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.WindowConstants;
 
public class GradientPanel extends JPanel {
    public GradientPanel(LayoutManager lm) {
        super(lm);
    }
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        if (!isOpaque()) {
            return;
        }
       
        int width = getWidth();
        int height = getHeight();
        Graphics2D g2 = (Graphics2D) g;
        GradientPaint gradientPaint =new GradientPaint(width/2, height/2,Color.white, width, height, Color.blue,false);
       
       
        g2.setPaint(gradientPaint);
        g2.fillRect(0, 0, width, height);
       
    }
    public static void main(String args[]){
           JFrame jf=new JFrame("GradientPanelTest");
           jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
           GradientPanel gp=new GradientPanel(new BorderLayout());
           jf.getContentPane().add(gp);
           jf.setSize(500,400);
           jf.setVisible(true);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值