r1693 - in trunk: jaxx-demo/src/main/java/jaxx/demo jaxx-demo/src/main/java/jaxx/demo/feature/databinding jaxx-demo/src/main/java/jaxx/demo/feature/validation jaxx-demo/src/main/resources/i18n jaxx-widgets/src/main/java/jaxx/runtime/swing
Author: tchemit Date: 2009-12-22 08:45:46 +0100 (Tue, 22 Dec 2009) New Revision: 1693 Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/DemoConfig.java trunk/jaxx-demo/src/main/java/jaxx/demo/DemoPanel.jaxx trunk/jaxx-demo/src/main/java/jaxx/demo/DemoSources.jaxx trunk/jaxx-demo/src/main/java/jaxx/demo/DemoSourcesHandler.java trunk/jaxx-demo/src/main/java/jaxx/demo/DemoUI.css trunk/jaxx-demo/src/main/java/jaxx/demo/DemoUIHandler.java trunk/jaxx-demo/src/main/java/jaxx/demo/feature/databinding/BindingExtremeDemo.jaxx trunk/jaxx-demo/src/main/java/jaxx/demo/feature/validation/ValidationListDemo.jaxx trunk/jaxx-demo/src/main/java/jaxx/demo/feature/validation/ValidationTableDemo.jaxx trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo-en_GB.properties trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo-fr_FR.properties trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/FontSizor.jaxx Log: improve FontSizor with callback + demo Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/DemoConfig.java =================================================================== --- trunk/jaxx-demo/src/main/java/jaxx/demo/DemoConfig.java 2009-12-21 20:11:57 UTC (rev 1692) +++ trunk/jaxx-demo/src/main/java/jaxx/demo/DemoConfig.java 2009-12-22 07:45:46 UTC (rev 1693) @@ -36,15 +36,17 @@ /** * La configuration de l'application. + * <p/> + * Il s'agit de l'objet partagé par toutes les démos. * - * Il s'agit de l'objet partagé par toutes les démos. - * * @author chemit * @since 1.7.2 */ public class DemoConfig extends org.nuiton.util.ApplicationConfig { - /** to use log facility, just put in your code: log.info(\"...\"); */ + /** + * to use log facility, just put in your code: log.info(\"...\"); + */ static private Log log = LogFactory.getLog(DemoConfig.class); /** * le fichier de configuration de l'application avec les informations sur @@ -116,6 +118,11 @@ return result; } + public Float getFontSize() { + Float result = getOption(Float.class, Option.FONT_SIZE.key); + return result; + } + public void setFullscreen(boolean fullscreen) { Object oldValue = null; setOption(Option.FULL_SCREEN.key, fullscreen + ""); @@ -129,6 +136,13 @@ firePropertyChange("locale", null, newLocale); } + public void setFontSize(Float newFontSize) { + Float oldValue = getFontSize(); + setOption(Option.FONT_SIZE.key, newFontSize.toString()); + saveForUser(); + firePropertyChange("fontSize", oldValue, newFontSize); + } + /** * Save configuration, in user home directory using the * {@link #getConfigFileName}. Default, env and commande line note saved @@ -137,8 +151,9 @@ // shoudl we never save any conf ? super.saveForUser(); } + public static final String[] DEFAULT_JAXX_PCS = { - "fullScreen", "locale" + "fullScreen", "locale", "fontSize" }; public void removeJaxxPropertyChangeListener() { @@ -166,6 +181,7 @@ CONFIG_FILE(CONFIG_FILE_NAME, _("jaxxdemo.config.configFileName.description"), "jaxxdemo", String.class, true, true), FULL_SCREEN("ui.fullscreen", _("jaxxdemo.config.ui.fullscreen"), "false", Boolean.class, false, false), LOCALE("ui.locale", _("jaxxdemo.config.ui.locale"), Locale.FRANCE.toString(), Locale.class, false, false), + FONT_SIZE("ui.fontSize", _("jaxxdemo.config.ui.fontSize"), "10f", Float.class, false, false), DEMO_PATH("ui.demo.path", _("jaxxdemo.config.ui.demo.path"), "$root/jaxxdemo.tree.component.jaxx/jaxxdemo.tree.component.jaxx.tree.navigation/" + FullNavigationTreeDemo.class.getSimpleName(), String.class, false, false); public final String key; public final String description; Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/DemoPanel.jaxx =================================================================== --- trunk/jaxx-demo/src/main/java/jaxx/demo/DemoPanel.jaxx 2009-12-21 20:11:57 UTC (rev 1692) +++ trunk/jaxx-demo/src/main/java/jaxx/demo/DemoPanel.jaxx 2009-12-22 07:45:46 UTC (rev 1693) @@ -66,9 +66,10 @@ <JPanel id='demoPanel'/> </tab> - <tab id='tabDemoSources' tabComponent='{sourceTabs.getSourcesHeader()}'> + <tab id='tabDemoSources' title='Sources'> <DemoSources id='sourceTabs' sources='{java.util.Arrays.asList(getSources())}' - incomingClass='{getClass()}'/> + incomingClass='{getClass()}' + constructorParams='this'/> </tab> </JTabbedPane> \ No newline at end of file Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/DemoSources.jaxx =================================================================== --- trunk/jaxx-demo/src/main/java/jaxx/demo/DemoSources.jaxx 2009-12-21 20:11:57 UTC (rev 1692) +++ trunk/jaxx-demo/src/main/java/jaxx/demo/DemoSources.jaxx 2009-12-22 07:45:46 UTC (rev 1693) @@ -25,17 +25,32 @@ import jaxx.runtime.swing.FontSizor; public void init() { + //fontSizor.setDefaultFontSize(getConfig().getFontSize()); fontSizor.init(); + fontSizor.setCallBack(new Runnable() { + + @Override + public void run() { + log.info("update font size : " + fontSizor.getFontSize()); + getConfig().setFontSize(fontSizor.getFontSize()); + } + }); handler.init(this); } + +public DemoConfig getConfig() { + return getContextValue(DemoConfig.class); +} + +public void updateSource(ItemEvent event) { + setCurrentSource((String) sourceTabs.getSelectedItem()); + editor.setText(handler.getSourceContent(this, getCurrentSource())); + editor.setSyntaxEditingStyle(handler.getSourceEditingStyle(this, getCurrentSource())); + editor.setCaretPosition(0); +} ]]> </script> - <JPanel id="sourcesHeader" opaque='false'> - <JLabel text='Sources' opaque='false'/> - <FontSizor id='fontSizor' opaque='false' showFontSize='true' defaultFontSize='10f' fontSize='10f'/> - </JPanel> - <DemoSourcesHandler id='handler'/> <Class id='incomingClass' javaBean='null'/> @@ -44,21 +59,35 @@ <java.util.List id='sources' genericType='String' javaBean='null'/> - <JTabbedPane id='sourceTabs' - constraints='BorderLayout.CENTER' - tabPlacement='{JTabbedPane.BOTTOM}' - onStateChanged='handler.updateSource(this)'/> + <JToolBar id='editorPaneHeader' + floatable='false' + borderPainted='false' + opaque='false' + constraints='BorderLayout.SOUTH'> - <RSyntaxTextArea id='editor' - constraints='BorderLayout.SOUTH' - font-size='{fontSizor.getFontSize()}' - text='{handler.getSourceContent(DemoSources.this, getCurrentSource())}' - syntaxEditingStyle='{handler.getSourceEditingStyle(DemoSources.this, getCurrentSource())}' - minimumSize="{jaxx.runtime.SwingUtil.newMinDimension()}" - textAntiAliasHint='{RenderingHints.KEY_ANTIALIASING.toString()}' - editable="false" - wrapStyleWord="false" - columns="80" - lineWrap="true"/> + <JComboBox id='sourceTabs' + model='{new DefaultComboBoxModel()}' + onItemStateChanged='if(event.getStateChange() == ItemEvent.SELECTED) { updateSource(event); }'/> + <javax.swing.Box.Filler + constructorParams='SwingUtil.newMinDimension(), SwingUtil.newMinDimension(), SwingUtil.newMaxXDimension()'/> + <FontSizor id='fontSizor' opaque='false' showFontSize='true' defaultFontSize='{getConfig().getFontSize()}'/> + <!--defaultFontSize='{getConfig().getFontSize()}' fontSize='{getConfig().getFontSize()}'/>--> + </JToolBar> + <JScrollPane id='editorPane' columnHeaderView='{editorPaneHeader}' constraints='BorderLayout.CENTER'> + <RSyntaxTextArea id='editor' + font-size='{getConfig().getFontSize()}' + minimumSize="{jaxx.runtime.SwingUtil.newMinDimension()}" + textAntiAliasHint='{RenderingHints.KEY_ANTIALIASING.toString()}' + editable="false" + wrapStyleWord="false" + columns="80" + lineWrap="true"/> + <!--font-size='{updateSize(getFontSizor().getFontSize())}'--> + <!-- TC-20091221 : can not use binding since we want to do something after assigment... --> + <!--text='{handler.getSourceContent(DemoSources.this, getCurrentSource())}'--> + <!--syntaxEditingStyle='{handler.getSourceEditingStyle(DemoSources.this, getCurrentSource())}'--> + </JScrollPane> + + </JPanel> \ No newline at end of file Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/DemoSourcesHandler.java =================================================================== --- trunk/jaxx-demo/src/main/java/jaxx/demo/DemoSourcesHandler.java 2009-12-21 20:11:57 UTC (rev 1692) +++ trunk/jaxx-demo/src/main/java/jaxx/demo/DemoSourcesHandler.java 2009-12-22 07:45:46 UTC (rev 1693) @@ -1,12 +1,12 @@ package jaxx.demo; +import jaxx.runtime.SwingUtil; import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea; -import javax.swing.*; -import java.awt.*; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.TreeMap; @@ -27,9 +27,9 @@ */ private static final Log log = LogFactory.getLog(DemoSourcesHandler.class); - protected Map<String, String> sourcesCache; + protected static Map<String, String> sourcesCache; - public Map<String, String> getSourcesCache() { + public static Map<String, String> getSourcesCache() { if (sourcesCache == null) { sourcesCache = new TreeMap<String, String>(); } @@ -44,9 +44,10 @@ if (result == null) { try { if (log.isDebugEnabled()) { - log.debug(name + " from " + getClass()); + log.debug(name + " from " + ui.getIncomingClass()); } - result = IOUtils.toString(ui.getIncomingClass().getResourceAsStream(name)); + String path = name.substring(ui.getIncomingClass().getPackage().getName().length() + 1); + result = IOUtils.toString(ui.getIncomingClass().getResourceAsStream(path)); if (log.isDebugEnabled()) { log.debug("source [" + name + "], loaded content =\n" + result); } @@ -64,6 +65,7 @@ if (source == null) { return ""; } + ui.getEditor().setFractionalFontMetricsEnabled(true); String s = null; if (source.matches(".*\\.jaxx") || source.matches(".*\\.xml")) { s = RSyntaxTextArea.SYNTAX_STYLE_XML; @@ -72,8 +74,8 @@ } else if (source.matches(".*\\.css")) { s = RSyntaxTextArea.SYNTAX_STYLE_CSS; } - if (log.isInfoEnabled()) { - log.info("source [" + source + "] style = " + s); + if (log.isDebugEnabled()) { + log.debug("source [" + source + "] style = " + s); } return s; } @@ -83,42 +85,22 @@ if (sources == null) { return; } - for (String source : sources) { - if (log.isInfoEnabled()) { - log.info("adding tab for resource " + source); + List<String> toFill = new ArrayList<String>(); + String prefix = ui.getIncomingClass() == null ? "" : (ui.getIncomingClass().getPackage().getName() + "."); + for (String source : sources) { + String path = prefix + source; + if (log.isDebugEnabled()) { + log.debug("adding resource " + path); } - JScrollPane pane = new JScrollPane( - JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, - JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - pane.setBorder(null); - // ajout de l'onglet - ui.sourceTabs.addTab(source, pane); - int index = ui.sourceTabs.indexOfComponent(pane); - JLabel l = new JLabel(source); - l.setFont(l.getFont().deriveFont((float) 10)); - ui.sourceTabs.setTabComponentAt(index, l); + toFill.add(path); } - } - - public void updateSource(DemoSources ui) { - JTabbedPane sourceTabs = ui.getSourceTabs(); - int index = sourceTabs.getSelectedIndex(); - String sourceName = sourceTabs.getTitleAt(index); - - if (log.isInfoEnabled()) { - log.info("new current Source : " + sourceName); + SwingUtil.fillComboBox(ui.getSourceTabs(), toFill, null); + if (!toFill.isEmpty()) { + ui.getSourceTabs().setSelectedIndex(0); } - // attach editor to correct selected tab and reset it - JScrollPane pane = (JScrollPane) sourceTabs.getComponentAt(index); - pane.getViewport().add(ui.getEditor()); - ui.getEditor().setText(""); - ui.getEditor().setCaretPosition(0); - ui.getEditor().setTextAntiAliasHint(RenderingHints.KEY_ANTIALIASING.toString()); - - // change the current source to release the editor - ui.setCurrentSource(sourceName); - + toFill.clear(); + ui.getEditor().discardAllEdits(); } } Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/DemoUI.css =================================================================== --- trunk/jaxx-demo/src/main/java/jaxx/demo/DemoUI.css 2009-12-21 20:11:57 UTC (rev 1692) +++ trunk/jaxx-demo/src/main/java/jaxx/demo/DemoUI.css 2009-12-22 07:45:46 UTC (rev 1693) @@ -49,7 +49,7 @@ toolTipText:"jaxxdemo.action.configuration.tip"; actionIcon:"config"; mnemonic:C; - enabled:false; + /*enabled:false;*/ _help:{"ui.main.menu.file.configuration"}; } Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/DemoUIHandler.java =================================================================== --- trunk/jaxx-demo/src/main/java/jaxx/demo/DemoUIHandler.java 2009-12-21 20:11:57 UTC (rev 1692) +++ trunk/jaxx-demo/src/main/java/jaxx/demo/DemoUIHandler.java 2009-12-22 07:45:46 UTC (rev 1693) @@ -254,6 +254,7 @@ n_("jaxxdemo.config.category.other"), n_("jaxxdemo.config.category.other.description"), DemoConfig.Option.FULL_SCREEN, + DemoConfig.Option.FONT_SIZE, DemoConfig.Option.LOCALE); ConfigUI configUI = ConfigUIBuilder.newConfigUI(context, model, "jaxxdemo.config.category.directories"); Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/feature/databinding/BindingExtremeDemo.jaxx =================================================================== --- trunk/jaxx-demo/src/main/java/jaxx/demo/feature/databinding/BindingExtremeDemo.jaxx 2009-12-21 20:11:57 UTC (rev 1692) +++ trunk/jaxx-demo/src/main/java/jaxx/demo/feature/databinding/BindingExtremeDemo.jaxx 2009-12-22 07:45:46 UTC (rev 1693) @@ -227,7 +227,7 @@ </cell> </row> - <row> + <row weighty="1"> <cell columns="3"> <JPanel layout="{new BorderLayout()}"> <JTextArea id="bindingsLabel" editable='false' text='{$bindings.size() + " bindings."}'/> Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/feature/validation/ValidationListDemo.jaxx =================================================================== --- trunk/jaxx-demo/src/main/java/jaxx/demo/feature/validation/ValidationListDemo.jaxx 2009-12-21 20:11:57 UTC (rev 1692) +++ trunk/jaxx-demo/src/main/java/jaxx/demo/feature/validation/ValidationListDemo.jaxx 2009-12-22 07:45:46 UTC (rev 1693) @@ -24,12 +24,17 @@ <script><![CDATA[ import static org.nuiton.i18n.I18n.n_; import jaxx.runtime.validator.swing.SwingValidatorMessageListRenderer; +import jaxx.runtime.validator.swing.SwingValidatorMessageListModel; void $afterCompleteSetup() { } + @Override protected String[] getSources() { - return new String[]{ getDefaultSource(), "Validation.css", "Model.java", "Identity.java" }; + return new String[]{ getDefaultSource(), "Validation.css", + "Identity.java", "Identity-error-validation.xml", "Identity-info-validation.xml", "Identity-warning-validation.xml", + "Model.java", "Model-error-validation.xml", "Model-info-validation.xml", "Model-warning-validation.xml" + }; } ]]> </script> @@ -41,8 +46,8 @@ <!-- errors model --> <!-- Not existing :) --> <!--jaxx.runtime.validator.gwt.GWTValidatorMessageListModel id='errors'--> - <jaxx.runtime.validator.swing.SwingValidatorMessageListModel id='errors' - onContentsChanged='ok.setEnabled(errors.isEmpty())'/> + <SwingValidatorMessageListModel id='errors' + onContentsChanged='ok.setEnabled(errors.isEmpty())'/> <!-- validators --> <BeanValidator id='validator' bean='model1' uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> Modified: trunk/jaxx-demo/src/main/java/jaxx/demo/feature/validation/ValidationTableDemo.jaxx =================================================================== --- trunk/jaxx-demo/src/main/java/jaxx/demo/feature/validation/ValidationTableDemo.jaxx 2009-12-21 20:11:57 UTC (rev 1692) +++ trunk/jaxx-demo/src/main/java/jaxx/demo/feature/validation/ValidationTableDemo.jaxx 2009-12-22 07:45:46 UTC (rev 1693) @@ -21,16 +21,33 @@ <jaxx.demo.DemoPanel> <style source="Validation.css"/> - <!-- models --> + <script><![CDATA[ +import static org.nuiton.i18n.I18n.n_; +import jaxx.runtime.validator.swing.SwingValidatorUtil; +import jaxx.runtime.validator.swing.SwingValidatorMessageTableRenderer; +import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; + +void $afterCompleteSetup() { + SwingValidatorUtil.installUI(errorTable, new SwingValidatorMessageTableRenderer()); +} + +@Override +protected String[] getSources() { + return new String[]{ getDefaultSource(), "Validation.css", + "Identity.java", "Identity-error-validation.xml", "Identity-info-validation.xml", "Identity-warning-validation.xml", + "Model.java", "Model-error-validation.xml", "Model-info-validation.xml", "Model-warning-validation.xml" + }; +} +]]></script> + + <!-- models --> <Model id='model1'/> <Model id='model2'/> <Identity id='identity'/> <!-- errors model --> - <!-- Not existing :) --> - <!--jaxx.runtime.validator.gwt.GWTValidatorMessageTableModel id='errors2'/--> - <jaxx.runtime.validator.swing.SwingValidatorMessageTableModel id='errors2' - onTableChanged='ok.setEnabled(errors2.getRowCount()==0)'/> + <SwingValidatorMessageTableModel id='errors2' + onTableChanged='ok.setEnabled(errors2.getRowCount()==0)'/> <!-- validators --> <BeanValidator id='validator' bean='model1' uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI"> @@ -47,22 +64,7 @@ uiClass="jaxx.runtime.validator.swing.ui.TranslucentValidationUI"> <field name="email" component="email2"/> </BeanValidator> - - <script><![CDATA[ -import static org.nuiton.i18n.I18n.n_; -import jaxx.runtime.validator.swing.SwingValidatorUtil; -import jaxx.runtime.validator.swing.SwingValidatorMessageTableRenderer; - -void $afterCompleteSetup() { - SwingValidatorUtil.installUI(errorTable, new SwingValidatorMessageTableRenderer()); -} - -@Override -protected String[] getSources() { - return new String[]{ getDefaultSource(), "Validation.css", "Model.java", "Identity.java" }; -} -]]></script> - + <Table fill='both' id='demoPanel'> <row> <cell weightx='1' weighty='1' insets='6, 3, 0, 0'> @@ -77,7 +79,7 @@ <JTextField id='text' text='{model1.getText()}' onKeyReleased='model1.setText(text.getText())' _validatorLabel='{n_("form.text")}' - /> + /> </cell> </row> <row> @@ -88,7 +90,7 @@ <JTextField id='text2' text='{model1.getText2()}' onKeyReleased='model1.setText2(text2.getText())' _validatorLabel='{n_("form.text2")}' - /> + /> </cell> </row> @@ -97,7 +99,7 @@ <JLabel text='Ratio:'/> </cell> <cell> - <JSlider id='ratio' minimum='0' maximum='100' + <JSlider id='ratio' minimum='0' maximum='100' value='{model1.getRatio()}' _validatorLabel='{n_("form.ratio")}' onStateChanged='model1.setRatio(ratio.getValue())'/> @@ -170,7 +172,7 @@ <JLabel text='Ratio:'/> </cell> <cell> - <JSlider id='_ratio' minimum='0' maximum='100' + <JSlider id='_ratio' minimum='0' maximum='100' value='{model2.getRatio()}' _validatorLabel='{n_("form2.ratio")}' onStateChanged='model2.setRatio(_ratio.getValue())'/> Modified: trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo-en_GB.properties =================================================================== --- trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo-en_GB.properties 2009-12-21 20:11:57 UTC (rev 1692) +++ trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo-en_GB.properties 2009-12-22 07:45:46 UTC (rev 1693) @@ -166,6 +166,7 @@ jaxxdemo.config.category.other.description=Others preferences jaxxdemo.config.configFileName.description=Configuration file name jaxxdemo.config.ui.demo.path= +jaxxdemo.config.ui.fontSize= jaxxdemo.config.ui.fullscreen=To change the screen mode (true for full screen) jaxxdemo.config.ui.locale=Locale of the application jaxxdemo.i18neditor.configuration=Configuration Modified: trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo-fr_FR.properties =================================================================== --- trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo-fr_FR.properties 2009-12-21 20:11:57 UTC (rev 1692) +++ trunk/jaxx-demo/src/main/resources/i18n/jaxx-demo-fr_FR.properties 2009-12-22 07:45:46 UTC (rev 1693) @@ -166,6 +166,7 @@ jaxxdemo.config.category.other.description=Autres options jaxxdemo.config.configFileName.description=Le nom du fichier de configuration jaxxdemo.config.ui.demo.path= +jaxxdemo.config.ui.fontSize= jaxxdemo.config.ui.fullscreen=Pour afficher l'aplication en mode pleine \u00E9cran jaxxdemo.config.ui.locale=Langue utilis\u00E9e par l'application (fr_FR, en_GB ou es_ES) jaxxdemo.i18neditor.configuration=Configuration Modified: trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/FontSizor.jaxx =================================================================== --- trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/FontSizor.jaxx 2009-12-21 20:11:57 UTC (rev 1692) +++ trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/FontSizor.jaxx 2009-12-22 07:45:46 UTC (rev 1693) @@ -34,6 +34,10 @@ <Boolean id='showFontSize' javaBean='false'/> <script><![CDATA[ + +public static final String BINDING_FONT_SIZE_CALL_BACK = "fontSize.callBack"; +public static final String BINDING_DEFAULT_FONT_SIZE_CALL_BACK = "defaultFontSize.callBack"; + public void init() { setFontSize(defaultFontSize); } @@ -44,6 +48,29 @@ } return !fontSize.equals(defaultFontSize) && enabled; } + +public void setCallBack(final Runnable action) { + removeDataBinding(BINDING_FONT_SIZE_CALL_BACK); + registerDataBinding(new SimpleJAXXObjectBinding(this, BINDING_FONT_SIZE_CALL_BACK, true ,"fontSize") { + + @Override + public void processDataBinding() { + action.run(); + } + }); + applyDataBinding(BINDING_FONT_SIZE_CALL_BACK); +} + +void $afterCompleteSetup() { + registerDataBinding(new SimpleJAXXObjectBinding(this, BINDING_DEFAULT_FONT_SIZE_CALL_BACK, true ,"defaultFontSize") { + + @Override + public void processDataBinding() { + setFontSize(defaultFontSize); + } + }); + applyDataBinding(BINDING_DEFAULT_FONT_SIZE_CALL_BACK); +} ]]> </script> <JToolBar floatable='false' @@ -76,7 +103,7 @@ onActionPerformed='setFontSize(fontSize + 1)'/> <JLabel visible='{isShowFontSize()}' - text='{"" + getFontSize()}'/> + text='{SwingUtil.getStringValue(getFontSize())}'/> </JToolBar> </JPanel>
participants (1)
-
tchemit@users.nuiton.org