java swing model实现JComboBox

效果图

源代码:

import java.awt.Container ;
import java.awt.GridLayout ;
import java.awt.Font ;
import java.awt.event.WindowListener ;
import java.awt.event.WindowEvent ;
import java.awt.event.WindowAdapter ;
import javax.swing.JFrame ;
import javax.swing.JLabel ;
import javax.swing.JComboBox ;
import javax.swing.ComboBoxEditor ;
import javax.swing.AbstractListModel ;
import javax.swing.ComboBoxModel ;
import javax.swing.BorderFactory ;
import java.util.Vector ;

class MyComboBoxModel extends AbstractListModel implements ComboBoxModel
{
   String nations[] = {"天朝","苞米","三胖","奥观海","三哥"} ;
   String item = null;
   public Object getSelectedItem()
   {
        return this.item ;
   }

   public void setSelectedItem(Object anItem)
   {
       this.item = (String)anItem ;
   }

   public Object getElementAt(int in)
  {
     return this.nations[in] ;
  }

  public int getSize()
  {
      return this.nations.length ;
  }
} ;

class MyComboBox
{
    private String defaultMsg = "输入或者选择国籍" ;
    private JFrame frame = new JFrame("投胎系统") ;
    private Container con = frame.getContentPane() ;
    private JComboBox jcb1 = null ;
    Font fnt = new Font("楷体",Font.BOLD,20) ;
    //private JComboBox jcb2 = null ;

    public MyComboBox()
    {
       this.frame.setLayout(new GridLayout(2,1)) ;

       this.jcb1 = new JComboBox(new MyComboBoxModel()) ;
       this.jcb1.setEditable(true) ;

       jcb1.setBorder(BorderFactory.createTitledBorder("请选择投胎国籍")) ;
       ComboBoxEditor editor = null;
       editor = this.jcb1.getEditor() ;
       this.jcb1.configureEditor(editor,defaultMsg) ;
       this.jcb1.setMaximumRowCount(4) ;    //设置最大显示选项

       con.add(this.jcb1) ;
       con.add(new JLabel("赢在起跑线!")) ;

       this.frame.setSize(180,150) ;
       this.frame.setVisible(true) ;

    }
}

class Tester
{
   public static void main(String args[])
   {
        new MyComboBox() ;
   }
}
时间: 2024-10-20 08:51:05

java swing model实现JComboBox的相关文章

Java Swing应用程序 JComboBox下拉框联动查询

在web项目中,通过下拉框.JQuery和ajax可以实现下拉框联动查询. 譬如说,当你查询某个地方时,页面上有:省份:<下拉框省份> 市区:<下拉框市区> 县乡:<下拉框县乡> 街道:<街道下拉框> 查询 譬如说,你选择了省:江苏省,那么在市区中只会显示江苏省的市区 譬如:(网上的图) 具体详细实现可以参考,写得挺好的:http://blog.csdn.net/sinat_24491773/article/details/50810471 那么在swing

Java Swing 编程 JComboBox 显示不全问题。

最近在做Java Swing编程一个小例子.然后遇到JComboBox 宽度固定,而下拉列表比较长,导致显示不全的问题. 解决的思路想到两种,1:下拉列表当显示不全的时候,换行显示.2:在下拉列表停几秒后,悬浮框提示信息. 第一种找了很多方法都没有成功.因此选择了第二种,具体解决如下: 1.提示框类. import java.awt.Component; import javax.swing.JComboBox; import javax.swing.JList; import javax.sw

Swing开发之JComboBox篇

JList和ComboBox很相似,因为这两个组件都显示一个项列表.因此,它们都有扩展ListModel接口的模型.而且,这两个组件都有绘制器,这些绘制器通过实现ListCellBenderer接口来绘制列表单元. 但是,列表和组合框在施工方面还是有差别的.列表单是不可编辑的,但是组合框可以配备一个编辑器.JComboBox组件把编辑工作交给实现ComboBoxEdit接口的一个对象来处理. 列表支持三个选取模式,并把选取工作实现ListSelectionModel接口的一个对象来处理.组合框在

java Swing 之下拉列表控件

/** * Java Swing 之下拉列表控件 * @author gao */ package com.gao; import java.awt.FlowLayout; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; public class

Java Swing 使用总结(转载)

随笔转载自:此去经年ぢ 地址:http://www.cnblogs.com/FLFL/p/5369756.html 1.     GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在DOS命令行中通过javac java命令启动程序. 软件的交互的方式:   1. 命令交互方式    图书管理系统 2. 图形交互方式 ava提供了专业的API用于开发图形用户界面 GUI--> Graphic  User   Interface   将要了解GUI API的框架结构,以及GUI组

Java Swing界面编程(4)---获取本地字体

ubuntu 安装tp-link usb无线网卡 tl-wn821n 全过程 1.   无线网卡识别 在终端中输入   lsusb  ,观察插入USB无线网卡tl-wn821n,是否多显示出Realtek Semiconductor Corp .如有显示即说明该无线网卡已被ubuntu识别 Bus 002 Device 005: ID 0bda:8178 Realtek Semiconductor Corp.  Bus 002 Device 004: ID 413c:3016 Dell Comp

Java Swing客户端小项目

记录一下两个用java swing写的客户端. 项目1: 关键词:swing  jtable 代码如下: 1.主类: package com.my.agent.client; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java

Java实现酒店管理系统之Java swing酒店管理系统的实现及源码下载

今天给大家提供一个由Java swing实现的酒店管理系统,数据库采用mysql,我会贴上部分代码,完整的代码请看文章最下方下载,下面看代码: 1.主框架代码: package 主框架窗口; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java

Java Swing布局管理器GridBagLayout的使用示例 [转]

GridBagLayout是java里面最重要的布局管理器之一,可以做出很复杂的布局,可以说GridBagLayout是必须要学好的的, GridBagLayout 类是一个灵活的布局管理器,它不要求组件的大小相同便可以将组件垂直.水平或沿它们的基线对齐. 每个 GridBagLayout 对象维持一个动态的矩形单元网格,每个组件占用一个或多个这样的单元,该单元被称为显示区域. 下面就通过一个记事本案例去说明GridBagLayout的使用方法. 分析: 带有箭头的说明可以拉伸的. 4占用4个格