我想使用父类,最好是组件(是我知道的最高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);
}
}
是您的解决方案,因为第一个既是组件又是容器的解决方案。