有谁试过在一个面板上, 比如JFrame或JInternalFrame, 绘制一个不规则的多边形, 就是在面板上随机生成几个点, 在把这几个点连起来,形成一个多边形,再填充这块区域...我看过api上的GraphicsXXXXX,Shape等几个类, 感觉就跟这几个类有关, 但是却不知道怎么下手.
有谁写过相关程序能贴下你们的代码吗?
或者给个思路吧..谢谢了!!!!!

解决方案 »

  1.   

    import java.util.*;
    import java.awt.*;
    import javax.swing.*;public class Test {
    public static void main(String[] args) {
    JFrame frame = new JFrame();
    frame.setSize(400, 300);
    frame.add(new MyPanel(4));
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
    }
    }class MyPanel extends JPanel {
    private int pointCount; public MyPanel(int pointCount) {
    this.pointCount = pointCount;
    } @Override
    public void paintComponent(Graphics g) {
    Random r = new Random();
    int[] xArray = new int[pointCount];
    int[] yArray = new int[pointCount];
    for (int i = 0; i < xArray.length; i++) {
    xArray[i] = r.nextInt(400);
    yArray[i] = r.nextInt(300);
    }
    g.fillPolygon(xArray, yArray, pointCount);
    }
    }只是画随机不规则多边形很简单,用Polygon就行了,重要的是绘图规则,1楼说的GeneralPath类可以实现更复杂的规则,具体的内容需要楼主自己去探索了。