import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class FirstSample{
public static void main(String[] args){
ButtonFrame frame=new ButtonFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class ButtonFrame extends JFrame{
public ButtonFrame(){
setTitle("Michael");
setSize(WIDTH,HEIGHT);
ButtonPanel panel=new ButtonPanel();
add(panel);
}
public static final int WIDTH=800;
public static final int HEIGHT=600;
}
class ButtonPanel extends JPanel{
public ButtonPanel(){
JButton redButton=new JButton("Red");
JButton greenButton=new JButton("Green");
JButton blueButton=new JButton("Blue");
JButton whiteButton=new JButton("WHITE");
add(redButton);
add(greenButton);
add(blueButton);
add(whiteButton);
ColorAction redAction=new ColorAction(Color.RED);
ColorAction greenAction=new ColorAction(Color.GREEN);
ColorAction blueAction=new ColorAction(Color.BLUE);
ColorAction whiteAction=new ColorAction(Color.WHITE);
redButton.addActionListener(redAction);
greenButton.addActionListener(greenAction);
blueButton.addActionListener(blueAction);
whiteButton.addActionListener(whiteAction);
UIManager.LookAndFeelInfo[] infos=UIManager.getInstalledLookAndFeels();
for(UIManager.LookAndFeelInfo info:infos)
makeButton(info.getName(),info.getClassName());
}
private class ColorAction implements ActionListener{
public ColorAction(Color c){
backgroundColor=c;
}
public void actionPerformed(ActionEvent even){
setBackground(backgroundColor);
}
private Color backgroundColor;
}
void makeButton(String name,final String plafName){
JButton button=new JButton(name);
add(button);
button.addActionListener(new
ActionListener(){
public void actionPerformed(ActionEvent event){
try{
UIManager.setLookAndFeel(plafName);
SwingUtilities.updateComponentTreeUI(ButtonPanel.this);
}
catch (Exception e){
e.printStackTrace();
}
}
});
}
}
改变颜色与样式的Button
最新推荐文章于 2024-04-29 11:04:08 发布