我目前正在使用 AWT GUI 编写程序,但遇到了问题。我基本上希望屏幕左上角有一个图像,图像右侧有一列按钮。但这并不是正在发生的事情。当我运行小程序时,我单击一个弹出窗口,显示“启动程序”,然后我想要的图片位于小程序窗口本身中,而按钮列本身位于另一个窗口中。这是它的样子:
是否有办法解决此问题,使图像和按钮位于同一窗口中?
最佳答案
是的。您正在创建一个框架,但您的图形不在框架内。没有代码就无法透露太多信息,但是 AWT Tutorial java.sun.com 在这方面还不错。
<小时/>好吧,再多一点(我已经很长时间没有使用 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
关于java - 使用框架和 Java AWT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/694971/