jcombobox 问题请教 我想实现象web页上的select option 这样子的下拉框。现实的text和用来查询的value不同,在jcombobox上怎么实现阿。我看jcombobox上只能绑定string[]或者vector。这样子取得的都是text值。例如 下拉框显示 一月份,二月份,三月份。实际用来查询的是1,2,3。请问用jcombobox可以实现么??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Jcombobox以Vector构造时是可以使用对象的。你可以自己建一个对象然后把它放在Vector中比如Class Month{private String name = "";private int value = 0;public Month(){}public ...setXXX(...)public ...getXXX(...)public String toString(){return this.name;}}} 放在vector 中也无法实现value和text对应的功能吧,例如我的vector v=new vector(),v。add(“人员”)。现实的时候我怎么能得到这个人员就表示“person”呢?实现我要用person到数据库中检索的。 你的意思是我必须先建立一个value和text对应的对象是么? 如果是动态的呢?例如我想得到这个一个数据库中的所有表这个表是未知的。。 你可以建立Person对象,把Person对象加入到Vector中Vector就是一个Person的集合 还是不很清晰:例如我建立一个person对象public class person(){ String id,String name} vector.add(person=new Person()).在把vector绑定到Jcombobox上。这时候在下拉框中显示的到底是person的哪个阿?还是应该vector.add(person=new Person().getName())? 在这个例子中JComboBox会自动调用Object对象的toString()方法所以你要在Person中覆写toString()方法类似这样public String toString(){return this.name;} 哭死!!!直接说我的问题吧:还得麻烦您,您说的我明白。我要现实一个下拉框包含数据库中的 表名 选择表名后查询出该表的所有字段。其中 数据库包含的表从 select name,sid from sysobject 中获得。该表包含的字段要从另外的表中查询出来,根据得不是名字,而是sid select * frm table where sid='123232'这样子我的下拉列表该怎么初始。我怎么能通过name获得其对应的sid呢?(不包含在从数据库中查询一次的方法) 你应该至少有两个JComboBox假设第一个为数据库表列 我们给个名称tableComboBox第二个为字段表列 我们给各名称columnComboBox你建立两个对象Table对象和Column对象Table对象给tableComboBox用其中有name和sid两个属性 并有对应的get和set方法toString()就返回name在TableComboBox的事件中 你可以做如下处理:Table selectedTable = (Table)(tableComboBox.getSelectedItem());String sid = selectedTable.getSid();这样 就可以取到你需要的sid了你自己就可以做相应的处理了! tableComboBox列表的初始你可以参照下面方法:JComboBox tableComboBox= new JComboBox();// getTables()方法你自己设计,返回Table的集合Vector tables = getTables();ComboBoxModel tablesModel = new DefaultComboBoxModel(tables);tableComboBox.setModel(tablesModel); 存储和显示文章的问题!! 关于getactioncommand的用法 log4j日志文件输出到临时路径 求教SQLSERVER的在struts里的驱动问题 英文操作系统下中文显示的问题 java程序执行linux命令和脚本??? 关于时间型和字符串型的转化问题?十万火急 读取一个1000万行的文件 图形界面的问题! 谁熟悉DB2XML套件 大家帮忙看看应该怎么设计!~! c++转换到java
是可以使用对象的。你可以自己建一个对象
然后把它放在Vector中比如
Class Month{
private String name = "";
private int value = 0;
public Month(){
}
public ...setXXX(...)
public ...getXXX(...)public String toString(){
return this.name;
}
}
}
把Person对象加入到Vector中
Vector就是一个Person的集合
例如我建立一个person对象
public class person(){ String id,String name}
vector.add(person=new Person()).
在把vector绑定到Jcombobox上。
这时候在下拉框中显示的到底是person的哪个阿?
还是应该vector.add(person=new Person().getName())?
JComboBox会自动调用Object对象的toString()方法
所以
你要在Person中覆写toString()方法
类似这样
public String toString(){
return this.name;
}
我要现实一个下拉框包含数据库中的 表名 选择表名后查询出该表的所有字段。
其中 数据库包含的表从 select name,sid from sysobject 中获得。
该表包含的字段要从另外的表中查询出来,根据得不是名字,而是sid select * frm table where sid='123232'
这样子我的下拉列表该怎么初始。我怎么能通过name获得其对应的sid呢?(不包含在从数据库中查询一次的方法)
假设第一个为数据库表列 我们给个名称tableComboBox
第二个为字段表列 我们给各名称columnComboBox你建立两个对象
Table对象和Column对象Table对象给tableComboBox用
其中有name和sid两个属性 并有对应的get和set方法
toString()就返回name在TableComboBox的事件中 你可以做如下处理:
Table selectedTable = (Table)(tableComboBox.getSelectedItem());
String sid = selectedTable.getSid();
这样 就可以取到你需要的sid了
你自己就可以做相应的处理了!
你可以参照下面方法:JComboBox tableComboBox= new JComboBox();
// getTables()方法你自己设计,返回Table的集合
Vector tables = getTables();
ComboBoxModel tablesModel = new DefaultComboBoxModel(tables);
tableComboBox.setModel(tablesModel);