改变颜色与样式的Button(加强版)
来源:互联网 发布:数据可视化界面设计 编辑:程序博客网 时间:2024/05/15 02:34
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(){
Action redAction=new ColorAction("Yellow",new ImageIcon("red.gif"),Color.RED);
Action greenAction=new ColorAction("Green",new ImageIcon("green.gif"),Color.GREEN);
Action blueAction=new ColorAction("Blue",new ImageIcon("blue.gif"),Color.BLUE);
Action whiteAction=new ColorAction("White",new ImageIcon("white.gif"),Color.WHITE);
add(new JButton(redAction));
add(new JButton(greenAction));
add(new JButton(blueAction));
add(new JButton(whiteAction));
InputMap imap=getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
imap.put(KeyStroke.getKeyStroke("ctrl R"), "panel.red");
imap.put(KeyStroke.getKeyStroke("ctrl G"), "panel.green");
imap.put(KeyStroke.getKeyStroke("ctrl B"), "panel.blue");
imap.put(KeyStroke.getKeyStroke("ctrl W"), "panel.white");
ActionMap amap=getActionMap();
amap.put("panel.red",redAction);
amap.put("panel.green",greenAction);
amap.put("panel.blue",blueAction);
amap.put("panel.white",whiteAction);
UIManager.LookAndFeelInfo[] infos=UIManager.getInstalledLookAndFeels();
for(UIManager.LookAndFeelInfo info:infos)
makeButton(info.getName(),info.getClassName());
}
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();
}
}
});
}
public 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,"Set the panel color to"+name.toLowerCase());
putValue("color",c);
}
public void actionPerformed(ActionEvent event){
Color c=(Color) getValue("color");
setBackground(c);
}
}
}
- 改变颜色与样式的Button(加强版)
- 改变颜色与样式的Button
- 改变颜色按钮(color button)的颜色
- 改变Button的字体颜色
- SWT 改变Button 的颜色
- iOS 改变状态栏的颜色(样式)
- button改变背景与文字颜色
- ArcGIS改变选择集选中时的样式与颜色
- ArcGIS改变选择集选中时的样式与颜色
- 全局改变text及Button 的样式
- 改变选中的Button背景样式
- 改变android中button的样式
- Android改变button等控件的样式
- 如何改变 detail disclosure button 的颜色
- 改变UIALertView中button的字体颜色
- 改变android5.0Button的背景颜色
- Button改变样式
- 如何改变gridview中gridline的样式(颜色等)!
- 43个绝对提升幽默感的爆强问答
- 学习单点登录的实现
- 如何与你的老大沟通?
- 线程启动带参数的方法(2)
- 大家帮忙解决一下啦。。。
- 改变颜色与样式的Button(加强版)
- Flex 4中如何设置TextFlow内超链接样式的例子
- 多条件查询代码(同时生成分页转向url)
- 主流报表工具比较之心得
- 天阴阴的 心阴阴的
- iptables 使用概要
- javascript 动态添加表格行
- 多重继承和虚继承的内存布局
- pku 2082