java关于JComboBox如何取值的问题
是这样,JComboBox有三个选项,,分别为超级用户,管理员,普通用户。请问我再数据库插入时,如何获取我所选的内容,用JComboBox的那个方法。在插入数据库时我想把...
是这样,JComboBox有三个选项,,分别为超级用户,管理员,普通用户。请问我再数据库插入时,如何获取我所选的内容,用JComboBox的那个方法。在插入数据库时我想把他转换成对应的int值,如,1,2,3等。该如何做。菜鸟求解
展开
6个回答
展开全部
JComboBox有一个getSelectedItem()的方法得到选择的值和一个getSelectedIndex()得到选择值的索引。
getSelectedObjects()得到选择的多个值。getItemCount()是得到选择的数量。getItemAt(int
i)是得到指定索引的值。
下面是一个具体的例子,首先输出所有下拉框的值,然后是在下拉框选择改变是输出所选择的的值。
public class ComboxGet implements ItemListener
{
private JComboBox<Object> comboBox ;
public ComboxGet()
{
JFrame frame = new JFrame("window");
final String def[] =
{ "A", "B", "C", "D", "E" };
comboBox = new JComboBox<Object>(def);
comboBox.addItemListener(this);
comboBox.setEditable(true);
frame.add(comboBox, BorderLayout.NORTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setVisible(true);
for(int i = 0;i<comboBox.getItemCount();i++)
System.out.println(comboBox.getItemAt(i));
}
public static void main(final String args[])
{
new ComboxGet();
}
@Override
public void itemStateChanged(ItemEvent e)
{
System.out.println(comboBox.getSelectedItem());
}
}
展开全部
getSelectedIndex()
返回列表中与给定项匹配的第一个选项是int的。
getSelectedItem()
返回当前所选项是 Object类型的。
返回列表中与给定项匹配的第一个选项是int的。
getSelectedItem()
返回当前所选项是 Object类型的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过 getSelectedIndex() 就可以返回int 比如你选中的是 第二个则返回 1; (下拉表中你选择的是什么就返回什么)所以只需为不同的返回值写不同的事件处理即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下面是实例代码:有什么不懂的的追问或hi
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class JCom implements ActionListener{
JComboBox<String> jBox;
public JCom() {
jBox=new JComboBox<String>();
jBox.addItem("超级用户");
jBox.addItem("管理员");
jBox.addItem("普通用户");
jBox.addActionListener(this);
JFrame jf=new JFrame("测试");
JPanel jp=new JPanel();
jp.add(jBox);
jf.add(jp);
jf.setBounds(200, 100, 300, 400);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[]args){
new JCom();
}
@Override
public void actionPerformed(ActionEvent e) {
int i=jBox.getSelectedIndex()+1;
String s=(String)jBox.getSelectedItem();
System.out.println("你选中的是第"+i+"项"+",内容是:"+s);
// 把i插入你数据库中对应的属性字段
}
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class JCom implements ActionListener{
JComboBox<String> jBox;
public JCom() {
jBox=new JComboBox<String>();
jBox.addItem("超级用户");
jBox.addItem("管理员");
jBox.addItem("普通用户");
jBox.addActionListener(this);
JFrame jf=new JFrame("测试");
JPanel jp=new JPanel();
jp.add(jBox);
jf.add(jp);
jf.setBounds(200, 100, 300, 400);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[]args){
new JCom();
}
@Override
public void actionPerformed(ActionEvent e) {
int i=jBox.getSelectedIndex()+1;
String s=(String)jBox.getSelectedItem();
System.out.println("你选中的是第"+i+"项"+",内容是:"+s);
// 把i插入你数据库中对应的属性字段
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
进口javax.swing.JComboBox;进口javax.swing.JFrame
公共类的Test2的延伸的JFrame实现了Runnable {
私人的JComboBox盒的;
公众TEST2(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE),的;
盒=新的JComboBox();
box.addItem(“葡萄”);
box.AddItem(“香蕉”);
box.AddItem(“苹果”);
这包();}
公共静态无效的主要(字串[] args){
Test2的测试=新的Test2的();
test.setVisible的(真);
主题T =新主题(测试);
t.start();
}
@覆盖
公共无效的run(){
/ / TODO自动生成方法存根
而(真){
字符串值=(字符串)box.getSelectedItem();
System.out.println(值);
尝试{
视频下载(1000);
}赶上(InterruptedException的E){
/ / TODO自动生成的catch块
e.printStackTrace();
}
}
}
}
公共类的Test2的延伸的JFrame实现了Runnable {
私人的JComboBox盒的;
公众TEST2(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE),的;
盒=新的JComboBox();
box.addItem(“葡萄”);
box.AddItem(“香蕉”);
box.AddItem(“苹果”);
这包();}
公共静态无效的主要(字串[] args){
Test2的测试=新的Test2的();
test.setVisible的(真);
主题T =新主题(测试);
t.start();
}
@覆盖
公共无效的run(){
/ / TODO自动生成方法存根
而(真){
字符串值=(字符串)box.getSelectedItem();
System.out.println(值);
尝试{
视频下载(1000);
}赶上(InterruptedException的E){
/ / TODO自动生成的catch块
e.printStackTrace();
}
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询