0

尝试绘制一个不同大小的矩形,如何按比例将其放入一个框架中(假设框架是固定的)?

public class Draw extends JComponent {
    public void paint(Graphics g) {
        int width = 100;
        int length = 100;
        g.drawRect(10, 10, width, length);
    }
}

public class DrawRect { 
    public static void main(String[] a) {
        JFrame frame = new JFrame();
        frame.setSize(400, 600));
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);

        Container content = frame.getContentPane();
        content.add(new Draw());
   }
}
4

1 回答 1

2
  1. 自定义绘画是通过重写paintComponent(...)方法完成的,而不是 paint() 方法。每天都会提出这个建议。搜索论坛以获取更多信息和示例。

  2. 如果您想知道组件可用的空间,则可以调用 getWidth() 和 getHeight() 方法。一旦知道了这些值,您就可以确定要绘制矩形的大小。

  3. 在框架可见之前,应将组件添加到框架中。

  4. 您不需要使用 getContentPane() 方法。从 JDK5 开始,您可以直接将组件添加到框架中,它们将被添加到内容窗格中。

于 2013-05-07T01:30:51.680 回答