java:java中设置程序外观的方法
来源:互联网 发布:数据分析的算法 编辑:程序博客网 时间:2024/05/17 18:41
package com.xudeyu.event;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ActionMap;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.InputMap;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
public class ActionTest
{
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
ActionFrame frame = new ActionFrame();
frame.setDefaultCloseOperation(3);
frame.setVisible(true);
}
});
}
}
class ActionFrame extends JFrame
{
private JPanel buttonPanel;
private JComboBox box;
public ActionFrame()
{
setTitle("Action Test");
setSize(500, 400);
setLocationByPlatform(true);
buttonPanel = new JPanel();
box = new JComboBox();
addUIInComboBox();
buttonPanel.add(box);
box.addItemListener(new ItemListener()
{
public void itemStateChanged(ItemEvent e)
{
try
{
UIManager.setLookAndFeel(box.getSelectedItem()
.toString());
SwingUtilities.updateComponentTreeUI(buttonPanel);
}
catch (Exception ee)
{
ee.printStackTrace();
}
}
});
// 用Action创建一个button的action
Action buttonActionBlue = newColorActionTest("ActionButton",
new ImageIcon("test.jpg"), Color.BLUE);
//用某一个action初始化一个按钮。多个按钮可以共用一个action
JButton btnActionBlue = new JButton(buttonActionBlue);
buttonPanel.add(btnActionBlue);
// 为组件添加快捷键,将键值y赋值;
InputMap map =buttonPanel.getInputMap(JComponent.WHEN_FOCUSED);
map.put(KeyStroke.getKeyStroke("Y"),"buttonActionBlue");
//把刚才Y的赋值,添加一个action,即通过actionmap桥连键值和动作;
ActionMap actionMap = buttonPanel.getActionMap();
actionMap.put("buttonActionBlue", buttonActionBlue);
buttonPanel.addKeyListener(new MyKeyListener());
add(buttonPanel);
}
class ColorActionTest extends AbstractAction
{
public ColorActionTest(String buttonName, Icon icon, Colorc)
{
putValue(Action.NAME, buttonName);
putValue(Action.SMALL_ICON, icon);
putValue("Color", c);
putValue(Action.SHORT_DESCRIPTION, "set panel color to "
+ buttonName.toLowerCase());
}
public void actionPerformed(ActionEvent e)
{
Color c = (Color) getValue("Color");
buttonPanel.setBackground(c);
}
}
class MyKeyListener implements KeyListener
{
@Override
public void keyPressed(KeyEvent e)
{
if (e.getKeyChar() == 'A')
{
buttonPanel.setBackground(Color.black);
}
}
@Override
public void keyReleased(KeyEvent e)
{
if (e.getKeyCode() == 'B')
{
buttonPanel.setBackground(Color.cyan);
}
}
@Override
public void keyTyped(KeyEvent e)
{
}
}
private void addUIInComboBox()
{
// 获取所有的界面
UIManager.LookAndFeelInfo[] infos = UIManager
.getInstalledLookAndFeels();
for (UIManager.LookAndFeelInfo ui : infos)
{
box.addItem(ui.getClassName());
}
}
}
0 0
- java:java中设置程序外观的方法
- java swing中设置界面的外观风格
- Java 界面外观设置
- Java程序中多线程的优先级设置方法
- JAVA 桌面程序的外观风格
- java Swing 修改外观(LookAndFeel)的方法
- Java关于UI外观设置的帮助类UIHelper的几个方法
- Java中UIManager的几种外观
- Java中UIManager的几种外观
- 改变JAVA程序外观风格
- JAVA中配置环境变量的设置方法
- java 中环境变量的设置方法
- JAVA中设置全局变量的方法
- 让你的Java程序外观更酷
- JAVA 桌面程序的外观风格+主题场景 (更新)
- java程序中设置时区
- Java中执行外部程序的方法
- JAVA 中退出程序的方法
- 根据当前日期 获取 本周 ,本月 的起止日期
- 报刊订阅管理系统数据库
- linux内核内存管理学习之三(slab分配器)
- Working with DataFrames
- 回收带Lob字段表占用的空间
- java:java中设置程序外观的方法
- 生成范围内的不相同的随机数
- Java中用原生ZipInputStream压缩加压zip文件
- java对话框选择图片,并显示到lable上
- Java中的Action练习,java输入
- QTextEdit选择文本
- java:java中一个最简单的事件练习,…
- java:java中的Interface的应用,我…
- java:java中的字符流练习,继承关系…