在JScrollpane中的JPanel中动态更改内容可见性

时间:2013-03-25 21:15:41

标签: java swing jpanel jscrollpane

我在JScrollPane中有一个JPanel。 JPanel里面有很多JButton。但是,在JPanel和JScrollPanel初始化时,这些JButton设置为NOT VISIBLE(jbutton.setVisible(false))。当另一个类触发它时,JButtons只设置为VISIBLE(jbutton.setVisible(true))。

但是,尽管这些JButton已成功添加并设置为在JPanel上可见,但它们在JPanel或JScrollPane上不可见。我的猜测是,当JScrollPane添加JButton时,JButtons被设置为NOT VISIBLE,即使JButtons设置为VISIBLE,JScrollPane也不会检测到它们。

有没有办法动态更改JScrollPane中JPanel中JButtons的可见性?

1 个答案:

答案 0 :(得分:3)

  

然而,虽然这些JButton已成功添加并且   在JPanel上设置为可见,它们在JPanel或   JScrollPane中。我的猜测是,当JScrollPane添加JButtons时,   JButtons设置为NOT VISIBLE,即使JButtons已设置   为了可见,JScrollPane没有检测到它们。

  • 必须致电revalidate()repaint()JPanel,作为执行所有更改后的最后一行代码

  • 必须更改JButtons JPanelJScrollPane的{​​{1}},因为滚动太慢,不自然