![]() |
1
2
这没有任何作用,因为没有向面板添加任何组件。需要在添加组件后执行重新验证()。
您不能仅仅更改一个参照,然后期望组件从一个面板移动到另一个面板。 组件需要添加到添加到GUI的面板中。 编辑: 首先,回转组件以“J”开头。不要在Swing应用程序中使用AWT组件(菜单栏、菜单、菜单项)。 问题是您的LAF:
组件是使用当前LAF创建的。首次创建游戏时,默认LAF用于创建所有按钮(和其他组件)。此LAF允许您更改按钮的背景色。 但是,然后更改LAF。因此,当您重置游戏板时,按钮现在使用系统LAF创建。这个LAF显然不允许您更改按钮的背景色。 这应该很容易测试。创建GUI:
首先按照上面的步骤测试代码,看看按钮的背景是否发生了变化。 然后取消LAF更改的注释并重新测试。 一种不依赖LAF的可能解决方案是使用图标来表示按钮的背景色。然后,您可以将任何文本居中放置在图标顶部。类似于:
|
![]() |
2
1
是的,我也刚刚注意到,问题就在这里:
如果注释掉UIManager行,则代码可以正常工作。此行仅有效 之后 GUI已经创建,因此在创建新组件之前不会生效。请注意,我正在努力最小化您的代码以发现这一点,并正在裁剪代码以查看问题的原因,直到剩下的就这些了。
|
![]() |
Ummayair Ahmad · 如何从另一个类添加到JPanel 2 年前 |
![]() |
Klopo22 · 如何将插入符号移动到另一个JTextField 2 年前 |
![]() |
Kirito · 如何将焦点设置为图像或标签?[Java Swing] 2 年前 |
![]() |
Didi1995 · 在swing java中传递文件路径 2 年前 |
![]() |
dl784 · Java Swing登录窗口未关闭 2 年前 |
![]() |
user16911064 · 在JTable中创建组 2 年前 |
![]() |
Jessie Smetts · 它不会划清界限 2 年前 |
![]() |
shrimpwidget · 如何对齐并排面板,Java swing 2 年前 |