2010-11-07 62 views
1

晚安! 我使用框架测试了下一个代码,但是当我试图绘制没有任何边框,按钮等的独立线时,我发现该程序没有任何错误,并且不显示任何线。有代码:关于容器,组件和可见窗口的一些愚蠢的问题


package helloworld; 

import java.awt.*; 

class Line extends Component { 
    public void paint(Graphics g) { 
     g.drawLine(0, 0, getWidth(), getHeight()); 
    } 
} 

public class Main { 
    public static void main(String[] args) { 
     Container c = new Container(); 
     c.add(new Line()); 
     c.setSize(400, 300); 
     c.setVisible(true); 
    } 
} 

也许我学到了一些东西错了,但如果我用框f =新框架()它工作正常。 那么,我做错了什么?

回答

3

默认情况下,框架具有一个布局(BorderLayout),用于调整放入其中以填充框架的组件的大小。

容器默认没有任何布局,所以Line不会移动或大小 - 它将在那里,在0,0和零宽度和高度。所以你不会看到它。

请参阅教程布局管理器http://download.oracle.com/javase/tutorial/uiswing/layout/visual.html