用BoxLayout可以轻松实现JToolBar上的组件居中显示,前后添加Glue,代码如下:

 

 

import java.awt.BorderLayout;

import java.awt.Button;

import javax.swing.Box;

import javax.swing.BoxLayout;

import javax.swing.JToolBar;

import javax.swing.WindowConstants;

public class NewJFrame extends javax.swing.JFrame {

private JToolBar toolBar;

private Box box;

public NewJFrame() {

toolBar = new JToolBar();

box = new Box(BoxLayout.X_AXIS);

box.add(Box.createGlue());

box.add(new Button("b1"));

box.add(new Button("b2"));

box.add(Box.createGlue());

toolBar.add(box);

add(toolBar,BorderLayout.NORTH);

setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

setVisible(true);

pack();

setSize(400, 100);

}

public static void main(String[] args) {

new NewJFrame();

}

}

效果图