Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 容器、组件和可见窗口_Java_Awt - Fatal编程技术网

Java 容器、组件和可见窗口

Java 容器、组件和可见窗口,java,awt,Java,Awt,我使用Frame测试了下一个代码,但当我试图绘制没有任何边框、按钮等的独立行时,我发现程序工作时没有任何错误,也没有显示任何行。代码如下: package helloworld; import java.awt.*; class Line extends Component { public void paint(Graphics g) { g.drawLine(0, 0, getWidth(), getHeight()); } } public class

我使用Frame测试了下一个代码,但当我试图绘制没有任何边框、按钮等的独立行时,我发现程序工作时没有任何错误,也没有显示任何行。代码如下:

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);
    }
}
也许我学到了一些错误的东西,但是如果我使用Frame f=new Frame()它可以正常工作。
那么,我做错了什么呢?

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

默认情况下,容器没有任何布局,因此该行不会移动或调整大小-它将在那里,宽度和高度分别为0,0和0。所以你不会看到它

请参见位于的布局管理器教程