public class JToolBarTest {
public static void main(String []args){
ToolBarFrame frame=new ToolBarFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}class ToolBarFrame extends JFrame{
public ToolBarFrame(){
setTitle("ToolBarTest");
setSize(300,400);
JPanel panel =new JPanel();
add(panel,BorderLayout.CENTER);

Action blueAction=new ColorAction("",new ImageIcon("F://res//cm-create.gif"),Color.BLUE);
Action yellowAction=new ColorAction("",new ImageIcon("F://res//expand.gif"),Color.RED);
Action exitAction =new AbstractAction("",new ImageIcon("F://res//closeAll.gif")) {

@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
};
exitAction.putValue(Action.SHORT_DESCRIPTION, "Exit");
JToolBar bar=new JToolBar();
JButton blueButton=new JButton("tt");

//设置按钮的大小。
blueButton.setSize(45, 45);
JButton yellowButton=new JButton(yellowAction);
JButton exitButton=new JButton(exitAction);

bar.add(blueButton);
bar.add(yellowButton);
bar.add(exitButton);
add(bar,BorderLayout.NORTH);
}
private JPanel panel;

class ColorAction extends AbstractAction{ public ColorAction(String name,Icon icon,Color c){
putValue(Action.NAME,name);
putValue(Action.SMALL_ICON,icon);
putValue(Action.SHORT_DESCRIPTION, name+"background");
putValue("Color", c);
}
/* (non-Javadoc)
 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
 */
@Override
public void actionPerformed(ActionEvent arg0) {
Color c=(Color)getValue("Color");
panel.setBackground(c);
}
}
在线等……我想要的结果是按钮的大小可以随自己设置的大小变化而变化