下拉列表框组件

package com.java.charpter13;

import java.awt.Container;
import java.awt.FlowLayout;
import java.util.concurrent.locks.AbstractOwnableSynchronizer;

import javax.swing.AbstractListModel;
import javax.swing.ComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.WindowConstants;

public class JComBoxModelTest extends JFrame{
    private static final long serialVesionUID=1L;
    JComboBox<String> jc=new JComboBox<>(new MycomboBox());
    
    JLabel j1=new JLabel("请选择证件");
    
    
    public JComBoxModelTest()
    {
        setSize(160, 180);
        setVisible(true);
        setTitle("在窗口中设置下拉列表    ");
        
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        Container cp=getContentPane();
        cp.setLayout(new FlowLayout());
        
        cp.add(j1);
        cp.add(jc);
        
        
        
        
        
    }
    public static void main(String[] args) {
        new JComBoxModelTest();
    }
}

class MycomboBox extends AbstractListModel<String> implements ComboBoxModel<String>
{
    String selecteditem=null;
    String[] test={"身份证","军人证","学生证","工作证"};

@Override
    public int getSize() {
        // TODO Auto-generated method stub
        return test.length;
    }

@Override
    public String getElementAt(int index) {
        // TODO Auto-generated method stub
        return test[index];
    }

@Override
    public void setSelectedItem(Object anItem) {
        selecteditem=(String) anItem;
        
    }

@Override
    public Object getSelectedItem() {
        // TODO Auto-generated method stub
        return selecteditem;
    }
    
    public int getIndex() {
        for (int i = 0; i < test.length; i++) {
            if (test[i].equals(getSelectedItem()))
                return i;
        }
        return 0;
    }

}

时间: 2024-10-13 11:46:53

下拉列表框组件的相关文章

PyQt5教程——组件 Ⅱ(八)

这部分的教程将会继续介绍PyQt5的组件.我们这节教程的内容将包括像素图(QPixmap),单行文本框(QLineEdit)和下拉列表框(QComboBox) 像素图(QPixmap) 像素图(QPixmap)是各种用于处理图像的组件中的一个.它是在屏幕上显示图片的最佳选择.在我们代码例子中,我们将使用像素图来在窗口上显示一个图片. #!/usr/bin/python3 # -*- coding: utf-8 -*- """ ZetCode PyQt5 tutorial In

基本组件的使用

在本例演示了JTextField,JTextArea,JPasswordField,JCheckBox(复选框按钮),JRadioButton(下拉列表框组件),JLabel等基本组件的用法. 需要注意的是:若多个JRadioButton需要归为一组时,需要把这些JRadioButton使用add()方法添加到ButtonGroup中对象. import java.awt.*; import java.awt.event.*; import javax.swing.*; public class

如何学习AxureRP Axure学习方法

从作者最初接触的5.5版本,到5.6版本,到后来6.0的多个迭代版本,直到现在的6.5版本,AxureRP每次的版本升级都伴随着新功能的增 加,也解决了原型设计上的一些难题.这也从另一个方面诠释了“学无止境”,即这款工具一直在更新,不断的需要学习其新特性,掌握新特性的使用方式,使其在 原型设计当中发挥效用.应该来说,AxureRP是一款伟大的原型设计工具,其倡导的快速原型设计,丰富的动态交互功能,解决了原型从单一页面.图片到可 演示的动态页面转变的问题,使原型不再生硬,单调,更能帮助使用者减少理

程序员网址大全

1.  http://pengjiaheng.iteye.com/?page=2 虚拟机调优 2.  http://blog.csdn.net/column/details/jvm-principle.html  Java虚拟机规范 3.  http://blog.csdn.net/column/details/java-vm.html Java虚拟机规范 4.  http://www.infoq.com/cn/articles/microframeworks1-spring-boot/ 微服务

记公司的原型设计软件培训课程

这里首先感谢公司,也感谢培训讲师,具体名称和姓名就不指明了,这里会用到培训讲师的讲解资料,在此表示十分感谢! 在给企业客户做系统实施时,整个实施过程存在这么几方人马:客户业务部门及人员.客户IT部门及人员.我方项目经理及实施人员.我方技术主管及开发人员.业务人员懂业务,但是大部分不懂编程技术:而技术开发人员懂程序,大部分却不懂业务.每个方面的人马都有自己的诉求,各方人马如何有效地沟通是很重要的.否则就会出现:技术人员费了好大劲搞定的技术难题或需求功能,最后发现跟业务需求完全不搭边,需要返工重做:

程序员网址大全(转)

注:本文转自CSDN 聚沙成塔.水滴石穿的博客,博客地址:http://blog.csdn.net/mazhimazh/article/details/16971909 学习网站1. http://pengjiaheng.iteye.com/?page=2 虚拟机调优2. http://blog.csdn.net/column/details/jvm-principle.html Java虚拟机规范3. http://blog.csdn.net/column/details/java-vm.ht

COM组件(MFC篇)

目录 第1章创建进程内组件    1 1.1 目标    1 1.2 创建项目    3 1.2.1 VC++6.0    3 1.2.2 VC++2010    4 1.2.3 VC++6.0与VC++2010的区别    6 1.3 升级项目    6 1.3.1 增加接口定义文件    6 1.3.2 覆盖应用程序类的InitInstance函数    7 1.3.3 导出COM函数    7 1.3.4 修改rc文件    9 1.4 增加COM类    10 1.4.1 VC++6.0

Android 下拉列表框、文本框、菜单

1.下拉列表框(Spinner) 项目布局 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent&q

DELPHI控件:DBLookupComboBOX组件的使用方法

在许多数据表中,数据是以代码方式存放的,如在班级编码数据表tB03(表5.5)中,系部字段TB0309采用编码方式存放,系部真实名称则存放在系部编码表TB06.使用代码的好处是,用户可在编码表TB06中改变TB0602字段的系部名称,而不会影响使用该编码的其他数据表(如TB03)的运行6其缺点是当用户输人数据编码时,必须查询编码所表示的含义,如"OO"代表"基础部"."1 O"表示"机械系"等,这给数据录入带来很大的麻烦.最好