gpt4 book ai didi

java - Swing - 使用 UpdateUI 更改面板的内容

转载 作者:行者123 更新时间:2023-11-29 09:44:40 24 4
gpt4 key购买 nike

我正在浏览一个使用 Swing 的遗留应用程序,我正在努力弄清楚当用户单击按钮时屏幕是如何变化的。我无法弄清楚的原因之一是因为这是我第一次使用 Swing。我读过一本书并掌握了基础知识,但仍在苦苦挣扎。

基本上,我正在查看的屏幕有一个 JSplitPane,它的左侧有许多快捷按钮,右侧有一个空 Pane 。当我单击按钮时,右侧 Pane 会根据按下的按钮填充不同的屏幕。

通过代码,我期待某个地方会根据按下的按钮调用 setVisible() 方法。

每个快捷按钮的 actionPerformed 方法如下所示:

void shortCutBtn_actionPerformed(ActionEvent e) {
propertyChangeListeners.firePropertyChange("selectedShortCut", previousShortCutSel, currentShortCutSel);
mainPanel.updateUI();
}

我已经浏览了大部分代码并得出结论,上面的代码是导致帧切换的原因,但我不明白这是怎么发生的。

每个屏幕都由一个数字常量标识。在上面的代码示例中,previousShortCutSel 和 previousShortCutSel 指的是表示各个屏幕屏幕的数值。

我试图寻找有关 updateUI() 工作原理的文档,但我迷路了。上面的内容如何导致 JSplitPanel 右侧面板的内容更新到新屏幕?

最佳答案

这不是 updateUI() 的正确用法,它“将 UI 属性重置为当前外观的值。”由于示例本身可能不可靠,请考虑研究另一个示例。 GoogleOlympiad ,例如,使用(缓存的)图像设置标签的图标。

ImageIcon image = getImage(index);
imageLabel.setIcon(image);

image
(来源:drjohnbmatthews at sites.google.com)

关于java - Swing - 使用 UpdateUI 更改面板的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12884972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com