Swing - 使用 UpdateUI 更改面板的内容 [英] Swing - Changing the content of a panel using UpdateUI

查看:19
本文介绍了Swing - 使用 UpdateUI 更改面板的内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

I am going through a legacy application which is using Swing and i am struggling to figure out how the screens are changing when a user clicks a button. One of the reasons i cant figure this out is because this is the first time i am using Swing. I have read a book and got the basics but still struggling.

Basically, the screen i am looking at has a JSplitPane which has a number of shortcut buttons on the left and an empty pane on the right. When i click on the button, the right side pane is populated with a different screen depending on the button pressed.

Going through the code, i was expecting somewhere that there will be something that calls a setVisible() method depending on which button is pressed.

The actionPerformed method for each of the shortcut buttons looks something like this:

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

I have gone through most of the code and came to a conclusion that the above code is what is causing the frame switching but i dont understand how that is happening.

Each screen is identified by a numeric constant. In the above code example, previousShortCutSel and previousShortCutSel refer to a numeric value that represents individual screens screen.

I have tried to look for documentation of how updateUI() works but i am lost. How does the above cause the content of the right panel of the JSplitPanel to be updated with a new screen?

解决方案

As per comments by ziggy (glad it helped)

Have a look at the PropertyChangeListeners that appear to be added in the code. In particular the propertyChange(PropertyChangeEvent e) method is where the code which changes the content will be present.

+1 to trashgod nice example/advice as always

这篇关于Swing - 使用 UpdateUI 更改面板的内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆