Unterschiede

Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.

eclipse-rcp:binding 2008/08/15 12:57 eclipse-rcp:binding 2020/09/25 09:41 aktuell
Zeile 1: Zeile 1:
-[[eclipse-rcp|Eclipse-RCP]]+[[eclipse-rcp|Java - Eclipse-RCP]]
- +====== Eclipse - Binding (ab Eclipse 3.3) ======
-====== Eclipse - Binding (Eclipse 3.3) ======+
JFace-Data-Binding ab Eclipse 3.3\\ JFace-Data-Binding ab Eclipse 3.3\\
\\ \\
Zeile 10: Zeile 9:
  * Geburtsdatum\\   * Geburtsdatum\\
bestehen.\\ bestehen.\\
 +\\ 
 +<html> 
 +  <script type="text/javascript"><!-- 
 +      google_ad_client="pub-9681858985507948"; 
 +      google_ad_width = 468; 
 +      google_ad_height = 60; 
 +      google_ad_format = "468x60_as"; 
 +      google_ad_type = "text"; 
 +      google_ad_channel = ""; 
 +      google_color_border = "cccccc"; 
 +      google_color_bg = "FFFFFF"; 
 +      google_color_link = "1d2d8c"; 
 +      google_color_text = "000000"; 
 +      google_color_url = "1d2d8c"; 
 +      //--> 
 +  </script> 
 +  <script type="text/javascript" 
 +      src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 
 +  </script> 
 +</html> 
 +\\
===== Binding-Methode ===== ===== Binding-Methode =====
Die Binding-Methode kann beispielsweise in der MyFormPart-Klasse implementiert werden.\\ Die Binding-Methode kann beispielsweise in der MyFormPart-Klasse implementiert werden.\\
Zeile 18: Zeile 37:
  m_bindingContext = new DataBindingContext();   m_bindingContext = new DataBindingContext();
-  Binding binding; +  // Das Textfeld ";m_lastnameTxt" für den Nachnamen an das Model-Attribut "m_lastname" binden: 
-         +  m_bindingContext.bindValue(SWTObservables.observeText(m_lastnameTxt, 
-  binding = m_bindingContext.bindValue(SWTObservables.observeText(m_lastnameTxt, +         SWT.Modify), BeansObservables.observeValue(model, MyModel.PROP_LASTNAME), null, null);
-             SWT.Modify), BeansObservables.observeValue(model, MyModel.PROP_LASTNAME), null, null);+
-  binding = m_bindingContext.bindValue(SWTObservables.observeText(m_firstnameTxt, +  // Das Textfeld "m_firstnameTxt" für den Nachnamen an das Model-Attribut "m_firstname" binden: 
-             SWT.Modify), BeansObservables.observeValue(model, MyModel.PROP_FIRSTNAME), null, null);+  m_bindingContext.bindValue(SWTObservables.observeText(m_firstnameTxt, 
 +         SWT.Modify), BeansObservables.observeValue(model, MyModel.PROP_FIRSTNAME), null, null); 
 +   
 +  // Das Textfeld "m_birthdateTxt" für den Nachnamen an das Model-Attribut "m_birthday" binden: 
 +  m_bindingContext.bindValue(SWTObservables.observeText(m_birthdateTxt, 
 +        SWT.Modify), BeansObservables.observeValue(model, MyModel.PROP_BIRTHDAY),  
 +        m_targetToModelStrategy, m_modelToTargetStrategy);
 +  // UpdateStrategy initialisieren (Konverter und Validatoren festlegen):
  initUpdateStrategy();   initUpdateStrategy();
-  binding = m_bindingContext.bindValue(SWTObservables.observeText(m_birthdateTxt, 
-            SWT.Modify), BeansObservables.observeValue(model, MyModel.PROP_BIRTHDAY),  
-            m_targetToModelStrategy, m_modelToTargetStrategy); 
} }
</code> </code>
Zeile 71: Zeile 93:
        assert fromObject instanceof String;         assert fromObject instanceof String;
        String str = (String) fromObject;         String str = (String) fromObject;
-        return DateConv.toDate(str);+        SimpleDateFormat sd = new SimpleDateFormat("dd.MM.yyyy");  
 +        Date date = null; 
 +        try { 
 +            Date newDate = sd.parse(dateString)
 +        } catch (Exception e) { 
 +            e.printstacktrace(); 
 +        } 
 +        return date;
      }       }
Zeile 117: Zeile 146:
  m_modelToTargetUpdateStrategy1 = new UpdateValueStrategy();   m_modelToTargetUpdateStrategy1 = new UpdateValueStrategy();
 +// oder bei spezieller Policy (Default: UpdateValueStrategy.POLICYUPDATE)
 +// m_modelToTargetUpdateStrategy1 = new UpdateValueStrategy(UpdateValueStrategy.NEVER);
  m_modelToTargetUpdateStrategy1.setConverter(date2StrConverter);   m_modelToTargetUpdateStrategy1.setConverter(date2StrConverter);
  m_targetToModelUpdateStrategy = new UpdateValueStrategy();   m_targetToModelUpdateStrategy = new UpdateValueStrategy();
Zeile 127: Zeile 158:
\\ \\
\\ \\
 +
===== Model-Klasse ===== ===== Model-Klasse =====
<code java> <code java>
Zeile 200: Zeile 232:
  }   }
} }
 +</code>
 +\\
 +\\
 +\\
 +===== Button-Enablement an Validationstatus binden =====
 +<code java>
 +  public void bindButtonEnablementToValidationStatus(final Button button) {
 +
 +    final IObservableValue buttonEnable = SWTObservables.observeEnabled(button);
 +    final IObservableValue validationStatus =
 +      new AggregateValidationStatus(myBindingContext.getValidationRealm(), myBindingContext.getBindings(), AggregateValidationStatus.MAX_SEVERITY);
 +    myBindingContext.bindValue(buttonEnable,
 +                              validationStatus,
 +                              new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER),
 +                              new UpdateValueStrategy().setConverter(new Converter(IStatus.class, Boolean.TYPE) {
 +                                @Override
 +                                public Object convert(final Object fromObject) {
 +                                  return new Boolean(((IStatus) fromObject).isOK());
 +                                }
 +                              }));
 +  }
</code> </code>
\\ \\

Eigene Werkzeuge
Werkzeuge

gratis Counter by GOWEB
seit 9.10.2007