0

我正在做一个简单的 java 应用程序,它基本上显示了来自数组的一定数量的字母(ABCDE 等),每个显示在网格的一部分中。有两个按钮,一个将字母向左移动(这样一移动将变为 BCDEA,而右侧移动将变为 EABCD)。

正如我使用系统输出测试过的那样,我已经完成了换档和其他一切工作。但是如何让窗口刷新并显示更新后的 JLabels?我转移它们后它们保持不变(ABCDE)。

我已经在按钮的 ActionListeners 和它们调用的 shift 方法中尝试了 revalidate() 和 repaint() ,但没有任何反应。对此有什么建议吗?

4

1 回答 1

2

我试过 revalidate() 和 repaint()

只有在创建新组件并将组件添加到可见 GUI 时才使用这些方法。所以听起来你正试图以你希望标签显示的新顺序删除/添加标签。

也许更简单的方法是让标签保持相同的顺序,但只需更改每个标签上的文本。那么你需要做的就是

label.setText();

并且标签将自动重新绘制,而无需调用 revalidate() 和 repaint()。

于 2013-06-20T00:08:25.623 回答