Java mvc模式gui actionlistener类
我正在使用gui开发一个基本的mvc模式。此代码包括JComboBox。单击jcombobox并从此处选择字符串项时,空标签将填充特定字符串。我该如何学习控制器课程 这是我的Gui课程Java mvc模式gui actionlistener类,java,user-interface,model-view-controller,Java,User Interface,Model View Controller,我正在使用gui开发一个基本的mvc模式。此代码包括JComboBox。单击jcombobox并从此处选择字符串项时,空标签将填充特定字符串。我该如何学习控制器课程 这是我的Gui课程 public class SchoolView extends JPanel { private JTextField selectedStandName; private JComboBox<String> stands; private JLabel standLabel;
public class SchoolView extends JPanel {
private JTextField selectedStandName;
private JComboBox<String> stands;
private JLabel standLabel;
String[] items = { "Rainbow Pots", "BookWorm's Place","Caffein Charger","Jedi's Place"};
public SchoolView() {
stands = new JComboBox<String>(items);
add(stands);
addStandLabel();
addStandInfoLabel();
addStandInfoField();
}
private void addStandLabel() {
standLabel = new JLabel("Stands");
add(standLabel);
}
private void addStandInfoLabel() {
JLabel selectedStandInfo = new JLabel("Stand Info");
add(selectedStandInfo);
}
private void addStandInfoField() {
SelectedStandName = new JTextField();
add(selectedStandName);
selectedStandName.setColumns(20);
}
}
考虑到:视图对模型更新作出反应(观察者模式)
控制器对视图作出反应(观察者模式)
控制器更新模型 然后,控制器将自己订阅SchoolView,并在事件中更新第二个视图组件。 请参见下面的伪代码:
public class SchoolController implements OnSelectListener {
JTextField viewComponent;
public SchoolController(schoolView, viewComponent){
schoolView.onSelect(this)
this.viewComponent= viewComponent;
}
@Override
public void onSelect(selectedItem) {
viewComponent.set(selectedItem);
}
}
public class SchoolController implements OnSelectListener {
JTextField viewComponent;
public SchoolController(schoolView, viewComponent){
schoolView.onSelect(this)
this.viewComponent= viewComponent;
}
@Override
public void onSelect(selectedItem) {
viewComponent.set(selectedItem);
}
}