我是Java Swing的新手。我想设计一个JToolBar
。 JToolBar
应放在JPanel
的中心。可能吗?
javax.swing.JPanel pane = new javax.swing.JPanel();
BorderLayout border = new BorderLayout();
pane.setLayout(border);
JToolBar toolBar = new JToolBar();
pane.add(toolBar,BorderLayout.CENTER);
javax.swing.JButton button1 = new javax.swing.JButton("Click Me");
toolBar.add(button1);
答案 0 :(得分:4)
以下代码直接来自doc。
public ToolBarDemo() {
super(new BorderLayout());
...
JToolBar toolBar = new JToolBar("Still draggable");
addButtons(toolBar);
...
setPreferredSize(new Dimension(450, 130));
add(toolBar, BorderLayout.PAGE_START);
add(scrollPane, BorderLayout.CENTER);
}
请在此处查看BorderLayout
的用法。并对代码进行必要的更改。
<强>更新强>
我尝试过使用代码来显示这样的输出。我使用了addSeparator方法和维度。 This is just a try to solve the problem. I am not sure whether this approach is the correct way.
public static void main(String[] args) {
JFrame frame = new JFrame();
JPanel panel = new JPanel(new BorderLayout());
JToolBar toolBar = new JToolBar();
panel.add(toolBar,BorderLayout.PAGE_START);
toolBar.addSeparator(new Dimension(150, 0));
JButton button1 = new JButton("Click Me");
toolBar.add(button1);
frame.setLayout(new BorderLayout());
frame.add(panel, BorderLayout.CENTER);
frame.setSize(new Dimension(400, 100));
frame.setVisible(true);
}
答案 1 :(得分:3)
如果JPanel
有一个BorderLayout
并且您将JToolBar
放在BorderLayout.CENTER
中,并且NORTH
中有SOUTH
,EAST
,{ {1}}和WEST
然后我看不出它为什么不起作用的原因。