想不到还有跟我一样遭遇的兄弟,,楼主问题解决了吗?????????????/
我当前也碰到这样一个问题,,,,,,,,
请哪位路过的大虾给指导下!!!!!!!!!!!关注。。

解决方案 »

  1.   

    JComboBox在可编辑的时候,接受输入的是一个JTextField控件
    可以用下面的方法得到该JTextField的实例
    JTextField textField = (JTextField) comboBox.getEditor().getEditorComponent();
    这儿有一个例子,输入后按回车就加到ComboBox中了
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
     class ComboxFrame extends JFrame {
        
    DefaultComboBoxModel defaultModel = new DefaultComboBoxModel();
    JComboBox  comboBox = new JComboBox( defaultModel );
    private void addComboBox()
     {
    comboBox.setEditable( true );
     final JTextField textField = (JTextField) comboBox.getEditor().getEditorComponent();
     textField.addKeyListener( new KeyListener()
     {
    public void keyPressed(KeyEvent e)
     {
    if( e.getKeyCode() == KeyEvent.VK_ENTER )
     {
    comboBox.addItem( textField.getText() );
    textField.setText( "" );
     }
     }
    public void keyReleased(KeyEvent e)
     {

     }
     public void keyTyped(KeyEvent e)
     {
     
     }
     });
    Container con = getContentPane();
    con.setLayout( new FlowLayout() );
    con.add( comboBox ); 
     }
     public ComboxFrame() {        setTitle("ComboxFrame");
            setSize(new Dimension(400, 400));
            // Add window listener.
            this.addWindowListener
            (
                new WindowAdapter() {
                    public void windowClosing(WindowEvent e) {
                        ComboxFrame.this.windowClosed();
                    }
                }
            ); 
    addComboBox();
    setVisible( true );
        }    protected void windowClosed() {        System.exit(0);
        }
    }
    public class ComboxTest 
    {
    public static void main(String[] args) 
    {
    new ComboxFrame();
    }
    }