在Java AWT中显示图形绘图的最简单方法是什么



我想使用父类,最好是组件(是我知道的最高AWT gui类)。我不是编程新手,但我是自学成才的,并且在为我的问题获取示例代码时遇到问题。这是我的代码:

import java.awt.Frame;
public class DrawSquare extends Frame{
    public DrawSquare(){
        setBounds(0,0,100,100);
        setVisible(true);
    }
    public static void main(String[]args){
        new DrawSquare();
    }
}

基本上,我想对父类做同样的事情,以"可能"拥有更快,更高效的代码。我假设 Frame 在内置选项中有更多,例如边框,而 Window(父类)没有,但我只能使用 Frame 制作这个简单的代码。

我想使用 AWT,而不是摇摆。

根据我的测试:

class C extends Component {
  public C() { setSize(200, 200); setVisible(true); }
  public void paint(Graphics g) {
    g.drawRect(0, 0, 100, 100);
  }
}

不会显示,因为大概需要添加一些内容。

class C extends Container {
  public C() { setSize(200, 200); setVisible(true); }
  public void paint(Graphics g) {
    g.drawRect(0, 0, 100, 100);
  }
}

不会显示,因为它是一个容器,因此需要向其添加其他内容。

class C2 extends Window {
  public C2() { super(new Frame()); setLocation(100, 100); setSize(200, 200); setVisible(true);  }
  public void paint(Graphics g) {
    g.drawRect(0, 0, 100, 100);
  }
}

可以显示,但没有什么可抓取的,它甚至不会显示在任务栏上,所以除非你把它添加到某个地方,否则它是无用的。

所以

class C extends Frame {
  public C() { setSize(200, 200); setVisible(true);  }
  public void paint(Graphics g) {
    g.drawRect(0, 0, 100, 100);
  }
}

是您的解决方案,因为第一个既是组件又是容器的解决方案。

相关内容

  • 没有找到相关文章

最新更新