2

JScrollPane内にJPanelがあります。JPanelの中​​には多数のJButtonがあります。ただし、JPanelとJScrollPanelが初期化されると、これらのJButtonはNOT VISIBLE(jbutton.setVisible(false))に設定されます。JButtonは、別のクラスがこれをトリガーした場合にのみVISIBLE(jbutton.setVisible(true))に設定されます。

ただし、これらのJButtonは正常に追加され、JPanelに表示されるように設定されていますが、JPanelまたはJScrollPaneには表示されません。私の推測では、JScrollPaneがJButtonを追加すると、JButtonはNOT VISIBLEに設定され、JButtonがVISIBLEに設定されていても、JScrollPaneはそれらがVISIBLEであることを検出しません。

JScrollPane内のJPanelのJButtonの可視性を動的に変更する方法はありますか?

4

1 に答える 1

3

ただし、これらのJButtonは正常に追加され、JPanelに表示されるように設定されていますが、JPanelまたはJScrollPaneには表示されません。私の推測では、JScrollPaneがJButtonを追加すると、JButtonはNOT VISIBLEに設定され、JButtonがVISIBLEに設定されていても、JScrollPaneはそれらがVISIBLEであることを検出しません。

  • すべての変更が実行された後の最後のコード行として、revalidate()repaint()呼び出す必要がありますJPanel

  • スクロールが遅すぎるため、ラップインに変更する必要がありますが、自然でsetUnitIncrementJButtonsありJPanelませんJScrollPane

于 2013-03-25T21:19:56.877 に答える