Java 如何在框架中按比例拟合矩形?

Java 如何在框架中按比例拟合矩形?,java,swing,paint,java-2d,jcomponent,Java,Swing,Paint,Java 2d,Jcomponent,试着画一个不同大小的矩形,如何按比例将它放在一个框架中(假设框架是固定的) 自定义绘制是通过覆盖paintComponent(…)方法而不是paint()方法来完成的。这条建议每天都有。在论坛上搜索更多信息和示例 如果您想知道组件可用的空间,那么可以调用getWidth()和getHeight()方法。一旦知道这些值,就可以确定要绘制的矩形有多大 在使框架可见之前,应将构件添加到框架中 您不需要使用getContentPane()方法。由于JDK5,您可以直接将组件添加到框架中,它们将为您添加到

试着画一个不同大小的矩形,如何按比例将它放在一个框架中(假设框架是固定的)

  • 自定义绘制是通过覆盖
    paintComponent(…)
    方法而不是paint()方法来完成的。这条建议每天都有。在论坛上搜索更多信息和示例

  • 如果您想知道组件可用的空间,那么可以调用getWidth()和getHeight()方法。一旦知道这些值,就可以确定要绘制的矩形有多大

  • 在使框架可见之前,应将构件添加到框架中

  • 您不需要使用getContentPane()方法。由于JDK5,您可以直接将组件添加到框架中,它们将为您添加到内容窗格中

  • 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());
       }
    }