У меня есть проект, который требует от меня создать простой графический интерфейс, который имеет jTextArea вверху, а JButtons добавлен с 0 до 9. Это довольно просто сделать, однако программа требует от меня центр 0 в нижней части. Следующий код выполняет это, однако мне нужно использовать Grid Layout вместо flowLayout. Когда я пишу это с помощью GridLayout, я не могу получить 0, чтобы выровнять что угодно, кроме левой. Как я могу использовать GridLayout и центрировать 0?Центральные кнопки на контейнере java
public class CalculatorProject {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
GUI gui = new GUI();
}
}
public class GUI extends JFrame {
public GUI() {
JFrame aWindow = new JFrame("Calculator");
aWindow.setBounds(30, 30, 175, 215); // Size
aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextField jta = new JTextField(20);
FlowLayout flow = new FlowLayout(); // Create a layout manager
flow.setHgap(5); // Set the horizontal gap
flow.setVgap(5);
flow.setAlignment(FlowLayout.CENTER);
Container content = aWindow.getContentPane(); // Get the content pane
content.setLayout(new GridLayout(4,3,5,5));
content.setLayout(flow); // Set the container layout mgr
content.add(jta);
// Now add six button components
int array[] = {7, 8, 9, 4, 5, 6, 1, 2, 3, 0};
for (int i = 0; i <= 9; i++) {
content.add(new JButton("" + array[i]));
}
aWindow.setVisible(true); // Display the window
}
}
Почему вы не используете BorderLayout? Это просто. – CodeRunner
@CodeRunner: ему понадобится использовать JPANel с BorderLayout с GranLayout JPanel, вложенным в него. –
ОК. См. Мой отзыв мой ответ тоже. Это может помочь вам. – CodeRunner