現在、PropertyChangeListenerクラスとPropertyChangeSupportクラスを使用する方法を学んでいます。 リスナーがイベントを受け取った部分でちょっと立ち往生していますので、この部分で何か助けが必要です。PropertyChangeListener Java
私のプログラムでは2つのクラスがあります。
public class Controlador implements PropertyChangeListener {
private ControlAccesos modelo;
private GUIpanel vistaPan;
private GUIsenal vistaSen;
public Controlador(GUIpanel vista1, GUIsenal vista2, ControlAccesos model){
modelo=model;
vistaPan = vista1;
vistaSen = vista2;
modelo.addPropertyChangeListener(this);
}
public void propertyChange(PropertyChangeEvent evt) {
System.out.print("Resultado");
if (evt.getPropertyName().equals("mensaje")){
vistaPan.refrescaMensaje((String)evt.getNewValue());
}
}
}
:
- 一つ、コントローラは、他のPropertyChangeListener
- を実装して、このモデルは、propertyChanegSupport
コントローラを実装します
モデル:
/**
* Clase principal del sistema de control de accesos a la facultad.
*/
public class ControlAccesos
{
/**
* Mesaje shown in the GUI
*/
private String mensaje;
private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
.
.
.
public void TarjetaDetectada(String usuario)
{
state.TarjetaDetectada(this, usuario);
changeSupport.firePropertyChange("mensaje",this.mensaje,this.mensaje);
}
public void addPropertyChangeListener(PropertyChangeListener listener){
changeSupport.addPropertyChangeListener(listener);
}
問題は、コードが(「Resultado」が画面上に印刷されることはない)のpropertyChange関数に到達しないことです。
ありがとうございます。