jPanelを表示/非表示にしてからpack()を呼び出すボタンがあります。パネルの右側にあるパネルとギャップの間にあったjPanel水平ギャップを隠した後、右側に大きな水平方向のギャップを作ります。隠しjPanelから右横の空白を削除する
私はボーダーレイアウトであるデフォルトレイアウトを使用しています。ここで
private void normalDistributionTableToggleActionPerformed(java.awt.event.ActionEvent evt) {
normalDistributionTablePanel.setVisible(!normalDistributionTablePanel.isVisible());
pack();
revalidate();
repaint();
System.out.println("Toggle normal distribution table.");
}
1. 'revalidate();'と 'repaint()'; 'pack()'が呼び出されるコンテキストでは反作用的です。2. 3つのコード行はすべて、 'NullLayout'が使用されている場合、役に立たない可能性があります。 3.全てのJPanelの 'getPreferredSize'をオーバーライドし、' getPreferredSize'を受け付けるpropotional 'LayoutManager'を使用します。5.より良いヘルプのために、' SSCCE'/'MCVE'を短く実行します。 'getPreferredSize'のハードコーディングされた' Dimension'を使用した 'JPanel' – mKorbel