Java 如何将swing中两个不同类中可用的一个组合框的数据影响到另一个组合框?
我在两个不同的类中有两个组合框。我的要求是,如果我更改了一个类中的数据,那么该数据应该显示在另一个类中。有没有听众或其他方式?你能帮我吗?尽管这是一个GUI程序,Java OOP实践的原则仍然保持不变。您提供一个类公共setter方法以允许其他类更改其属性,并允许其他类(通常是“控制”类,例如侦听第一个JComboBox的类)通过调用第一个类实例的setter方法来调用这些方法。您应该学习模型-视图-控制器原理的基础知识,通常缩写为“MVC”。组合框由以下部分组成:Java 如何将swing中两个不同类中可用的一个组合框的数据影响到另一个组合框?,java,swing,Java,Swing,我在两个不同的类中有两个组合框。我的要求是,如果我更改了一个类中的数据,那么该数据应该显示在另一个类中。有没有听众或其他方式?你能帮我吗?尽管这是一个GUI程序,Java OOP实践的原则仍然保持不变。您提供一个类公共setter方法以允许其他类更改其属性,并允许其他类(通常是“控制”类,例如侦听第一个JComboBox的类)通过调用第一个类实例的setter方法来调用这些方法。您应该学习模型-视图-控制器原理的基础知识,通常缩写为“MVC”。组合框由以下部分组成: 视图(视觉表示) 控制器(
- 视图(视觉表示)
- 控制器(单击打开,选择条目)和
- 一个模型(在JComboBox的情况下,它是一个模型)
- 在两个组合框中共享一个模型,或
- 将和/或添加到组合框中,该组合框将通知另一个更改
我建议您以及阅读关于使用的。您可以使用第二个类的对象,然后访问该类的textfield设置值 样本
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ComboBox{
JComboBox combo;
JTextField txt;
static ComboBox b1 = null;
static ComboBox b2 = null;
public static void main(String[] args) {
b1 = new ComboBox();
b2 = new ComboBox();
}
public ComboBox(){
String course[] = {"BCA","MCA","PPC","CIC"};
JFrame frame = new JFrame("Creating a JComboBox Component");
JPanel panel = new JPanel();
combo = new JComboBox(course);
combo.setBackground(Color.gray);
combo.setForeground(Color.red);
txt = new JTextField(10);
panel.add(combo);
panel.add(txt);
frame.add(panel);
combo.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent ie){
String str = (String)combo.getSelectedItem();
b1.txt.setText(str);
b2.txt.setText(str);
}
});
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,400);
frame.setVisible(true);
}
}
给我一个更具体的代码示例!你能不能试着改变一下这个问题,这是一个荒谬的、蹩脚的英语问题。如果你想让人们看这个话题,你应该先体面地讲出来。@TFennis,你忘了一个逗号实际上我的英语很差;)