📄 components3.java
字号:
/*
* @(#)Components3.java 2007-4-27
* Copyright 2007 AIC. All rights reserved.
*/
package components;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
/**
* Demonstrating JComboBox, JList, JSlider
*
* Note:
* Their construtors and methods, listeners.
*
* @author Henry Zhu
*/
public class Components3 extends AbstractComponents {
private static final long serialVersionUID = 1L;
private JComboBox comboBox;
private JList list;
private int count;
private JLabel label;
private JSlider slider;
protected void initComponents(Box box) {
String[] items = {"one", "two", "three"};
/* =================JComboBox================= */
// # JComboBox constructors
comboBox = new JComboBox();
comboBox = new JComboBox(items);
// # JComboBox methods
comboBox.addItem("four");
comboBox.addItem("five");
comboBox.setMaximumRowCount(3);
// int index = comboBox.getSelectedIndex();
// String item = (String)comboBox.getSelectedItem();
// # JComboBox Event Listener (anonymous inner class)
comboBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
// if combo box selected, change button's background color
if ( e.getStateChange() == ItemEvent.SELECTED ) {
String str = "Selected index: " + comboBox.getSelectedIndex()
+ "\nSelected item: " + comboBox.getSelectedItem();
JOptionPane.showMessageDialog(Components3.this, str);
} /*else {
String str = "Old item: " + e.getItem();
JOptionPane.showMessageDialog(Components3.this, str);
}*/
}
});
box.add(comboBox);
box.add(Box.createVerticalStrut(20));
/* ===================JList=================== */
// # JList constructors
list = new JList();
// list = new JList(items);
// # JList methods
list.setListData(items);
list.setVisibleRowCount(5);
list.setFixedCellWidth(200);
// list.setFixedCellHeight(20);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION );
// ListSelectionModel.SINGLE_SELECTION
// ListSelectionModel.SINGLE_INTERVAL_SELECTION
// ListSelectionModel.MULTIPLE_INTERVAL_SELECTION
// int index = list.getSelectedIndex();
// int[] indices = list.getSelectedIndices();
// Object value = list.getSelectedValue();
// Object[] values = list.getSelectedValues();
count = 0;
// # JList Event Listener (anonymous inner class)
list.addListSelectionListener( new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
if (!e.getValueIsAdjusting()) { // List values have changed
String str = (String)list.getSelectedValue();
JOptionPane.showMessageDialog(Components3.this, str);
label.setText("Message :" + count++ + str);
}
}
});
box.add(list);
box.add(Box.createVerticalStrut(20));
label = new JLabel("Message:");
box.add(label);
/* ==================JSlider================== */
// # JSlider constructors
// slider = new JSlider(10, 100);
slider = new JSlider(SwingConstants.HORIZONTAL, 10, 100, 20);
// # JSlider methods
slider.setMajorTickSpacing(5);
slider.setPaintTicks(true);
// int value = slider.getValue();
// # JSlider Event Listener (anonymous inner class)
slider.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
list.setFixedCellHeight(slider.getValue());
}
});
box.add(slider);
box.add(Box.createVerticalStrut(20));
}
/**
*
* @param title
*/
public Components3(String title) {
super(title);
}
public static void main(String args[]) {
// create Components3 object
String title = "Components: JComboBox, JList, JSlider";
new Components3(title);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -