Có thể đặt lề/đệm trong
GridBagLayout
cho toàn bộ hàng/cột không? Tôi sử dụng inset trên đối tượng ràng buộc tuy nhiên, bằng cách sử dụng phương pháp này tôi cần phải đặt padding từ dưới cùng trên mỗi thành phần duy nhất.Lề/đệm trong GridBagLayout JavaCó thể đệm tất cả nội dung trong
JFrame
không? Bởi vì bây giờ mọi thành phần được liên kết với khung.
constraints.weightx = 2;
constraints.weighty = 1;
constraints.fill = GridBagConstraints.BOTH;
addComponent(this, layout, constraints, questionPanel = new QuestionPanel(), 0, 0, 1, 1);
constraints.weightx = 1;
constraints.weighty = 1;
constraints.fill = GridBagConstraints.BOTH;
addComponent(this, layout, constraints, categoryPanel = new CategoryPanel(), 0, 1, 1, 1);
constraints.weightx = 1;
constraints.weighty = 0;
constraints.fill = GridBagConstraints.HORIZONTAL;
addComponent(this, layout, constraints, answerPanel = new AnswerPanel(), 1, 0, 2, 1);
constraints.weightx = 1;
constraints.weighty = 2;
constraints.fill = GridBagConstraints.BOTH;
addComponent(this, layout, constraints, tabPane = new JTabbedPane(), 2, 0, 2, 1);
constraints.weightx = 1;
constraints.weighty = 0;
constraints.fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.SOUTHEAST;
addComponent(this, layout, constraints, buttonPanel = new ButtonPanel(), 3, 1, 1, 1);
Tôi đang sử dụng một phương pháp addComponent tin:
private void addComponent(Container context, GridBagLayout _layout, GridBagConstraints _constraints, Component component, int row, int column, int width, int height) {
_constraints.gridx = column;
_constraints.gridy = row;
_constraints.gridwidth = width;
_constraints.gridheight = height;
_layout.setConstraints(component, _constraints);
context.add(component);
}
Làm thế nào tôi có thể thêm một số "không khí (padding/margin)" giữa các tế bào?
Tôi muốn nói có và có ... Tuy nhiên, không cần xem xét một số mã, thật khó để nói chắc chắn. Bạn có thể đăng một đoạn mã không ?. Nó sẽ giúp rất nhiều, câu hỏi của bạn rất chung chung. – chahuistle