java - 我的输出在JAVA中只打印一个矩形

标签 java user-interface

 public static void createAI()
{        
    AI a = new AI(10,10,15,15); 
    frame.add(a);
    AI b = new AI(100,100,15,15);
    frame.add(b);

}

这只显示b;然而这会打印出 a.

 public static void createAI()
{        
    AI a = new AI(10,10,15,15); 
    frame.add(a);
}

为什么我不能用一种方法同时完成这两项工作? 感谢您的反馈

最佳答案

JFrame 的默认布局管理器是 BorderLayout。当您使用 add(...) 方法而不指定约束时,组件将添加到 BorderLayoutCENTER 中。但是,只能将单个组件添加到 CENTER,因此仅显示最后添加的组件。

尝试如下:

JPanel panel = new JPanel();
panel.add(a);
panel.add(b);
frame.add(panel);

JPanel 默认使用 FlowLayout,因此现在组件应该水平显示。

如果这不是您想要的布局,请阅读 Swing 教程中关于 Using Layout Managers 的部分。了解更多信息和示例。

关于java - 我的输出在JAVA中只打印一个矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23745537/

相关文章:

Java继承抽象类

主题中的 Android windowBackground 不工作 - Splashscreen

javascript - 没有浏览器的javascript中的GUI应用程序?

android - 2 个按钮并排

java - 文本在我的多客户端聊天 GUI 应用程序中不可见?

java - 修改 JTable 以适合屏幕

java - java 构造函数中 List<String> 中的重复值

java - 从命令提示符执行 jar 文件和双击 jar 文件时的行为差异

java - 是否可以在 Java 中捕获高分辨率网络摄像头图像?

c++ - wxWidgets 中的嵌套自定义控件