java swing 我现在能在panel上画一条线
我想让它有渐变的效果怎么弄??
帮忙~!

解决方案 »

  1.   

    import javax.swing.*;
    import java.awt.*;
    import java.awt.geom.*;public class Test {
    public static void main(String[] args) {
    JFrame frame = new JFrame();
    frame.setSize(800, 600);
    frame.add(new JPanel() {
    @Override
    public void paintComponent(Graphics g) {
    super.paintComponent(g);
    Graphics2D g2 = (Graphics2D)g;
    g2.setPaint(new GradientPaint(0, 0, new Color(0xFF0000), 400, 400, new Color(0x0000FF)));
    Line2D line = new Line2D.Double();
    line.setLine(new Point2D.Double(0, 0), new Point2D.Double(400, 400));
    g2.draw(line);
    g2.fill(new Rectangle(0, 100, 100, 300));
    g2.fill(new Rectangle(100, 0, 300, 100));
    }
    });
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
    }
    }不仅可以画渐变的线,而且可以填充渐变的图形,关键是设置Paint为GradientPaint,Graphics2D比Graphics强大得多,至于里面的参数,楼主自己去摸索吧,不然要API文档干嘛。