Change the component weight dynamically in GridBag

2020-06-18 11:23发布

问题:

Suppose now there are some components inside a JPanel and the layout is arranged using GridBagLayout. Is it possible to change the weight(weightx or weighty) of the components dynamically (e.g. after pressing a button)? Thank you.

回答1:

Remove and add the component with a new GridBagConstraint. After that call

panel.revalidate();
panel.repaint();

Use the method to get current constraints public GridBagConstraints getConstraints(Component comp)