JColorChooser,颜色选取器。JColorChooser提供一个用于允许用户操作和选择颜色的控制器对话框。
class ColorSelectedUse {
public ColorSelectedUse() {
JFrame jFrame = new JFrame();
JPanel jPanel = new JPanel();
final JLabel jLabel = new JLabel();
jLabel.setPreferredSize(new Dimension(150, 150));
jLabel.setOpaque(true);
jPanel.add(jLabel);
JButton jButton = new JButton("选择颜色");
jButton.addActionListener(e -> {
/**
* 显示一个颜色选取器对话框(线程将被阻塞, 直到对话框被关闭)
* 参数说明:
* component: 对话框的父组件, 对话框将紧靠 component 的中心显示; 如果传 null, 则对话框显示在屏幕中心。
* title: 对话框标题。
* initialColor: 初始选中的颜色; 如果传 null, 则默认为非透明白色。
* 返回值:
* 返回选择的颜色; 如果点击了取消或关闭, 则返回 null。
*/
Color color = JColorChooser.showDialog(jFrame, "选取颜色", null);
// 如果用户取消或关闭窗口, 则返回的 color 为 null
if (color == null) {
return;
}
// 把选取的颜色设置为标签的背景
jLabel.setBackground(color);
// 获取颜色的 ARGB 各个分量值
int alpha = color.getAlpha();
int red = color.getRed();
int green = color.getGreen();
int blue = color.getBlue();
jLabel.setText("A=" + String.format("%02x", alpha) + ", " +
String.format("#%02x%02x%02x", red, green, blue));
});
jPanel.add(jButton);
jFrame.setContentPane(jPanel);
// 省略公共代码
}
}
菜单栏和工具栏
JMenuBar,菜单栏。菜单栏组件添加到 JFrame 窗口后,在窗口的内容显示区域的顶部出现。实现一个菜单栏主要涉及三种类:
- JMenuBar:表示一个菜单栏。
- JMenu:表示菜单栏上的一个一级菜单。
- JMenuItem, JCheckBoxMenuItem, JRadioButtonMenuItem:表示一级菜单下的一个子菜单项,三者分别表示 普通的子菜单、带复选框的子菜单、带单选按钮的子菜单。
PS: JMenu 继承自 JMenuItem,所以一个 JMenu 也可以当做是一个二级子菜单项,通过 JMenu 和 JMenuItem 之间的嵌套,可实现多级子菜单效果。
构造参数和常用方法如下
类 | 方法 | 功能 |
JMenuItem | void setText(String text) | 设置菜单显示的文本 |
JMenuItem | void setIcon(Icon defaultIcon) | 设置菜单显示的图标 |
全参构造 | JMenuItem(String text, Icon icon) | text: 菜单显示的文本,icon: 菜单显示的图标 |
JMenuItem | void setMnemonic(int mnemonic) | 设置菜单的键盘助记符 |
JMenuItem | void setAccelerator(KeyStroke keyStroke) | 设置修改键,使用键盘快捷键直接触发菜单项的动作 |
JMenuItem | void addActionListener(ActionListener l) 相关阅读:
|