|
|
做Swing的时候经常会看到别人做的效果比较好的UI 其中当然少不了一些渐变的Panel,其实很简单就能实现, 这里用JPanel来示例实现: import java.awt.*; import javax.swing.*;
public class GradientPanel extends JPanel {
public GradientPanel(LayoutManager lm) { super(lm); }
public void paintComponent(Graphics g) { super.paintComponent(g); if (!isOpaque()) { return; } Color control = UIManager.getColor("control"); int width = getWidth(); int height = getHeight();
Graphics2D g2 = (Graphics2D) g; Paint storedPaint = g2.getPaint(); g2.setPaint( new GradientPaint(0, 0, Color.white, width, height, control)); g2.fillRect(0, 0, width, height); g2.setPaint(storedPaint); } } 其实就是在paintComponent里加了这个渐变的效果 new GradientPaint(0, 0, Color.white, width, height, control) 当然,不同的效果可以查看 GradientPaint的API 下面是效果图:
最后向大家介绍一个Swing组件做得不错的网站: www.jgoodies.com 上面的例子来源于jgoodies |
|