Делаю программу, в которой JPanel
имеет два компонента JTextField
и JLabel
.И что JPanel
используя GridBadLayout
в it.And я сделать метод GridBagConstraints
которые добавляют компоненты в it.but, что делает метод не работает с JPanel
instance.But Работа с JFrame
. Я хочу исправить этот метод с помощью JPanel
, но не знаю, как это сделать.
Код:Java: JPanel GridBagLayout вопрос
public class A extends JFrame {
private final GridBagLayout layout;
private final GridBagConstraints gbc;
private JPanel p;
private JLabel label1;
private JTextField field1;
public A() {
super("Frame");
layout = new GridBagLayout();
gbc = new GridBagConstraints();
p = new JPanel();
p.setLayout(layout);
gbc.gridy = 0;
label1 = new JLabel("Enter Name");
p.addConstraints(label1);
gbc.gridx = 1;
field1 = new JTextField(15);
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
// Method for GridBag Component Constraints
private void addConstraints(Component com) {
layout.setConstraints(com, gbc);
add(com);
}
Главная Метод
public class MainMethod {
public static void main(String[] args) {
A frame = new A();
}
}
Я знаю, что я может сделать это с таким образом, но есть способ, которым я могу улучшить свой метод для работы с панелью –
'p.add (label1, gbc);' работает с JPanel. Если вы хотите, чтобы внутри вашего метода 'addConstraints', просто замените текущий контент для' p.add (com, gbc); '. Теперь вы можете вызвать его в конструкторе следующим образом: 'addConstraints (label1);' –
не могли бы вы заменить свой ответ тем, что –