У меня есть кнопка, которая показывает/скрывает jPanel, а затем вызывает pack(); но после сокрытия горизонтальной развязки jPanel, которая была между панелью и промежутком, которая была справа от этой панели, складывается и создает огромный горизонтальный зазор справа.Снятие правого горизонтального промежутка от скрытого 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. все эти три строки кода могут быть бесполезными, если используется 'NullLayout'. 3. переопределите 'getPreferredSize' для всех' JPanel' (s), 4 используйте propotional 'LayoutManager', который принимает' getPreferredSize', 5. для лучшей помощи скорее опубликуйте 'SSCCE' /' MCVE', короткий, runnable, компилируемый с пустым 'JPanel' с использованием hardcoded 'Dimension' из' getPreferredSize' – mKorbel