Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过JFrames进行数据传输_Java_Swing_Jframe_Jcombobox_Actionevent - Fatal编程技术网

Java 通过JFrames进行数据传输

Java 通过JFrames进行数据传输,java,swing,jframe,jcombobox,actionevent,Java,Swing,Jframe,Jcombobox,Actionevent,我几乎没有JFrame。使用其中一个(它包含textBox),我想将输入的数据传输到另一个类中的变量。此变量用于构建JComboBox选择列表。我尝试通过JButton传输输入的数据,但最终什么也不传输,JComboBox保持为空。我需要刷新JComboBox还是什么?我的代码: ... DataBase toTable = new DataBase(); ... button.addActionListener(new ActionListener() { public void ac

我几乎没有JFrame。使用其中一个(它包含textBox),我想将输入的数据传输到另一个类中的变量。此变量用于构建JComboBox选择列表。我尝试通过JButton传输输入的数据,但最终什么也不传输,JComboBox保持为空。我需要刷新JComboBox还是什么?我的代码:

...
DataBase toTable = new DataBase();
...

button.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent click) {

                toTable.data[0] = textField.getText();

                }           
});
来自数据库类的变量:

....
String data[] = {"","","","",""};
....

And the Main Class (it contains JComboBox):

...
DataBase data0 = new DataBase();
final JComboBox list0 = new JComboBox(data0.data);
        list0.setBounds(10, 61, 110, 22);
        contentPane.add(list0);

没错。JComboBox没有注意到您更新了阵列。您需要使用JComboBox的addItem或setModel方法

button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent click) {
        toTable.data[0] = textField.getText();
        list0.setModel(new DefaultComboBoxModel(toTable.data));
    }           
});

当然,除非您可以在与按钮相同的范围内引用list0,否则此代码不会运行。如果可能的话,我建议将button和list0放在同一个类中。

这两个项不一定必须在同一个类中,您可以为每个项都设置一个getter。无论如何,我会尝试实现一个更像Gamma book Subject Observer模式的解决方案,以便将所有对象解耦(如果有3或4个具有该模式的对象会发生什么?@Jorge_B我同意Observer Observable模式非常有用,但没有看到更多他的代码,我们不知道这样做是否太过分了。有时最好将所有耦合放在构建GUI的同一个类中