在面板中重新排列按钮和jlist

时间:2015-10-10 21:33:14

标签: java swing layout layout-manager panels

我创建了按钮和jlist。我的所有按钮都在另一个名为buttonPanels的面板中,我想将该面板和jList添加到另一个名为jPanelSouth的面板中。我尝试使用______。setLocation(x,y)来定位我的按钮,但按钮似乎不会移动到面板内的任何位置(与jlist相同)。

 //southPanel and stuff
  jPanelSouth = new JPanel();
  jPanelSouth.setBorder(BorderFactory.createLineBorder(Color.black, 5));

  //buttons
  buttonPanel = new JPanel(new GridLayout(3,1));
  drawCardBtn = new JButton("Draw Card");
  moveBtn = new JButton("Move");
  playCardBtn = new JButton("Play Card");


  buttonPanel.add(drawCardBtn);
  buttonPanel.add(moveBtn);
  buttonPanel.add(playCardBtn);

  roomList = new JList(roomNumbers);
  roomList.setVisibleRowCount(4);
  roomList.setFixedCellWidth(100);
  roomList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);


  jPanelSouth.add(buttonPanel);
  jPanelSouth.add(roomList);

这就是我的窗口现在的样子

这就是我希望它的样子

我不确定在这种情况下我应该使用什么布局

2 个答案:

答案 0 :(得分:0)

您应该更改jPanelSouth中的布局。例如,尝试将此行添加到您的代码中。

jPanelSouth.setLayout(new BoxLayout(jPanelSouth, BoxLayout.Y_AXIS));

阅读有关挥杆布局的更多信息here

答案 1 :(得分:-2)

尝试在按钮中使用setBounds(x,y,height,width)。

buttonPanel = newJPanel();
buttonPanel.setBounds(x, y, height, width);