在jpanel-java中垂直居中jbutton

在jpanel-java中垂直居中jbutton,java,swing,center,jbutton,Java,Swing,Center,Jbutton,我有一个边界布局,有4个面板,北、南、东和西。例如,在东区,我有一个jpanel,它有四个按钮。我的问题是,所有按钮都与顶部对齐,我希望与中心对齐。例如,在css中,像边距顶部或顶部:50% 有什么想法吗 JPanel contentor3 = new JPanel(); contentor.add(contentor3, BorderLayout.EAST); contentor3.setBackground(Color.green); contentor3.setPref

我有一个边界布局,有4个面板,北、南、东和西。例如,在东区,我有一个jpanel,它有四个按钮。我的问题是,所有按钮都与顶部对齐,我希望与中心对齐。例如,在css中,像边距顶部或顶部:50%

有什么想法吗

    JPanel contentor3 = new JPanel();
  contentor.add(contentor3, BorderLayout.EAST);
  contentor3.setBackground(Color.green);
  contentor3.setPreferredSize(new Dimension(120, 750));

  contentor3.add(btn[1]);
  btn[1].setText("btn1");

您需要更改
contentor3
的布局。尝试以下方法:

contentor3.setLayout (new GridBagLayout());

GridBagConstraints gbc = new GridBagConstraints ();

// next two lines will place the components top-to-bottom, rather than left-to-right
gbc.gridx = 0;
gbc.gridy = GridBagConstraints.RELATIVE;

// add as many buttons as you want in a column
contentor3.add (new JButton ("btn1"), gbc);

contentor.add (contentor3, BorderLayout.EAST);

我已经尝试过类似的方法,但是按钮并没有断线,所以他们创建了一条包含所有按钮和隐藏部分的线。你的意思是希望按钮从上到下排列在一列中?为了做到这一点,我改变了答案。