Khi tôi cố gắng căn chỉnh thành phần của mình, nó sẽ sang bên trái hoặc bên phải.Làm cách nào để căn chỉnh các thành phần trung tâm trong JPanel bằng GridBagLayout?
Vì vậy, tôi chỉ muốn giải pháp để loại bỏ vấn đề này và cũng cho tôi biết cách đặt kích thước của bảng điều khiển là 400 x 350 pixel.
Đây là mã của tôi .... titleLabel
và ResultLabel
nên được sắp xếp ở trung tâm
public TimeGui() {
layout = new GridBagLayout();
setSize(400, 350); //**Its not working**
setBackground(Color.LIGHT_GRAY);
setBorder(BorderFactory.createLineBorder(Color.BLACK));
setBorder(new TitledBorder(new EtchedBorder(), "Time Conversion"));
setLayout(layout);
layoutConstraints = new GridBagConstraints();
textField1 = new JTextField(10);
textField2 = new JTextField(10);
String[] names1 = {"Seconds", "Minutes", "Hours", "Days", "Weeks"};
comboBox1 = new JComboBox<>(names1);
comboBox2 = new JComboBox<>(names1);
titleLabel = new JLabel("Time Conversion Unit", JLabel.CENTER);
resultLabel = new JLabel("Result Label");
equalLabel = new JLabel("=");
convertButton = new JButton("Convert");
layoutConstraints.fill = GridBagConstraints.HORIZONTAL;
Insets inset = new Insets(10, 10, 10, 10);
layoutConstraints.anchor = GridBagConstraints.CENTER;
addComponent(titleLabel, 0, 0, 2, 2, inset); // I tried (0,1,2,2)
addComponent(comboBox1, 3, 0, 2, 3, inset);
addComponent(comboBox2, 3, 2, 2, 3, inset);
addComponent(textField1, 6, 0, 1, 2, inset);
addComponent(equalLabel, 6, 1, 1, 2, inset);
addComponent(textField2, 6, 2, 1, 2, inset);
addComponent(resultLabel, 8, 1, 2, 1, inset);
addComponent(convertButton, 10, 0, 2, 2, inset);
}
private void addComponent(Component component, int row,
int column, int width, int height, Insets inset1) {
layoutConstraints.gridx = column;
layoutConstraints.gridy = row;
layoutConstraints.gridwidth = width;
layoutConstraints.gridheight = height;
layoutConstraints.insets = inset1;
layout.setConstraints(component, layoutConstraints);
add(component);
}
}
Trong trường hợp không có hình ảnh, nó sẽ là khôn ngoan, nếu ít nhất bạn có thể cung cấp một [___SSCCE___] (http://sscce.org/), để người ta có thể atleast chạy nó mà không có bất kỳ loại bổ sung. Chỉ cần tải hình ảnh của bạn lên bất kỳ trang web nào, như [** imgur **] (http://imgur.com/), [** dropbox **] (https://www.dropbox.com/home) hoặc [* * 4shared **] (http://www.4shared.com/). Bất kỳ ai có đặc quyền cao hơn sẽ thêm điều đó vào câu hỏi của bạn –
ok chỉ cần cho tôi biết cách đặt kích thước của bảng điều khiển. – user1874936