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);
}
}
swing JPanel画渐变的背景色
最新推荐文章于 2026-06-21 15:14:42 发布
本文介绍了一个使用Java Swing实现的自定义JPanel组件——GradientPanel。该组件能够在面板上绘制从白色到蓝色的渐变效果。通过继承JPanel并重写paintComponent方法,利用Graphics2D和GradientPaint来完成渐变色的绘制。
912

被折叠的 条评论
为什么被折叠?



