擺動的另一個問題。如果其中一個更改大小,我怎樣才能阻止GridBagLayout從respacing組件中移出?例如,我有幾列,其中一列有一個帶有文本「文本」的JLabel。當我將其更改爲「texttext」時,佈局管理器會調整整個列的大小。我不希望它那樣做。有什麼辦法可以預防它嗎?阻止GridBagLayout調整列大小
實施例:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
public class ResizeIssue {
static int value = 99;
public static void main(String[] args) {
JFrame frame = new JFrame();
final JLabel valueLabel = new JLabel(String.valueOf(value));
JButton decButton = new JButton("-");
decButton.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
valueLabel.setText(String.valueOf(--value));
}
});
JButton incButton = new JButton("+");
incButton.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
valueLabel.setText(String.valueOf(++value));
}
});
JPanel panel = new JPanel();
panel.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.weightx = 1;
c.gridx = 0;
c.gridy = 0;
panel.add(decButton, c);
c.gridx = 1;
panel.add(valueLabel, c);
c.gridx = 2;
panel.add(incButton, c);
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
}
它是可見的,而9 - > 10或隨時改變文本寬度。
爲更好地幫助更快地編輯問題與[SSCCE](http://sscce.org/),展示您的問題調整大小 – mKorbel