4

我是 Java Swing 的新手。我想设计一个JToolBarJToolBar应该放在 的中心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);
4

2 回答 2

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.

enter image description here

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);
}
于 2013-01-23T09:13:54.887 回答
3

如果您JPanel有 aBorderLayout并且您将JToolBarin并且您在,中BorderLayout.CENTER有组件NORTH,那么我看不出它不起作用的原因。SOUTHEASTWEST

于 2013-01-23T08:31:51.607 回答