当前位置: 首页 > 面试题库 >

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

凌波峻
2023-03-14
问题内容

我正在使用一个使用Swing的旧版应用程序,我正在努力弄清用户单击按钮时屏幕的变化情况。我无法弄清楚的原因之一是因为这是我第一次使用Swing。我读了一本书,掌握了基础知识,但仍然很挣扎。

基本上,我正在查看的屏幕具有一个JSplitPane,其左侧具有多个快捷按钮,而右侧具有一个空白窗格。当我单击该按钮时,根据所按下的按钮,右侧窗格中会显示一个不同的屏幕。

遍历代码,我期望在某处会有某个调用setVisible()方法的操作,具体取决于所按下的按钮。

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

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

我遍历了大多数代码,得出的结论是,以上代码是导致帧切换的原因,但我不知道这是如何发生的。

每个屏幕均由数字常数标识。在上面的代码示例中,previousShortCutSel和previousShortCutSel表示代表单个屏幕屏幕的数值。

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


问题答案:

根据ziggy的评论(很高兴)

看一下PropertyChangeListener似乎已添加到代码中的。特别propertyChange(PropertyChangeEvent e)是在该方法中将显示更改内容的代码。

一如既往地为垃圾桶不错的示例/建议+1



 类似资料:
  • 我有什么办法可以这么做吗?

  • 问题内容: 所以我有一个带有面板的jFrame。在该面板内部,还有两个面板,并且布局设置为卡片。在这两个面板之一中,有一个按钮。按下该按钮时,如何更改显示的面板? 问题答案: 试试这个代码片段,希望这些注释可以帮助您理解序列。

  • 我正在一个名为Dashboard的类中创建一个标签疼痛,它在标签中包含“填充”面板。我想知道是否有办法创建一个新的仪表板并更改我存储在选项卡中的面板。我不确定这是否是正确的解释方法,但这里有一些代码。 我现在想创建一个新类来创建和实例仪表板,但更改选项卡中显示的面板。我尝试了这样的操作: 我不确定这是否可能,或者是否有另一种方法可以做到这一点。

  • 我无法更改java swing中“setbounds”中按钮或面板的位置。它只是粘在上面。我应该在这里换什么?我应该在按钮上添加“Gridlayout”吗?更改面板位置对按钮没有任何作用。 公共课主课{

  • 我想创建用于切换面板的组合框。例如,我想创建几个不同颜色的面板,并使用组合框,我只想让一个面板可见: 你能帮我与代码,这将用于切换可见面板见解组合框更改侦听器。

  • 问题内容: 我正在尝试制作一个小的桌面应用程序,该应用程序应显示剪贴板的内容(如果它是字符串)。我已经完成了一个构造函数,并且构造函数运行良好,现在,我只想在将文本复制到OS的剪贴板中时调用类似的方法。我对此很陌生,因此不胜感激!告诉我应该以某种方式使用中断… 问题答案: 您可以调用Clipboard.addFlavorListener来侦听来自操作系统的剪贴板更新: 一些注意事项: 要启动您的应