private void jSplitPanePropertyChange (java.beans.PropertyChangeEvent evt)
{
String propertyName = evt.getPropertyName();
int current = jSplitPane.getDividerLocation();
System.out.println ( "PropertyChange; "
+ propertyName
+ " - "
+ current );
Object o = evt.getNewValue ();
if ( o != null )
{
System.out.println ( "\tnew: " + o.toString () );
}
o = evt.getOldValue ();
if ( o != null )
{
System.out.println ( "\told: " + o.toString () );
} }
Har en javax.swing.JSplitPane på skjermen hvor jeg så drar kontrollen til høyre,
fra 92 til 864. Får følgende utskrift fra programmet:
PropertyChange; dividerLocation - 864
new: 864
old: 92
PropertyChange; lastDividerLocation - 864
new: 92
old: -1
PropertyChange; lastDividerLocation - 864
new: 864
old: 92
PropertyChange; lastDividerLocation - 864
new: 92
old: 864
Mye jeg ikke skjønner:
- Hvorfor kalles rutinen fire ganger?
- Hvorfor bytter new og old verdier?
- Hvorfor ender jeg opp med omvendte verdier av new og old?
Intet stort problem, og jeg behøver bare ta hensyn til det første kallet. Men
litt irriterende at det er så mye som skjer som jeg overhodet ikke skjønner!?
--
Rune H. Johansen, 22253241, 95939001, http://rhj.info/