📄 components2.java
字号:
/*
* @(#)Components2.java 2007-4-27
* Copyright 2007 AIC. All rights reserved.
*/
package components;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* Demonstrating JButton, JToggleButton, JCheckBox, JRadioButton
*
* Note:
* Their construtors and methods, listeners.
*
* @author Henry Zhu
*/
public class Components2 extends AbstractComponents {
private static final long serialVersionUID = 1L;
private JButton button;
private JToggleButton toggleButton;
private JCheckBox border, focus;
private JRadioButton red, green, blue;
protected void initComponents(Box box) {
// Icon image = new ImageIcon("logo.gif");
/* =================JButton================== */
// # JButton constructors
// button = new JButton();
button = new JButton("Color");
// button = new JButton(image);
// button = new JButton("Color", image);
// # JButton methods (inherit from AbstractButton)
button.setActionCommand("Choose color");
button.setMaximumSize(new Dimension(120, 30));
// # JButton Event Listener
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Choose color")) {
// display JColorChooser with initial color
Color color = button.getBackground();
color = JColorChooser.showDialog(Components2.this,
"Choose a color", color);
// if choose a color, change button's background color
if (color != null)
button.setBackground(color);
}
}
});
box.add(button);
box.add(Box.createVerticalStrut(20));
/* ===============JToggleButton=============== */
// # JToggleButton constructors
// toggleButton = new JToggleButton();
// toggleButton = new JToggleButton("Enabled");
toggleButton = new JToggleButton("Enabled", true);
// # JToggleButton methods
// toggleButton.setText(JToggleButton);
// boolean flag = toggleButton.isSelected();
toggleButton.setMaximumSize(new Dimension(120, 30));
// # JToggleButton Event Listeners
toggleButton.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
button.setEnabled(toggleButton.isSelected());
// if (e.getStateChange() == ItemEvent.SELECTED) {
// System.out.println("ItemEvent.SELECTED");
// }
}
});
// toggleButton.addActionListener(new ActionListener() {
//
// public void actionPerformed(ActionEvent e) {
// button.setEnabled(toggleButton.isSelected());
// }
//
// });
box.add(toggleButton);
box.add(Box.createVerticalStrut(20));
/* ================JCheckBox================= */
// # JCheckBox constructors
border = new JCheckBox("Paint border", true);
focus = new JCheckBox("Focusable", true);
// # JToggleButton Event Listener
CheckBoxListener cbl = new CheckBoxListener();
border.addItemListener(cbl);
focus.addItemListener(cbl);
box.add(border);
box.add(focus);
box.add(Box.createVerticalStrut(20));
/* ===============JRadioButton================ */
ButtonGroup group = new ButtonGroup();
// # JRadioButton constructors
red = new JRadioButton("Red");
green = new JRadioButton("Green");
blue = new JRadioButton("Blue", true);
// # JRadioButton Event Listeners
red.addItemListener(new RadioButtonListener(Color.RED));
green.addItemListener(new RadioButtonListener(Color.GREEN));
blue.addItemListener(new RadioButtonListener(Color.BLUE));
group.add(red);
group.add(green);
group.add(blue);
box.add(red);
box.add(green);
box.add(blue);
box.add(Box.createVerticalStrut(20));
/* ===============AbstractButton================ */
// # AbstractButton Icon methods
AbstractButton ab = new JRadioButton();
ab.setIcon(new ImageIcon("image\\rb.gif"));
ab.setPressedIcon(new ImageIcon("image\\rbp.gif"));
ab.setRolloverIcon(new ImageIcon("image\\rbr.gif"));
ab.setRolloverSelectedIcon(new ImageIcon("image\\rbrs.gif"));
ab.setSelectedIcon(new ImageIcon("image\\rbs.gif"));
box.add(ab);
}
// Listen to JCheckBox
private class CheckBoxListener implements ItemListener {
// private int style = Font.PLAIN;
public void itemStateChanged(ItemEvent e) {
if (e.getSource() == border) {
button.setBorderPainted(border.isSelected());
} else if (e.getSource() == focus) {
red.setFocusable(focus.isSelected());
}
}
}
// Listen to JRadioButton
private class RadioButtonListener implements ItemListener {
private Color color;
public RadioButtonListener(Color color) {
this.color = color;
}
public void itemStateChanged(ItemEvent e) {
// if radio button selected, change button's background color
if (e.getStateChange() == ItemEvent.SELECTED) {
button.setBackground(color);
}
}
}
/**
*
*
* @param title
*/
public Components2(String title) {
// invoke super constructor
super(title);
}
public static void main(String args[]) {
// create Components2 object
String title = "Components: JButton, JToggleButton, "
+ "JRadioButton, JCheckBox";
new Components2(title);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -