0

我有一个JFrame包含 2 JPanels。第一个包含:JTextFieldJButton“添加”。这JButton应该得到写在JTextField.

下一个JPanel包含一个JComboBox显示来自 的数据JTextField,这是通过按钮提供的。

所有代码都运行良好。

但是,当我通过按钮进行插入时,数据可以插入数据库中,但JComboBox不包含数据。

我目前必须关闭并打开 jframe,然后我发现组合框中显示的数据。

我不知道当我在of 中JComboBox添加新名称时,我该怎么做才能立即显示数据。JTextFieldJPanel1

4

1 回答 1

1

你的意思是,像这样的东西?

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JComboBox;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;


public class Wut {

    private JFrame frame;
    private JTextField textField;
    private JPanel panel_1;
    private JComboBox comboBox;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Wut window = new Wut();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public Wut() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame();
        frame.setBounds(100, 100, 450, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        comboBox = new JComboBox();
        JPanel panel = new JPanel();
        frame.getContentPane().add(panel, BorderLayout.WEST);

        textField = new JTextField();
        panel.add(textField);
        textField.setColumns(10);

        JButton btnAdd = new JButton("Add");
        btnAdd.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                            if (!textField.getText().toString().equals("")) {
                    comboBox.addItem(textField.getText().toString());
                                comboBOx.setSelectedItem(textField.getText().toString());
                                textField.setText("");
                            }
            }
        });
        panel.add(btnAdd);

        panel_1 = new JPanel();
        frame.getContentPane().add(panel_1, BorderLayout.EAST);

        panel_1.add(comboBox);
    }

}

当您单击“添加”按钮时,它会将文本字段中的任何内容添加到组合框中。

于 2013-07-02T16:26:52.837 回答