Java从入门到精通阅读笔记(第4版)14

来源:互联网 发布:复式记账软件 编辑:程序博客网 时间:2024/06/07 06:35

13.7列表组件

下拉列表
1.JComboBox类
public JComboBox();
public JComboBox(ComboBoxModel dataModel);
public JComboBox(Object[] array Data);
public JComboBox(Vector vector);


public void setSelectedItem(Object item);
public Object getSelectedItem();
getsize();返回列表的长度
getElementAt(int index);返回指定索引处的值
package com.lzw;import java.awt.*;import javax.swing.*;public class JComboBoxModelTest extends JFrame {/** *  */private static final long serialVersionUID = 1L;JComboBox<String> jc = new JComboBox<>(new MyComboBox());JLabel jl = new JLabel("请选择证件:");public JComboBoxModelTest() {setSize(new Dimension(160, 180));setVisible(true);setTitle("在窗口中设置下拉列表框");setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);Container cp = getContentPane();cp.setLayout(new FlowLayout());cp.add(jl);cp.add(jc);}public static void main(String[] args) {new JComboBoxModelTest();}}class MyComboBox extends AbstractListModel<String> implements ComboBoxModel<String> {/** *  */private static final long serialVersionUID = 1L;String selecteditem = null;String[] test = { "身份证", "军人证", "学生证", "工作证" };public String getElementAt(int index) {return test[index];}public int getSize() {return test.length;}public void setSelectedItem(Object item) {selecteditem = (String) item;}public Object getSelectedItem() {return selecteditem;}public int getIndex() {for (int i = 0; i < test.length; i++) {if (test[i].equals(getSelectedItem()))return i;}return 0;}}



列表框组件JList

package com.lzw;import java.awt.*;import javax.swing.*;public class JListTest extends JFrame {/** *  */private static final long serialVersionUID = 1L;public JListTest() {Container cp = getContentPane();cp.setLayout(null);JList<String> jl = new JList<>(new MyListModel());JScrollPane js = new JScrollPane(jl);js.setBounds(10, 10, 100, 100);cp.add(js);setTitle("在这个窗体中使用了列表框");setSize(200, 150);setVisible(true);setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);}public static void main(String args[]) {new JListTest();}}class MyListModel extends AbstractListModel<String> {/** *  */private static final long serialVersionUID = 1L;private String[] contents = { "列表1", "列表2", "列表3", "列表4", "列表5", "列表6" };public String getElementAt(int x) {if (x < contents.length)return contents[x++];elsereturn null;}public int getSize() {return contents.length;}}


0 0
原创粉丝点击