netbeans中的组合框

时间:2014-03-16 19:50:20

标签: java mysql netbeans combobox

我在netbeans中有一个gui。 3个文本域动物id(即MAM001),动物类型(LION)和昵称(SIMBA)。当输入三个文本字段时,用户可以单击提交按钮,该按钮将存储来自三个文本字段的值到数据库中。

我想做但不知道该怎么做,就是使用一个包含三个不同字段的组合框(MAMMAL,BIRD REPTILE)。当我从组合框中选择哺乳动物时,它将在后台更改mysql语句,以便输入文本字段的数据将进入数据库中的哺乳动物表。如果我点击组合框中的“鸟”字段,将会发生同样的事情,除了数据将进入数据库中的鸟表。

非常感谢任何帮助 谢谢。

1 个答案:

答案 0 :(得分:1)

我假设你想对你的组合框上的动作事件作出反应。您可以在ItemListener的帮助下完成此操作。有关详细信息,请参阅java api

一种方法可能如下:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;

public class DemoFrame {

private JFrame frame;
private JComboBox comboBox;
private String[] items = {"IT1","IT2","IT3"};

public DemoFrame() {
    frame = new JFrame("Demo Frame");
    frame.setSize(300, 300);
    comboBox = new JComboBox(items);
    comboBox.addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            //perform here your database querys for specific items.

            if(e.getItem().equals(items[0]) && e.getStateChange() == ItemEvent.SELECTED) {
                //db query for it "IT1"
            }
        }

    });

    frame.add(comboBox);
    frame.setVisible(true);

}

public static void main(String[] args) {
    java.awt.EventQueue.invokeLater(new Runnable() {
        @Override
        public void run() {
            new DemoFrame();
        }
    });
}

}