用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();
}
}
效果图