Author: tchemit Date: 2009-01-11 16:27:16 +0000 (Sun, 11 Jan 2009) New Revision: 1138 Added: jaxx/trunk/jaxx-example/src/main/java/jaxx/ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/BaseBeanDataBinding.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/BeanDataBindingDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Calculator.css jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/CalculatorDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/CalculatorEngine.java jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/CounterDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/DemoPanel.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Identity.java jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JAXXDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JButtonDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JCheckBoxDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JCheckBoxMenuItemDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JComboBoxDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JDialogDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JListDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JMenuItemDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JPasswordFieldDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JProgressBarDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JRadioButtonDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JRadioButtonMenuItemDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JSliderDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JSpinnerDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JSplitPaneDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JTextAreaDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JTextFieldDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JToggleButtonDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/LabelStyle.css jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/LabelStyleDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Model.java jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Validation.css jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/ValidationListDemo.jaxx jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/ValidationTableDemo.jaxx Removed: jaxx/trunk/jaxx-example/src/main/java/examples/ Modified: jaxx/trunk/jaxx-example/src/site/fr/rst/index.rst Log: refactor des examples, maintenant c'est JAXXDemo et non plus Components Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/BaseBeanDataBinding.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/BaseBeanDataBinding.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/BaseBeanDataBinding.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/BaseBeanDataBinding.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,21 @@ +<DemoPanel> + + <!-- a full java bean property of the class --> + <Boolean id='editing' javaBean='false'/> + + <!-- not full java bean property (must add script...) --> + <Boolean id='editing2' constructorParams='false'/> + + <String id='contentMessage' javaBean='"message..."'/> + + <script> + public Boolean isEditing2() { return editing2; } + + public void setEditing2(Boolean newValue) { + Boolean oldValue = this.editing2; + this.editing2 = newValue; + firePropertyChange("editing2", oldValue, newValue) ; + } + </script> + +</DemoPanel> Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/BeanDataBindingDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/BeanDataBindingDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/BeanDataBindingDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/BeanDataBindingDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,47 @@ +<BaseBeanDataBinding> + + <Boolean id='editing3' javaBean='true'/> + + <Table id='demoPanel'> + <row> + <cell columns='2'> + <JLabel text='{getContentMessage()}'/> + </cell> + </row> + <row> + <cell> + <JPanel> + <JButton visible='{!isEditing()}' text='edit' onActionPerformed='setEditing(true);'/> + <JButton visible='{isEditing()}' text='close' onActionPerformed='setEditing(false);'/> + </JPanel> + </cell> + <cell weightx='1' fill='both'> + <JTextField enabled='{isEditing()}' text='to edit'/> + </cell> + </row> + <row> + <cell> + <JPanel> + <JButton visible='{!isEditing2()}' text='edit2' onActionPerformed='setEditing2(true);'/> + <JButton visible='{isEditing2()}' text='close2' onActionPerformed='setEditing2(false);'/> + </JPanel> + </cell> + <cell weightx='1' fill='both'> + <JTextField enabled='{isEditing2()}' text="to edit 2"/> + </cell> + </row> + <row> + <cell> + <JPanel> + <JButton visible='{!isEditing3()}' text='edit3' onActionPerformed='setEditing3(true);'/> + <JButton visible='{isEditing3()}' text='close3' onActionPerformed='setEditing3(false);'/> + </JPanel> + </cell> + <cell weightx='1' fill='both'> + <JTextField id='edit3' enabled='{isEditing3()}' text="{getContentMessage()}" + onKeyReleased='setContentMessage(edit3.getText())'/> + </cell> + </row> + </Table> + +</BaseBeanDataBinding> Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Calculator.css (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/Calculator.css) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Calculator.css (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Calculator.css 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,68 @@ +#table { + border: { BorderFactory . createEmptyBorder( 4, 4, 4, 4 ) +} + +; +font-face: + +"Trebuchet MS" +; +} + +#display { + background: #BCE5AD; + opaque: true; + horizontalAlignment: right; + border: { BorderFactory . createBevelBorder( BevelBorder . LOWERED ) +} + +; +font-size: + +22 +; +font-weight: bold + +; +} + +#display: { + object . getText( ) . startsWith( "-" ) +} + +{ +foreground: red + +; +} + +JButton { + font-size: 18; + width: 80; + height: 35; +} + +JButton.digit { + foreground: blue; +} + +JButton#dot { + font-size: 20; +} + +JButton.operator { + font-size: 16; + foreground: #009900; +} + +JButton.clear { + foreground: red; +} + +JButton:mouseover { + font-weight: bold; +} + +JButton.operator:mouseover { + font-weight: normal; +} \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/CalculatorDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/CalculatorDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/CalculatorDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/CalculatorDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,89 @@ +<DemoPanel> + <style source='Calculator.css'/> + <script><![CDATA[ + plus.setText("+"); + sign.setText("+/-"); +]]></script> + <!-- use fully-qualified name just in case this is compiled into a different package --> + <CalculatorEngine id='engine'/> + + <Table id='demoPanel' fill='both'> + <row> + <cell columns='4'> + <JLabel id='display' text='{engine.getDisplayText()}'/> + </cell> + </row> + + <row> + <cell columns='2'> + <JButton id='c' text='C' onActionPerformed='engine.clear()' styleClass='clear'/> + </cell> + <cell> + <JButton id='ce' text='CE' onActionPerformed='engine.clearEntry()' styleClass='clear'/> + </cell> + <cell> + <JButton id='equals' text='=' onActionPerformed='engine.equal()' styleClass='operator'/> + </cell> + </row> + + <row> + <cell> + <JButton id='d7' text='7' onActionPerformed='engine.digit(7)' styleClass='digit'/> + </cell> + <cell> + <JButton id='d8' text='8' onActionPerformed='engine.digit(8)' styleClass='digit'/> + </cell> + <cell> + <JButton id='d9' text='9' onActionPerformed='engine.digit(9)' styleClass='digit'/> + </cell> + <cell> + <JButton id='plus' onActionPerformed='engine.add()' styleClass='operator'/> + </cell> + </row> + + <row> + <cell> + <JButton id='d4' text='4' onActionPerformed='engine.digit(4)' styleClass='digit'/> + </cell> + <cell> + <JButton id='d5' text='5' onActionPerformed='engine.digit(5)' styleClass='digit'/> + </cell> + <cell> + <JButton id='d6' text='6' onActionPerformed='engine.digit(6)' styleClass='digit'/> + </cell> + <cell> + <JButton id='subtract' text='-' onActionPerformed='engine.subtract()' styleClass='operator'/> + </cell> + </row> + + <row> + <cell> + <JButton id='d1' text='1' onActionPerformed='engine.digit(1)' styleClass='digit'/> + </cell> + <cell> + <JButton id='d2' text='2' onActionPerformed='engine.digit(2)' styleClass='digit'/> + </cell> + <cell> + <JButton id='d3' text='3' onActionPerformed='engine.digit(3)' styleClass='digit'/> + </cell> + <cell> + <JButton id='multiply' text='x' onActionPerformed='engine.multiply()' styleClass='operator'/> + </cell> + </row> + + <row> + <cell> + <JButton id='d0' text='0' onActionPerformed='engine.digit(0)' styleClass='digit'/> + </cell> + <cell> + <JButton id='sign' onActionPerformed='engine.toggleSign()' styleClass='operator'/> + </cell> + <cell> + <JButton id='dot' text='.' onActionPerformed='engine.dot()' styleClass='digit'/> + </cell> + <cell> + <JButton id='divide' text='÷' onActionPerformed='engine.divide()' styleClass='operator'/> + </cell> + </row> + </Table> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/CalculatorEngine.java (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/CalculatorEngine.java) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/CalculatorEngine.java (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/CalculatorEngine.java 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,177 @@ +package jaxx.demo; + +import java.beans.*; +import java.math.*; + +public class CalculatorEngine { + public static final String DISPLAY_TEXT_PROPERTY = "displayText"; + + public static final int ADD = 0; + public static final int SUBTRACT = 1; + public static final int MULTIPLY = 2; + public static final int DIVIDE = 3; + public static final int RESULT = 4; + + private int operation = -1; + private boolean clear = true; // true to clear on next key + private String displayText = "0"; + private BigDecimal value; + private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this); + + + public String getDisplayText() { + return displayText; + } + + + public void setDisplayText(String displayText) { + String oldDisplayText = this.displayText; + this.displayText = displayText; + firePropertyChange(DISPLAY_TEXT_PROPERTY, oldDisplayText, displayText); + } + + + public void clear() { + clearEntry(); + value = new BigDecimal(0); + operation = -1; + } + + + public void clearEntry() { + setDisplayText("0"); + clear = true; + } + + + private void checkClear() { + if (clear) { + setDisplayText(""); + clear = false; + } + } + + + public void digit(int digit) { + checkClear(); + setDisplayText(getDisplayText() + String.valueOf(digit)); + } + + + public void dot() { + checkClear(); + if (getDisplayText().indexOf('.') == -1) { + if (getDisplayText().length() == 0) { + setDisplayText("0."); + } else { + setDisplayText(getDisplayText() + '.'); + } + } + } + + + public void toggleSign() { + String text = getDisplayText(); + if (text.startsWith("-")) { + text = text.substring(1); + } else if (!text.equals("0")) { + text = '-' + text; + } + setDisplayText(text); + } + + + public void equal() { + BigDecimal displayValue = new BigDecimal(getDisplayText()); + BigDecimal newValue = displayValue; + switch (operation) { + case ADD: + newValue = value.add(displayValue); + break; + case SUBTRACT: + newValue = value.subtract(displayValue); + break; + case MULTIPLY: + newValue = value.multiply(displayValue); + break; + case DIVIDE: + newValue = value.divide(displayValue, 8, BigDecimal.ROUND_HALF_UP); + break; + } + value = newValue; + setDisplayText(toString(newValue)); + clear = true; + operation = -1; + } + + + public static String toString(BigDecimal decimal) { + // can't use stripTrailingZeros, as it wasn't introduced until 1.5 + String result = decimal.toString(); + if (result.indexOf(".") != -1) { + while (result.endsWith("0")) { + result = result.substring(0, result.length() - 1); + } + if (result.endsWith(".")) { + result = result.substring(0, result.length() - 1); + } + } + return result; + } + + + public void operation(int operation) { + if (this.operation != -1) { + equal(); + } else { + value = new BigDecimal(getDisplayText()); + clear = true; + } + this.operation = operation; + } + + + public void add() { + operation(ADD); + } + + + public void subtract() { + operation(SUBTRACT); + } + + + public void multiply() { + operation(MULTIPLY); + } + + + public void divide() { + operation(DIVIDE); + } + + + public void addPropertyChangeListener(PropertyChangeListener listener) { + propertyChangeSupport.addPropertyChangeListener(listener); + } + + + public void addPropertyChangeListener(String property, PropertyChangeListener listener) { + propertyChangeSupport.addPropertyChangeListener(property, listener); + } + + + public void removePropertyChangeListener(PropertyChangeListener listener) { + propertyChangeSupport.removePropertyChangeListener(listener); + } + + + public void removePropertyChangeListener(String property, PropertyChangeListener listener) { + propertyChangeSupport.removePropertyChangeListener(property, listener); + } + + + protected void firePropertyChange(String property, Object oldValue, Object newValue) { + propertyChangeSupport.firePropertyChange(property, oldValue, newValue); + } +} \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/CounterDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/CounterDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/CounterDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/CounterDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,12 @@ +<DemoPanel> + <script>int count;</script> + <JPanel id='demoPanel'> + <JTextField text='{count}' constraints='BorderLayout.NORTH'/> + <HBox constraints='BorderLayout.SOUTH'> + <JButton text='Dec (-)' onActionPerformed='count--'/> + <JButton text='Reset' onActionPerformed='count = 0'/> + <JButton text='Inc (+)' onActionPerformed='count++'/> + </HBox> + </JPanel> + +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/DemoPanel.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/DemoPanel.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/DemoPanel.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/DemoPanel.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,45 @@ +<JTabbedPane id='top'> + <script><![CDATA[ + import java.io.*; + + public String getLabel() { + String name = getClass().getName(); + name = name.substring(name.lastIndexOf(".") + 1); + if (name.endsWith("Demo")) + name = name.substring(0, name.length() - "Demo".length()); + return name; + } + + + public String getDemoTabTitle() { + return getLabel() + " Demo"; + } + + + public String loadSource() { + try { + String className = getClass().getName(); + Reader in = new InputStreamReader(getClass().getResourceAsStream(className.substring(className.lastIndexOf(".") + 1) + ".jaxx")); + StringWriter out = new StringWriter(); + char[] buffer = new char[2048]; + int c; + while ((c = in.read(buffer)) > 0) + out.write(buffer, 0, c); + return out.toString(); + } + catch (IOException e) { + throw new RuntimeException(e); + } + } + ]]></script> + + <tab title='{getDemoTabTitle()}'> + <JPanel id='demoPanel'/> + </tab> + + <tab title='Source'> + <JScrollPane height='100'> + <JTextArea text='{loadSource()}' editable='false'/> + </JScrollPane> + </tab> +</JTabbedPane> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Identity.java (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/Identity.java) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Identity.java (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Identity.java 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,103 @@ +package jaxx.demo; + +import java.beans.PropertyChangeListener; +import java.beans.PropertyChangeSupport; +import java.io.File; + +public class Identity { + + protected String firstName = ""; + + protected String lastName = ""; + + protected String email = "dummy@codelutin.com"; + + protected int age = 51; + + protected File config = new File("/tmp"); + + protected File dir = new File("/tmp"); + + PropertyChangeSupport p; + + public Identity() { + p = new PropertyChangeSupport(this); + } + + public void addPropertyChangeListener(PropertyChangeListener listener) { + p.addPropertyChangeListener(listener); + } + + public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) { + p.addPropertyChangeListener(propertyName, listener); + } + + public void removePropertyChangeListener(PropertyChangeListener listener) { + p.removePropertyChangeListener(listener); + } + + public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) { + p.removePropertyChangeListener(propertyName, listener); + } + + + public String getFirstName() { + return firstName; + } + + public String getLastName() { + return lastName; + } + + public String getEmail() { + return email; + } + + public int getAge() { + return age; + } + + public File getConfig() { + return config; + } + + public File getDir() { + return dir; + } + + public void setFirstName(String firstName) { + String oldFirstName = this.firstName; + this.firstName = firstName; + p.firePropertyChange("firstName", oldFirstName, firstName); + } + + public void setLastName(String lastName) { + String oldLastName = this.lastName; + this.lastName = lastName; + p.firePropertyChange("lastName", oldLastName, lastName); + } + + public void setEmail(String email) { + String oldEmail = this.email; + this.email = email; + p.firePropertyChange("email", oldEmail, email); + } + + public void setAge(int age) { + int oldAge = this.age; + this.age = age; + p.firePropertyChange("age", oldAge, age); + } + + public void setConfig(File config) { + File oldConfig = this.config; + this.config = config; + p.firePropertyChange("config", oldConfig, config); + } + + public void setDir(File dir) { + File oldDir = this.dir; + this.dir = dir; + p.firePropertyChange("dir", oldDir, dir); + } +} \ No newline at end of file Property changes on: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Identity.java ___________________________________________________________________ Name: svn:mergeinfo + Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JAXXDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/Components.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JAXXDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JAXXDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,108 @@ +<Application title="Component Demo" width='1024' height='800' defaultCloseOperation='exit_on_close'> + <script><![CDATA[ +protected void changePanel() { + Object value = list.getSelectionValue(); + if (value instanceof DemoPanel) { + cardLayout.show(preview, ((DemoPanel) value).getLabel()); + } +} + +// init i18n +org.codelutin.i18n.I18n.init(); + +]]></script> + <JSplitPane> + <!--JSplitPane dividerLocation='200'--> + <JScrollPane> + <JTree id='list' showsRootHandles='true' onValueChanged='changePanel()' + cellRenderer='{new javax.swing.tree.DefaultTreeCellRenderer() { + public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { + if (value instanceof DemoPanel) + value = ((DemoPanel) value).getLabel(); + return super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); + } + } + }'> + <item value="Components"> + <item value='Buttons'> + <item value='{buttonDemo}'/> + <item value='{checkBoxDemo}'/> + <item value='{radioButtonDemo}'/> + <item value='{toggleButtonDemo}'/> + </item> + + <item value='Form elements'> + <item value='Text'> + <item value='{passwordFieldDemo}'/> + <item value='{textFieldDemo}'/> + <item value='{textAreaDemo}'/> + </item> + + <item value='{comboBoxDemo}'/> + <item value='{listDemo}'/> + <item value='{sliderDemo}'/> + <item value='{spinnerDemo}'/> + </item> + + <item value='Layout components'> + <item value='{splitPaneDemo}'/> + </item> + + <item value='Menus'> + <item value='{menuItemDemo}'/> + <item value='{checkBoxMenuItemDemo}'/> + <item value='{radioButtonMenuItemDemo}'/> + </item> + + <item value='Windows'> + <item value='{dialogDemo}'/> + </item> + + <item value='{progressBarDemo}'/> + + </item> + + <item value='{labelStyleDemo}'/> + + <item value='{counterDemo}'/> + <item value='{calculatorDemo}'/> + + <item value='New features'> + <item value='Validation'> + <item value='{validationDemo1}'/> + <item value='{validationDemo2}'/> + </item> + <item value='{dataBindingDemo}'/> + </item> + </JTree> + </JScrollPane> + + <java.awt.CardLayout id='cardLayout'/> + + <JPanel id='preview' layout='{cardLayout}'> + <JButtonDemo id='buttonDemo' constraints='buttonDemo.getLabel()'/> + <JCheckBoxDemo id='checkBoxDemo' constraints='checkBoxDemo.getLabel()'/> + <JCheckBoxMenuItemDemo id='checkBoxMenuItemDemo' constraints='checkBoxMenuItemDemo.getLabel()'/> + <JComboBoxDemo id='comboBoxDemo' constraints='comboBoxDemo.getLabel()'/> + <JDialogDemo id='dialogDemo' constraints='dialogDemo.getLabel()'/> + <JListDemo id='listDemo' constraints='listDemo.getLabel()'/> + <JMenuItemDemo id='menuItemDemo' constraints='menuItemDemo.getLabel()'/> + <JPasswordFieldDemo id='passwordFieldDemo' constraints='passwordFieldDemo.getLabel()'/> + <JProgressBarDemo id='progressBarDemo' constraints='progressBarDemo.getLabel()'/> + <JSliderDemo id='sliderDemo' constraints='sliderDemo.getLabel()'/> + <JSpinnerDemo id='spinnerDemo' constraints='spinnerDemo.getLabel()'/> + <JSplitPaneDemo id='splitPaneDemo' constraints='splitPaneDemo.getLabel()'/> + <JRadioButtonDemo id='radioButtonDemo' constraints='radioButtonDemo.getLabel()'/> + <JRadioButtonMenuItemDemo id='radioButtonMenuItemDemo' constraints='radioButtonMenuItemDemo.getLabel()'/> + <JToggleButtonDemo id='toggleButtonDemo' constraints='toggleButtonDemo.getLabel()'/> + <JTextFieldDemo id='textFieldDemo' constraints='textFieldDemo.getLabel()'/> + <JTextAreaDemo id='textAreaDemo' constraints='textAreaDemo.getLabel()'/> + <ValidationListDemo id='validationDemo1' constraints='validationDemo1.getLabel()'/> + <ValidationTableDemo id='validationDemo2' constraints='validationDemo2.getLabel()'/> + <BeanDataBindingDemo id='dataBindingDemo' constraints='dataBindingDemo.getLabel()'/> + <LabelStyleDemo id='labelStyleDemo' constraints='labelStyleDemo.getLabel()'/> + <CounterDemo id='counterDemo' constraints='counterDemo.getLabel()'/> + <CalculatorDemo id='calculatorDemo' constraints='calculatorDemo.getLabel()'/> + </JPanel> + </JSplitPane> +</Application> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JButtonDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JButtonDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JButtonDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JButtonDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,29 @@ +<DemoPanel> + <style> + JButton.fancy { + foreground: blue; + font-face: Arial; + font-size: 18; + } + + JButton.fancy:mouseover { + foreground: red; + font-style: italic; + } + </style> + + <script> + public void buttonClicked(JButton button) { + JOptionPane.showMessageDialog(this, button.getText() + " clicked!", "onActionPerformed", + JOptionPane.INFORMATION_MESSAGE); + } + </script> + + <javax.swing.ImageIcon id='pencil' constructorParams='getClass().getResource("images/pencil_black.gif")'/> + + <VBox id='demoPanel' horizontalAlignment='center' verticalAlignment='middle'> + <JButton text='Simple Button' onActionPerformed='buttonClicked((JButton) event.getSource())'/> + <JButton text='Fancy Button' styleClass='fancy' icon='{pencil}' + onActionPerformed='buttonClicked((JButton) event.getSource())'/> + </VBox> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JCheckBoxDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JCheckBoxDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JCheckBoxDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JCheckBoxDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,38 @@ +<DemoPanel> + <script><![CDATA[ + public String getText(boolean bold, boolean italic, boolean underline) { + String text ="Sample Text"; + if (bold) + text = "<b>" + text + "</b>"; + if (italic) + text = "<i>" + text + "</i>"; + if (underline) + text = "<u>" + text + "</u>"; + return "<html>" + text; + } + ]]></script> + + <VBox id='demoPanel' horizontalAlignment='center' verticalAlignment='middle'> + <Table anchor='west'> + <row> + <cell> + <JCheckBox id='bold' text='Bold' mnemonic='B'/> + </cell> + <cell rows='3'> + <JLabel font='{new Font("Arial", 0, 18)}' + text='{getText(bold.isSelected(), italic.isSelected(), underline.isSelected())}'/> + </cell> + </row> + <row> + <cell> + <JCheckBox id='italic' text='Italic' mnemonic='I'/> + </cell> + </row> + <row> + <cell> + <JCheckBox id='underline' text='Underline' mnemonic='U'/> + </cell> + </row> + </Table> + </VBox> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JCheckBoxMenuItemDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JCheckBoxMenuItemDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JCheckBoxMenuItemDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JCheckBoxMenuItemDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,59 @@ +<JMenuItemDemo> + <style> + .form { + enabled: { enabledCheckBox.isSelected() }; + editable: { editableCheckBox.isSelected() }; + } + </style> + + <JMenuBar id='menuBar'> + <JMenu text='View'> + <JCheckBoxMenuItem id='enabledCheckBox' text='Enabled' selected='true'/> + <JCheckBoxMenuItem id='editableCheckBox' text='Editable' selected='true'/> + </JMenu> + </JMenuBar> + + <Table id='framePanel' anchor='northwest'> + <row> + <cell> + <JLabel text='First Name:' displayedMnemonic='F' labelFor='{firstName}'/> + </cell> + + <cell weightx='1' fill='horizontal'> + <JTextField id='firstName' styleClass="form"/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Last Name:' displayedMnemonic='L' labelFor='{lastName}'/> + </cell> + + <cell fill='horizontal'> + <JTextField id='lastName' styleClass="form"/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Email Address:' displayedMnemonic='E' labelFor='{email}'/> + </cell> + + <cell fill='horizontal'> + <JTextField id='email' styleClass="form"/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Comments:' displayedMnemonic='C' labelFor='{comments}'/> + </cell> + + <cell weightx='1' weighty='1' fill='both'> + <JScrollPane width='150' height='75'> + <JTextArea id='comments' styleClass="form"/> + </JScrollPane> + </cell> + </row> + </Table> +</JMenuItemDemo> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JComboBoxDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JComboBoxDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JComboBoxDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JComboBoxDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,21 @@ +<DemoPanel> + <Table id='demoPanel'> + <row> + <cell> + <JLabel text='Button label:'/> + </cell> + + <cell> + <JComboBox id='comboBox' editable='true'> + <item value='OK' selected='true'/> + <item value='Cancel'/> + <item value='Help'/> + </JComboBox> + </cell> + + <cell> + <JButton text='{comboBox.getSelectedItem()}'/> + </cell> + </row> + </Table> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JDialogDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JDialogDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JDialogDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JDialogDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,79 @@ +<DemoPanel> + <script> + String username; + String password; + + private class OKAction extends javax.swing.AbstractAction { + public OKAction() { + putValue(NAME, "OK"); + } + + + public void actionPerformed(ActionEvent e) { + username = usernameField.getText(); + password = new String(passwordField.getPassword()); + dialog.dispose(); + } + } + + + private class CancelAction extends javax.swing.AbstractAction { + public CancelAction() { + putValue(NAME, "Cancel"); + } + + + public void actionPerformed(ActionEvent e) { + dialog.dispose(); + } + } + { + JRootPane rootPane = dialog.getRootPane(); + rootPane.setDefaultButton(ok); + rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "cancel"); + rootPane.getActionMap().put("cancel", new CancelAction()); + } + </script> + + <JDialog title='Sign on' id='dialog' modal='true' onWindowOpened='dialog.setLocationRelativeTo(demoPanel); + passwordField.setText("");'> + <Table> + <row> + <cell> + <JLabel text='Username:' displayedMnemonic='U' labelFor='{usernameField}'/> + </cell> + + <cell> + <JTextField id='usernameField'/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Password:' displayedMnemonic='P' labelFor='{passwordField}'/> + </cell> + + <cell> + <JPasswordField id='passwordField'/> + </cell> + </row> + + <row> + <cell columns='2'> + <JPanel layout='{new GridLayout(1, 0, 6, 6)}'> + <JButton id='ok' text='OK' action='{new OKAction()}'/> + <JButton text='Cancel' action='{new CancelAction()}'/> + </JPanel> + </cell> + </row> + </Table> + </JDialog> + + <VBox id='demoPanel' horizontalAlignment='center' verticalAlignment='middle'> + <JButton text='Show password dialog' onActionPerformed='dialog.setVisible(true)'/> + <VBox> + <JLabel text='{username != null ? "Username: " + username : ""}'/> + <JLabel text='{password != null ? "Password: " + password : ""}'/> + </VBox> + </VBox> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JListDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JListDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JListDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JListDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,59 @@ +<DemoPanel> + <Table id='demoPanel'> + <row> + <cell> + <JLabel text='Supported Swing components:'/> + </cell> + </row> + + <row> + <cell> + <JScrollPane> + <JList> + <item value='JApplet'/> + <item value='JButton'/> + <item value='JCheckBox'/> + <item value='JCheckBoxMenuItem'/> + <item value='JColorChooser'/> + <item value='JComboBox'/> + <item value='JDesktopPane'/> + <item value='JDialog'/> + <item value='JEditorPane'/> + <item value='JFileChooser'/> + <item value='JFormattedTextField'/> + <item value='JFrame'/> + <item value='JInternalFrame'/> + <item value='JLabel'/> + <item value='JLayeredPane'/> + <item value='JList'/> + <item value='JMenu'/> + <item value='JMenuBar'/> + <item value='JMenuItem'/> + <item value='JOptionPane'/> + <item value='JPanel'/> + <item value='JPasswordField'/> + <item value='JPopupMenu'/> + <item value='JProgressBar'/> + <item value='JRadioButton'/> + <item value='JRadioButtonMenuItem'/> + <item value='JScrollBar'/> + <item value='JScrollPane'/> + <item value='JSeparator'/> + <item value='JSlider'/> + <item value='JSpinner'/> + <item value='JSplitPane'/> + <item value='JTabbedPane'/> + <item value='JTable'/> + <item value='JTextArea'/> + <item value='JTextField'/> + <item value='JTextPane'/> + <item value='JToggleButton'/> + <item value='JToolBar'/> + <item value='JTree'/> + <item value='JWindow'/> + </JList> + </JScrollPane> + </cell> + </row> + </Table> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JMenuItemDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JMenuItemDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JMenuItemDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JMenuItemDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,23 @@ +<DemoPanel> + <script> + private void displayMessage() { + JOptionPane.showMessageDialog(demoPanel, "Menu item clicked"); + } + </script> + + <JPanel id='demoPanel'> + <JDesktopPane width='350' height='400' background='{null}'> + <JInternalFrame title='JMenu demo' width='300' height='250' resizable='true'> + <JMenuBar id='menuBar'> + <JMenu text='Demo'> + <JMenuItem text='Message Box' onActionPerformed='displayMessage()'/> + </JMenu> + </JMenuBar> + + <JPanel id='framePanel'> + <JLabel text='JMenu demo' id='demoMessage' horizontalAlignment='center'/> + </JPanel> + </JInternalFrame> + </JDesktopPane> + </JPanel> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JPasswordFieldDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JPasswordFieldDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JPasswordFieldDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JPasswordFieldDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,10 @@ +<DemoPanel> + <VBox id='demoPanel' horizontalAlignment='center' verticalAlignment='middle'> + <HBox> + <JLabel text='Password:' displayedMnemonic='P' labelFor='{password}'/> + <JPasswordField id='password'/> + </HBox> + + <JLabel text='You entered: {new String(password.getPassword())}'/> + </VBox> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JProgressBarDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JProgressBarDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JProgressBarDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JProgressBarDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,77 @@ +<DemoPanel> + <script><![CDATA[ + import javax.swing.Timer; + + int red = 0; + int green = 0; + int blue = 0; + int speed = 2; + int redDirection = 1; + int greenDirection = 1; + int blueDirection = 1; + + Timer redTimer = new Timer(5, new ActionListener() { + public void actionPerformed(ActionEvent e) { + red = Math.max(0, Math.min(255, red + speed * redDirection)); + if (red == 0 || red == 255) + redDirection = -redDirection; + } + }); + + Timer greenTimer = new Timer(50, new ActionListener() { + public void actionPerformed(ActionEvent e) { + green = Math.max(0, Math.min(255, green + speed * greenDirection)); + if (green == 0 || green == 255) + greenDirection = -greenDirection; + } + }); + + Timer blueTimer = new Timer(500, new ActionListener() { + public void actionPerformed(ActionEvent e) { + blue = Math.max(0, Math.min(255, blue + speed * blueDirection)); + if (blue == 0 || blue == 255) + blueDirection = -blueDirection; + } + }); + + redTimer.start(); + greenTimer.start(); + blueTimer.start(); + ]]></script> + + <Table insets='6' id='demoPanel'> + <row> + <cell columns='3'> + <JLabel text='Welcome to the JAXX framework!' font='{UIManager.getFont("Label.font").deriveFont(18f)}' + foreground='{new Color(red, green, blue)}'/> + </cell> + </row> + + <row> + <cell columns='3' fill='horizontal'> + <JProgressBar foreground='{new Color(red, 0, 0)}' value='{red}' maximum='255'/> + </cell> + </row> + + <row> + <cell columns='3' fill='horizontal'> + <JProgressBar foreground='{new Color(0, green, 0)}' value='{green}' maximum='255'/> + </cell> + </row> + + <row> + <cell columns='3' fill='horizontal'> + <JProgressBar foreground='{new Color(0, 0, blue)}' value='{blue}' maximum='255'/> + </cell> + </row> + + <row> + <cell weightx='1' anchor='east'> + <JButton text='Start' onActionPerformed='redTimer.start(); greenTimer.start(); blueTimer.start()'/> + </cell> + <cell> + <JButton text='Stop' onActionPerformed='redTimer.stop(); greenTimer.stop(); blueTimer.stop()'/> + </cell> + </row> + </Table> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JRadioButtonDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JRadioButtonDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JRadioButtonDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JRadioButtonDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,11 @@ +<DemoPanel> + <HBox id='demoPanel' horizontalAlignment='center' verticalAlignment='middle'> + <VBox> + <JRadioButton text='Animal' value='Lynx.jpg' buttonGroup='radioButtons' selected='true'/> + <JRadioButton text='Vegetable' buttonGroup='radioButtons' value='Tomato.jpg'/> + <JRadioButton text='Mineral' buttonGroup='radioButtons' value='Amethyst.jpg'/> + </VBox> + + <JLabel icon='{new ImageIcon(getClass().getResource("images/" + radioButtons.getSelectedValue()))}'/> + </HBox> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JRadioButtonMenuItemDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JRadioButtonMenuItemDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JRadioButtonMenuItemDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JRadioButtonMenuItemDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,14 @@ +<JMenuItemDemo> + <JMenuBar id='menuBar'> + <JMenu text='Font size'> + <JRadioButtonMenuItem text='10' value='{new Integer(10)}' buttonGroup='fontSize'/> + <JRadioButtonMenuItem text='12' value='{new Integer(12)}' buttonGroup='fontSize' selected='true'/> + <JRadioButtonMenuItem text='14' value='{new Integer(14)}' buttonGroup='fontSize'/> + <JRadioButtonMenuItem text='18' value='{new Integer(18)}' buttonGroup='fontSize'/> + <JRadioButtonMenuItem text='24' value='{new Integer(24)}' buttonGroup='fontSize'/> + </JMenu> + </JMenuBar> + + <JLabel id='demoMessage' text='Font size: {fontSize.getSelectedValue()}' horizontalAlignment='center' + font='{UIManager.getFont("Label.font").deriveFont(fontSize.getSelectedValue() != null ? (float) ((Integer) fontSize.getSelectedValue()).intValue() : 12)}'/> +</JMenuItemDemo> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JSliderDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JSliderDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JSliderDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JSliderDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,12 @@ +<DemoPanel> + <HBox id='demoPanel' horizontalAlignment='center' verticalAlignment='middle'> + <VBox> + <JSlider id='red' maximum='255' value='200'/> + <JSlider id='green' maximum='255' value='180'/> + <JSlider id='blue' maximum='255' value='240'/> + </VBox> + + <JPanel border='{BorderFactory.createEtchedBorder()}' width='64' height='64' + background='{new Color(red.getValue(), green.getValue(), blue.getValue())}'/> + </HBox> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JSpinnerDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JSpinnerDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JSpinnerDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JSpinnerDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,13 @@ +<DemoPanel> + <HBox id='demoPanel' horizontalAlignment='center' verticalAlignment='middle'> + <JLabel text='Spacing:' displayedMnemonic='S' labelFor='{spinner}'/> + + <JSpinner minimum='0' maximum='50' id='spinner'/> + + <VBox spacing='{((Integer) spinner.getValue()).intValue()}'> + <JLabel text='Use the spinner to'/> + <JLabel text='adjust the spacing'/> + <JLabel text='between these lines'/> + </VBox> + </HBox> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JSplitPaneDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JSplitPaneDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JSplitPaneDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JSplitPaneDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,13 @@ +<DemoPanel> + <JPanel id='demoPanel' layout='{new BorderLayout()}'> + <JSplitPane> + <JScrollPane> + <JLabel icon='{new ImageIcon(getClass().getResource("images/Amethyst.jpg"))}'/> + </JScrollPane> + + <JScrollPane> + <JLabel icon='{new ImageIcon(getClass().getResource("images/Lynx.jpg"))}'/> + </JScrollPane> + </JSplitPane> + </JPanel> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JTextAreaDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JTextAreaDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JTextAreaDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JTextAreaDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,33 @@ +<DemoPanel> + <Table id='demoPanel' anchor='northwest'> + <row> + <cell> + <JLabel text='Normal text:' displayedMnemonic='N' labelFor='{textArea}'/> + </cell> + + <cell weightx='1' fill='both'> + <JScrollPane height='120'> + <JTextArea id='textArea' text='Try typing some text here.'/> + </JScrollPane> + </cell> + </row> + + <row> + <cell> + <JLabel text='Upper case text:'/> + </cell> + + <cell weightx='1' fill='both'> + <JScrollPane height='120'> + <JTextArea editable='false' background='{null}' text='{textArea.getText().toUpperCase()}'/> + </JScrollPane> + </cell> + </row> + + <row> + <cell weighty='1'> + <JPanel/> + </cell> + </row> + </Table> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JTextFieldDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JTextFieldDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JTextFieldDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JTextFieldDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,22 @@ +<DemoPanel> + <JPanel id='demoPanel'> + <Table> + <row> + <cell> + <JLabel text='Your name:' displayedMnemonic='n' labelFor='{textField}'/> + </cell> + + <cell> + <JTextField id='textField'/> + </cell> + </row> + + <row> + <cell columns='2'> + <JButton text='Greet' + onActionPerformed='JOptionPane.showMessageDialog(demoPanel, "Hello, " + textField.getText() + "!")'/> + </cell> + </row> + </Table> + </JPanel> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JToggleButtonDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/JToggleButtonDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JToggleButtonDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/JToggleButtonDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,9 @@ +<DemoPanel> + <HBox id='demoPanel' horizontalAlignment='center' verticalAlignment='middle'> + <JToggleButton text='1' id='one'/> + <JToggleButton text='2' id='two'/> + <JToggleButton text='3' id='three'/> + + <JLabel text='Total: {(one.isSelected() ? 1 : 0) + (two.isSelected() ? 2 : 0) + (three.isSelected() ? 3 : 0)}'/> + </HBox> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/LabelStyle.css (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/LabelStyle.css) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/LabelStyle.css (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/LabelStyle.css 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,43 @@ +JSlider { + paintTicks: true; +} + +JSlider.color { + minorTickSpacing: 10; + majorTickSpacing: 50; + border: { BorderFactory . createEmptyBorder( 1, 1, 1, 1 ) +} + +; +} + +JSlider.color:focused { + border: { BorderFactory . createLineBorder( Color . BLACK, 1 ) +} + +; +} + +JSlider#red:focused { + background: #E7ADAD; +} + +JSlider#green:focused { + background: #B2E7AD; +} + +JSlider#blue:focused { + background: #ADB2E7; +} + +JSlider#dummySize { + minorTickSpacing: 2; + majorTickSpacing: 6; +} + +JRadioButton { + enabled: { backgroundCheckbox . isSelected( ) +} + +; +} \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/LabelStyleDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/LabelStyleDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/LabelStyleDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/LabelStyleDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,85 @@ +<DemoPanel> + <style source="LabelStyle.css"/> + + <Table id='demoPanel' anchor='north' fill='both'> + <row> + <cell weightx='1' weighty='1' insets='6, 3, 0, 0'> + <Table anchor='west' fill='both'> + <row> + <cell> + <JLabel text='Text:'/> + </cell> + <cell weightx='1'> + <JTextField id='text' text='Data Binding'/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Red:'/> + </cell> + <cell> + <JSlider id='red' value='128' maximum='255' styleClass='color'/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Green:'/> + </cell> + <cell> + <JSlider id='green' value='0' maximum='255' styleClass='color'/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Blue:'/> + </cell> + <cell> + <JSlider id='blue' value='255' maximum='255' styleClass='color'/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Size:'/> + </cell> + <cell> + <JSlider id='dummySize' value='36' minimum='6' maximum='60'/> + </cell> + </row> + + <row> + <cell columns='2' fill='both' weighty='1'> + <JPanel border='{BorderFactory.createTitledBorder("Preview")}' + height='90' + layout='{new BorderLayout()}'> + <VBox background='{(Color)( backgroundCheckbox.isSelected() ? backgroundColor.getSelectedValue() : null)}' + margin='0' + horizontalAlignment='center' + verticalAlignment='middle'> + <JLabel text='{text.getText()}' font-size='{dummySize.getValue()}' + foreground='{new Color(red.getValue(), green.getValue(), blue.getValue())}'/> + </VBox> + </JPanel> + </cell> + </row> + </Table> + </cell> + + <cell> + <VBox spacing='0' border='{BorderFactory.createTitledBorder("Background")}'> + <JCheckBox id='backgroundCheckbox' text='Show Background'/> + <JRadioButton text='Red' buttonGroup='backgroundColor' value='{Color.RED}' selected='true'/> + <JRadioButton text='Orange' buttonGroup='backgroundColor' value='{Color.ORANGE}'/> + <JRadioButton text='Yellow' buttonGroup='backgroundColor' value='{Color.YELLOW}'/> + <JRadioButton text='Green' buttonGroup='backgroundColor' value='{Color.GREEN}'/> + <JRadioButton text='Cyan' buttonGroup='backgroundColor' value='{Color.CYAN}'/> + <JRadioButton text='Blue' buttonGroup='backgroundColor' value='{Color.BLUE}'/> + <JRadioButton text='Purple' buttonGroup='backgroundColor' value='{new Color(160, 30, 255)}'/> + </VBox> + </cell> + </row> + </Table> +</DemoPanel> \ No newline at end of file Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Model.java (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/Model.java) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Model.java (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Model.java 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,66 @@ +package jaxx.demo; + +import java.beans.*; + +public class Model { + + protected String text = "text"; + + protected String text2 = "text2"; + + protected int ratio = 51; + + + PropertyChangeSupport p; + + public Model() { + p = new PropertyChangeSupport(this); + } + + public void addPropertyChangeListener(PropertyChangeListener listener) { + p.addPropertyChangeListener(listener); + } + + public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) { + p.addPropertyChangeListener(propertyName, listener); + } + + public void removePropertyChangeListener(PropertyChangeListener listener) { + p.removePropertyChangeListener(listener); + } + + public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) { + p.removePropertyChangeListener(propertyName, listener); + } + + + public String getText() { + return text; + } + + public String getText2() { + return text2; + } + + public int getRatio() { + return ratio; + } + + public void setText(String text) { + String oldText = this.text; + this.text = text; + p.firePropertyChange("text", oldText, text); + } + + public void setText2(String text2) { + String oldText2 = this.text2; + this.text2 = text2; + p.firePropertyChange("text2", oldText2, text2); + } + + public void setRatio(int ratio) { + int oldRatio = this.ratio; + this.ratio = ratio; + p.firePropertyChange("ratio", oldRatio, ratio); + } +} \ No newline at end of file Property changes on: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Model.java ___________________________________________________________________ Name: svn:mergeinfo + Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Validation.css (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/Validation.css) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Validation.css (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/Validation.css 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,5 @@ +JSlider { + paintTicks: true; + minorTickSpacing: 5; + majorTickSpacing: 10; +} Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/ValidationListDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/ValidationListDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/ValidationListDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/ValidationListDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,309 @@ +<DemoPanel> + <style source="Validation.css"/> + + <!-- models --> + <Model id='model1'/> + <Model id='model2'/> + <Identity id='identity'/> + + <!-- errors model --> + <jaxx.runtime.validator.BeanValidatorErrorListModel id='errors' + onContentsChanged='ok.setEnabled(errors.isEmpty())'/> + + <!-- validators --> + <BeanValidator id='validator' bean='model1' uiClass="jaxx.runtime.validator.ui.ImageValidationUI"> + <field name="text"/> + <field name="text2"/> + <field name="ratio"/> + </BeanValidator> + <BeanValidator id='validator2' bean='model2' uiClass="jaxx.runtime.validator.ui.IconValidationUI" scope='WARNING'> + <field name="text" component="_text"/> + <field name="text2" component="_text2"/> + <field name="ratio" component="_ratio"/> + </BeanValidator> + <BeanValidator id='validator3' autoField='true' bean='identity' + uiClass="jaxx.runtime.validator.ui.TranslucentValidationUI"> + <field name="email" component="email2"/> + </BeanValidator> + + <Table fill='both' id='demoPanel'> + <row> + <cell weightx='1' weighty='1' insets='6, 3, 0, 0'> + <JPanel border='{BorderFactory.createTitledBorder("Form")}' + layout='{new GridLayout()}' width='250' height='120'> + <Table anchor='west' fill='both'> + <row> + <cell> + <JLabel text='Text:'/> + </cell> + <cell weightx='1'> + <JTextField id='text' text='{model1.getText()}' + onKeyReleased='model1.setText(text.getText())'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Text2:'/> + </cell> + <cell weightx='1'> + <JTextField id='text2' text='{model1.getText2()}' + onKeyReleased='model1.setText2(text2.getText())'/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Ratio:'/> + </cell> + <cell> + <JSlider id='ratio' minimum='0' maximum='100' value='{model1.getRatio()}' + onStateChanged='model1.setRatio(ratio.getValue())'/> + </cell> + </row> + </Table> + </JPanel> + </cell> + <cell weightx='1' weighty='1' insets='6, 3, 0, 0'> + <JPanel border='{BorderFactory.createTitledBorder("Model")}' + layout='{new GridLayout()}' width='250' height='120'> + <Table anchor='west' fill='both'> + <row> + <cell> + <JLabel text='Text:'/> + </cell> + <cell weightx='1'> + <JLabel text='{model1.getText()}'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Text2:'/> + </cell> + <cell weightx='1'> + <JLabel text='{model1.getText2()}'/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Ratio:'/> + </cell> + <cell> + <JLabel text='{model1.getRatio()}'/> + </cell> + </row> + </Table> + </JPanel> + </cell> + </row> + <row> + <cell weightx='1' weighty='1' insets='6, 3, 0, 0'> + <JPanel border='{BorderFactory.createTitledBorder("Form2")}' + layout='{new GridLayout()}' width='250' height='120'> + <Table anchor='west' fill='both'> + <row> + <cell> + <JLabel text='Text:'/> + </cell> + <cell weightx='1'> + <JTextField id='_text' text='{model2.getText()}' + onKeyReleased='model2.setText(_text.getText())'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Text2:'/> + </cell> + <cell weightx='1'> + <JTextField id='_text2' text='{model2.getText2()}' + onKeyReleased='model2.setText2(_text2.getText())'/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Ratio:'/> + </cell> + <cell> + <JSlider id='_ratio' minimum='0' maximum='100' value='{model2.getRatio()}' + onStateChanged='model2.setRatio(_ratio.getValue())'/> + </cell> + </row> + </Table> + </JPanel> + </cell> + <cell weightx='1' weighty='1' insets='6, 3, 0, 0'> + <JPanel border='{BorderFactory.createTitledBorder("Model2")}' + layout='{new GridLayout()}' width='250' height='120'> + <Table anchor='west' fill='both'> + <row> + <cell> + <JLabel text='Text:'/> + </cell> + <cell weightx='1'> + <JLabel text='{model2.getText()}'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Text2:'/> + </cell> + <cell weightx='1'> + <JLabel text='{model2.getText2()}'/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Ratio:'/> + </cell> + <cell> + <JLabel text='{model2.getRatio()}'/> + </cell> + </row> + </Table> + </JPanel> + </cell> + </row> + <row> + <cell weightx='1' weighty='1' insets='6, 3, 0, 0'> + <JPanel border='{BorderFactory.createTitledBorder("Identify Form")}' + layout='{new GridLayout()}' width='250' height='180'> + <Table anchor='west' fill='both'> + <row> + <cell> + <JLabel text='FirstName:'/> + </cell> + <cell weightx='1'> + <JTextField id='firstName' text='{identity.getFirstName()}' + onKeyReleased='identity.setFirstName(firstName.getText())'/> + </cell> + </row> + <row> + <cell> + <JLabel text='LastName:'/> + </cell> + <cell weightx='1'> + <JTextField id='lastName' text='{identity.getLastName()}' + onKeyReleased='identity.setLastName(lastName.getText())'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Email:'/> + </cell> + <cell weightx='1'> + <JTextField id='email2' text='{identity.getEmail()}' + onKeyReleased='identity.setEmail(email2.getText())'/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Age:'/> + </cell> + <cell> + <JSlider id='age' minimum='0' maximum='100' value='{identity.getAge()}' + onStateChanged='identity.setAge(age.getValue())'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Config file :'/> + </cell> + <cell> + <JTextField id='config' text='{identity.getConfig()}' + onKeyReleased='identity.setConfig(new java.io.File(config.getText()))'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Working directory:'/> + </cell> + <cell> + <JTextField id='dir' text='{identity.getDir()}' + onKeyReleased='identity.setDir(new java.io.File(dir.getText()))'/> + </cell> + </row> + </Table> + </JPanel> + </cell> + <cell weightx='1' weighty='1' insets='6, 3, 0, 0'> + <JPanel border='{BorderFactory.createTitledBorder("Identity Model")}' + layout='{new GridLayout()}' width='250' height='120'> + <Table anchor='west' fill='both'> + <row> + <cell> + <JLabel text='FirstName:'/> + </cell> + <cell weightx='1'> + <JLabel text='{identity.getFirstName()}'/> + </cell> + </row> + <row> + <cell> + <JLabel text='LastName:'/> + </cell> + <cell weightx='1'> + <JLabel text='{identity.getLastName()}'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Email:'/> + </cell> + <cell weightx='1'> + <JLabel text='{identity.getEmail()}'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Age:'/> + </cell> + <cell> + <JLabel text='{identity.getAge()}'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Config file:'/> + </cell> + <cell> + <JLabel text='{identity.getConfig()}'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Directory file:'/> + </cell> + <cell> + <JLabel text='{identity.getDir()}'/> + </cell> + </row> + </Table> + </JPanel> + </cell> + </row> + <row> + <cell columns='2' fill="both"> + <JPanel border='{BorderFactory.createTitledBorder("Errors")}' layout='{new GridLayout()}' height='200' + width='500'> + <JScrollPane> + <JList id='errorList' model='{errors}'/> + </JScrollPane> + </JPanel> + </cell> + </row> + <row> + <cell columns='2' fill="both"> + <JPanel layout='{new GridLayout(1,2,0,0)}'> + <JButton id='cancel' text='cancel' + onActionPerformed='JOptionPane.showMessageDialog(this, cancel.getText() + " clicked!", "onActionPerformed", JOptionPane.INFORMATION_MESSAGE);'/> + <JButton id='ok' text='valid' + onActionPerformed='JOptionPane.showMessageDialog(this, ok.getText() + " clicked!", "onActionPerformed", JOptionPane.INFORMATION_MESSAGE);'/> + </JPanel> + </cell> + </row> + </Table> + +</DemoPanel> \ No newline at end of file Property changes on: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/ValidationListDemo.jaxx ___________________________________________________________________ Name: svn:mergeinfo + Copied: jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/ValidationTableDemo.jaxx (from rev 1122, jaxx/trunk/jaxx-example/src/main/java/examples/Components/ValidationTableDemo.jaxx) =================================================================== --- jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/ValidationTableDemo.jaxx (rev 0) +++ jaxx/trunk/jaxx-example/src/main/java/jaxx/demo/ValidationTableDemo.jaxx 2009-01-11 16:27:16 UTC (rev 1138) @@ -0,0 +1,327 @@ +<DemoPanel> + <style source="Validation.css"/> + + <!-- models --> + <Model id='model1'/> + <Model id='model2'/> + <Identity id='identity'/> + + <!-- errors model --> + <jaxx.runtime.validator.BeanValidatorErrorTableModel id='errors2' + onTableChanged='ok.setEnabled(errors2.getRowCount()==0)'/> + + <!-- validators --> + <BeanValidator id='validator' bean='model1' uiClass="jaxx.runtime.validator.ui.ImageValidationUI"> + <field name="text"/> + <field name="text2"/> + <field name="ratio"/> + </BeanValidator> + <BeanValidator id='validator2' bean='model2' uiClass="jaxx.runtime.validator.ui.IconValidationUI" scope='WARNING'> + <field name="text" component="_text"/> + <field name="text2" component="_text2"/> + <field name="ratio" component="_ratio"/> + </BeanValidator> + <BeanValidator id='validator3' autoField='true' bean='identity' + uiClass="jaxx.runtime.validator.ui.TranslucentValidationUI"> + <field name="email" component="email2"/> + </BeanValidator> + + <script><![CDATA[ +import static org.codelutin.i18n.I18n.n_; +import jaxx.runtime.swing.Utils; + +static boolean wasinit=false; + +errorTable.setDefaultRenderer(Object.class, new jaxx.runtime.validator.ErrorTableRenderer()); +Utils.setI18nTableHeaderRenderer(errorTable, n_("validator.scope"), n_("validator.field"), n_("validator.message")); +public void setVisible(boolean value) { + if (!wasinit) { + Utils.fixTableColumnWidth(errorTable, 0, 20); + wasinit=true; + } + super.setVisible(value); +} +]]></script> + + <Table fill='both' id='demoPanel'> + <row> + <cell weightx='1' weighty='1' insets='6, 3, 0, 0'> + <JPanel border='{BorderFactory.createTitledBorder("Form")}' + layout='{new GridLayout()}' width='250' height='120'> + <Table anchor='west' fill='both'> + <row> + <cell> + <JLabel text='Text:'/> + </cell> + <cell weightx='1'> + <JTextField id='text' text='{model1.getText()}' + onKeyReleased='model1.setText(text.getText())'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Text2:'/> + </cell> + <cell weightx='1'> + <JTextField id='text2' text='{model1.getText2()}' + onKeyReleased='model1.setText2(text2.getText())'/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Ratio:'/> + </cell> + <cell> + <JSlider id='ratio' minimum='0' maximum='100' value='{model1.getRatio()}' + onStateChanged='model1.setRatio(ratio.getValue())'/> + </cell> + </row> + </Table> + </JPanel> + </cell> + <cell weightx='1' weighty='1' insets='6, 3, 0, 0'> + <JPanel border='{BorderFactory.createTitledBorder("Model")}' + layout='{new GridLayout()}' width='250' height='120'> + <Table anchor='west' fill='both'> + <row> + <cell> + <JLabel text='Text:'/> + </cell> + <cell weightx='1'> + <JLabel text='{model1.getText()}'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Text2:'/> + </cell> + <cell weightx='1'> + <JLabel text='{model1.getText2()}'/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Ratio:'/> + </cell> + <cell> + <JLabel text='{model1.getRatio()}'/> + </cell> + </row> + </Table> + </JPanel> + </cell> + </row> + <row> + <cell weightx='1' weighty='1' insets='6, 3, 0, 0'> + <JPanel border='{BorderFactory.createTitledBorder("Form2")}' + layout='{new GridLayout()}' width='250' height='120'> + <Table anchor='west' fill='both'> + <row> + <cell> + <JLabel text='Text:'/> + </cell> + <cell weightx='1'> + <JTextField id='_text' text='{model2.getText()}' + onKeyReleased='model2.setText(_text.getText())'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Text2:'/> + </cell> + <cell weightx='1'> + <JTextField id='_text2' text='{model2.getText2()}' + onKeyReleased='model2.setText2(_text2.getText())'/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Ratio:'/> + </cell> + <cell> + <JSlider id='_ratio' minimum='0' maximum='100' value='{model2.getRatio()}' + onStateChanged='model2.setRatio(_ratio.getValue())'/> + </cell> + </row> + </Table> + </JPanel> + </cell> + <cell weightx='1' weighty='1' insets='6, 3, 0, 0'> + <JPanel border='{BorderFactory.createTitledBorder("Model2")}' + layout='{new GridLayout()}' width='250' height='120'> + <Table anchor='west' fill='both'> + <row> + <cell> + <JLabel text='Text:'/> + </cell> + <cell weightx='1'> + <JLabel text='{model2.getText()}'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Text2:'/> + </cell> + <cell weightx='1'> + <JLabel text='{model2.getText2()}'/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Ratio:'/> + </cell> + <cell> + <JLabel text='{model2.getRatio()}'/> + </cell> + </row> + </Table> + </JPanel> + </cell> + </row> + <row> + <cell weightx='1' weighty='1' insets='6, 3, 0, 0'> + <JPanel border='{BorderFactory.createTitledBorder("Identify Form")}' + layout='{new GridLayout()}' width='250' height='180'> + <Table anchor='west' fill='both'> + <row> + <cell> + <JLabel text='FirstName:'/> + </cell> + <cell weightx='1'> + <JTextField id='firstName' text='{identity.getFirstName()}' + onKeyReleased='identity.setFirstName(firstName.getText())'/> + </cell> + </row> + <row> + <cell> + <JLabel text='LastName:'/> + </cell> + <cell weightx='1'> + <JTextField id='lastName' text='{identity.getLastName()}' + onKeyReleased='identity.setLastName(lastName.getText())'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Email:'/> + </cell> + <cell weightx='1'> + <JTextField id='email2' text='{identity.getEmail()}' + onKeyReleased='identity.setEmail(email2.getText())'/> + </cell> + </row> + + <row> + <cell> + <JLabel text='Age:'/> + </cell> + <cell> + <JSlider id='age' minimum='0' maximum='100' value='{identity.getAge()}' + onStateChanged='identity.setAge(age.getValue())'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Config file :'/> + </cell> + <cell> + <JTextField id='config' text='{identity.getConfig()}' + onKeyReleased='identity.setConfig(new java.io.File(config.getText()))'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Working directory:'/> + </cell> + <cell> + <JTextField id='dir' text='{identity.getDir()}' + onKeyReleased='identity.setDir(new java.io.File(dir.getText()))'/> + </cell> + </row> + </Table> + </JPanel> + </cell> + <cell weightx='1' weighty='1' insets='6, 3, 0, 0'> + <JPanel border='{BorderFactory.createTitledBorder("Identity Model")}' + layout='{new GridLayout()}' width='250' height='120'> + <Table anchor='west' fill='both'> + <row> + <cell> + <JLabel text='FirstName:'/> + </cell> + <cell weightx='1'> + <JLabel text='{identity.getFirstName()}'/> + </cell> + </row> + <row> + <cell> + <JLabel text='LastName:'/> + </cell> + <cell weightx='1'> + <JLabel text='{identity.getLastName()}'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Email:'/> + </cell> + <cell weightx='1'> + <JLabel text='{identity.getEmail()}'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Age:'/> + </cell> + <cell> + <JLabel text='{identity.getAge()}'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Config file:'/> + </cell> + <cell> + <JLabel text='{identity.getConfig()}'/> + </cell> + </row> + <row> + <cell> + <JLabel text='Directory file:'/> + </cell> + <cell> + <JLabel text='{identity.getDir()}'/> + </cell> + </row> + </Table> + </JPanel> + </cell> + </row> + <row> + <cell columns='2' fill="both"> + <JPanel border='{BorderFactory.createTitledBorder("Errors")}' layout='{new GridLayout()}' height='200' + width='500'> + <JScrollPane columnHeaderView='{errorTable.getTableHeader()}'> + <JTable id='errorTable' model='{errors2}' rowSelectionAllowed='true' + autoResizeMode='2' cellSelectionEnabled='false' selectionMode='0'/> + </JScrollPane> + </JPanel> + </cell> + </row> + <row> + <cell columns='2' fill="both"> + <JPanel layout='{new GridLayout(1,2,0,0)}'> + <JButton id='cancel' text='cancel' + onActionPerformed='JOptionPane.showMessageDialog(this, cancel.getText() + " clicked!", "onActionPerformed", JOptionPane.INFORMATION_MESSAGE);'/> + <JButton id='ok' text='valid' + onActionPerformed='JOptionPane.showMessageDialog(this, ok.getText() + " clicked!", "onActionPerformed", JOptionPane.INFORMATION_MESSAGE);'/> + </JPanel> + </cell> + </row> + </Table> + +</DemoPanel> \ No newline at end of file Modified: jaxx/trunk/jaxx-example/src/site/fr/rst/index.rst =================================================================== --- jaxx/trunk/jaxx-example/src/site/fr/rst/index.rst 2009-01-11 16:24:09 UTC (rev 1137) +++ jaxx/trunk/jaxx-example/src/site/fr/rst/index.rst 2009-01-11 16:27:16 UTC (rev 1138) @@ -37,4 +37,4 @@ .. |webstart| image:: images/webstart.gif -.. _following link: ./launch-Components.jnlp +.. _following link: ./launch-demo.jnlp