java 如何如果jcomboBox中选中的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 如何如果jcomboBox中选中的值相关的知识,希望对你有一定的参考价值。

参考技术A 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());

参考技术B c_online = new JComboBox<String>();
c_online.addActionListener(new ActionListener() 
@Override
public void actionPerformed(ActionEvent e) 
if (c_online.getSelectedItem() != null
&& c_online.getSelectedItem().equals(t_ID.getText()))
c_online.setSelectedItem("All");
l_message.setText("Message(" + c_online.getSelectedItem() + ")");

);
c_online.setBounds(704, 46, 67, 21);
panel.add(c_online);


c_online.setBounds(704, 46, 67, 21);
panel.add(c_online);

见参考的代码:

参考技术C 泻药,我之前写过swing, int index = comboBox.getSelectedIndex(); 这个方法是获取jComboxBox选中的索引(索引从零开始)。获取值的话可以试一下,String value = comboBox.getSelectedValue(); 参考技术D String string = jcomboBox.getSelectedItem().toString();追问

继续请教,这个语句放在BUTTON 的Eventhander 里用不了,放在外面,无法在evetnt hander 里处理数据。怎么破?

追答

把jcomboBox定义成成员变量

追问

这个试过,还是不行,
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

唯一可以的是把Jcombobox这个在实例成成员方法,

追答

你把代码发我我帮你看看

追问

能加Q吗?代码太长发不出来。

追答

4.91190870晚上帮你看看

本回答被提问者采纳

从数据库动态添加 jcombobox 中的值

【中文标题】从数据库动态添加 jcombobox 中的值【英文标题】:adding values in jcombobox dynamically from database 【发布时间】:2014-02-23 04:20:17 【问题描述】:

我有 3 个单选按钮。如果选择按钮 1,那么我只想显示数据库中的 2 个值,如果我选择其他 2 个,那么我想显示 5 个值。我将通过为单选按钮生成一个事件方法来做到这一点。问题是从数据库中选择值并将其添加到组合框中。我正在为数据库使用 xampp。 谢谢

【问题讨论】:

【参考方案1】:

要修改 UI 组件,请使用 UIThreads EventQueue.invokeLater 或 SwingUtilities.invokeLater。 看看这个示例代码:

SwingUtilities.invokeLater(new Runnable() 

        @Override
        public void run() 
            try 
                Socket socket = new Socket("127.0.0.1", 6677);

                ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream());
                ObjectInputStream in = new ObjectInputStream(socket.getInputStream());

                out.writeObject(some_data_for_send_to_server_socket);
                out.flush();

                ArrayList<String> data =(ArrayList<String>)in.readObject();
                if (!data.isEmpty())
                    for(String s:data)
                        yourComboBox.addItem(s);
                    
                

             catch (Exception e) 
                e.printStackTrace();
            
        
    );

【讨论】:

以上是关于java 如何如果jcomboBox中选中的值的主要内容,如果未能解决你的问题,请参考以下文章

在winform中如何获取两个单选框中选中的那个值

怎样取JComboBox中的值?

java中如何将数据显示到jcombobox上?

当数据库中的表在java中更新时如何立即更新jcombobox

点击Jtable 后 如何让jcombobox 值为点击Jtable的值

JCOMBOBOX 内的重复值