0

所以我有以下屏幕:

屏幕

这是我的代码:

setLayout(new BorderLayout());

JLabel lblTitulo = new JLabel("Sistema Generador de Examenes");     
lblTitulo.setFont(new Font("Tahoma", Font.BOLD, 18));

JPanel panel1 = new JPanel();
panel1.setBackground(Color.white);
panel1.add(lblTitulo);
add(panel1, BorderLayout.NORTH);

JButton btnCrear = new JButton("Crear Examen");
JButton btnRendir = new JButton("Rendir Examen");
JButton btnCorregir = new JButton("Corregir Examen");
JButton btnVerCorrecciones = new JButton("Ver Correcciones");

btnCrear.setBounds(15, 100, 450, 35);
btnRendir.setBounds(15, 150, 450, 35);
btnCorregir.setBounds(15, 200, 450, 35);
btnVerCorrecciones.setBounds(15, 250, 450, 35);

JPanel panel2 = new JPanel();
panel2.setBackground(Color.white);
panel2.setLayout(null);
panel2.add(btnCrear);
panel2.add(btnRendir);
panel2.add(btnCorregir);
panel2.add(btnVerCorrecciones);

add(panel2, BorderLayout.CENTER);

1 - 我正在使用 BorderLayout。如果我想让 JLabel 在北方,JButtons 在中心,我是否需要 2 个 JPanel 来分隔组件(JLabel 和 JButtons)?或者有什么方法可以只使用一个 JPanel?

2 - 我想取出我的 JButtons 中使用的 setBounds 并使用一些布局,以便让我的 JButtons 像这样位于屏幕中间。我怎么能那样做?

4

1 回答 1

1

我正在使用边框布局。如果我想让 JLabel 在北方,JButtons 在中心,我是否需要 2 个 JPanel 来分隔组件(JLabel 和 JButtons)?或者有什么方法可以只使用一个 JPanel?

是的,您可以使用一个 JPanel 和一个 GridBagLayout 和一个单列和一些 Insets 来将按钮与标签隔开。

但是,无论您如何调整 JFrame 的大小,嵌套布局都会将按钮保持在中心。

我想取出我的 JButtons 中使用的 setBounds 并使用一些布局,以便让我的 JButtons 像这样位于屏幕中间。我怎么能那样做?

GridBagLayout 将用插图隔开按钮。

有关使用 GridbagLayout 的几个对话框示例,请参阅这篇文章Sudoku Solver Swing GUI 。

于 2013-05-19T22:14:31.290 回答