我目前正在使用 AWT GUI 制作程序,但遇到了问题。我基本上想要屏幕左上角的图像,以及图像右侧的一列按钮。但这不是正在发生的事情。当我运行小程序时,我单击一个弹出窗口,上面写着“启动程序”,然后我想要的图片在小程序窗口本身中,而按钮列本身在另一个窗口中。这是它的样子:
有没有办法解决这个问题,使图像和按钮在同一个窗口中?
是的。您正在创建一个框架,但您的图形不在框架内。没有代码就不能说太多,但是 java.sun.com 上的AWT 教程在这方面还不错。
好吧,再多一点(我很久没用AWT了。)
这是您遇到的几个问题。框架是一种窗口——它想成为一个单独的窗口,有自己的关闭按钮等等。
当你创建你的图形时,你必须告诉它是它的父组件;您以某种方式将其作为Applet的父母。所以你有一些看起来像的代码
add(myComponent);
在 Applet 的上下文中为this
.
public class myApplet extends Applet {
// lots of stuff here creating your canvas, putting the image in it
// and so forth. There's an example, see fn 1.
// When you're done, you have a component, call it myImage.
add(myImage);
}
您有一个框架,并且您正在向其中添加按钮。
public class MyFrame extends Frame {
add(new Button(...));
add(new Button(...));
}
您需要以某种方法将添加 Canvas 的代码移动到 Frame 类中。
(警告:这不是完整的 Java 代码,我不记得正确方法的名称。至少可能是 Applet 中的init()方法。
fn1。http://java.sun.com/developer/onlineTraining/awt/contents.html#simpleexample