尝试绘制一个不同大小的矩形,如何按比例拟合一个框架(假设框架是固定的)?
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());
}
}
答案 0 :(得分:2)
自定义绘制是通过覆盖paintComponent(...)
方法而不是paint()方法完成的。这个建议每天都有。搜索论坛以获取更多信息和示例。
如果您想知道组件可用的空间,则可以调用getWidth()和getHeight()方法。一旦知道了这些值,就可以确定要绘制矩形的大小。
在框架可见之前,应将组件添加到框架中。
您不需要使用getContentPane()方法。从JDK5开始,您只需将组件直接添加到框架中,它们就会被添加到内容窗格中。