And*_*ndy 10 java user-interface swing
我试图这样做,以便当用户点击我的GUI上的内容(它与什么无关)时,一个JTable将消失,另一个JComponent将取代它.
在一分钟,我用下面的代码,这里contentPanel是JPanel我设置为JFrame的内容窗格:
contentPanel.remove(table);
contentPanel.add(component, BorderLayout.CENTER);
contentPanel.updateUI();
Run Code Online (Sandbox Code Playgroud)
哪个工作完美,但我只是想确认这是正确的方法.我的意思是,我想不出任何其他方式来实现它,但这并不一定意味着什么,如果有更好的方法,在性能或任何方面,我想知道它...
cam*_*ckr 17
不,这不是做到这一点的方法.你永远不应该调用updateUI().阅读API,该方法仅在您更改LAF时使用.
添加/删除组件后,您应该:
panel.add(...);
panel.revalidate();
panel.repaint(); // sometimes needed
Run Code Online (Sandbox Code Playgroud)
(这是无关紧要的),一个JTable将消失,另一个JComponent将取代它.
也许它是相关的.通常,JTable显示在JScrollPane中.所以也许更好的解决方案是使用:
scrollPane.setViewportView( anotherComponent );
Run Code Online (Sandbox Code Playgroud)
然后滚动窗格将为您进行验证.
| 归档时间: |
|
| 查看次数: |
8837 次 |
| 最近记录: |