r1174 - in jaxx/trunk: jaxx-runtime-swing jaxx-runtime-swing/src/main/java/jaxx/runtime/swing jaxx-runtime-validator/src/test/java/jaxx jaxx-runtime-validator/src/test/resources/jaxx
Author: tchemit Date: 2009-01-22 00:11:09 +0000 (Thu, 22 Jan 2009) New Revision: 1174 Removed: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/junit/ jaxx/trunk/jaxx-runtime-validator/src/test/resources/jaxx/junit/ Modified: jaxx/trunk/jaxx-runtime-swing/changelog.txt jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXComboBox.java jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXList.java jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/Utils.java Log: - remove no more used junit directory in tests - add some usefull methods in JAXXList and JAXXComboBox Modified: jaxx/trunk/jaxx-runtime-swing/changelog.txt =================================================================== --- jaxx/trunk/jaxx-runtime-swing/changelog.txt 2009-01-20 20:11:30 UTC (rev 1173) +++ jaxx/trunk/jaxx-runtime-swing/changelog.txt 2009-01-22 00:11:09 UTC (rev 1174) @@ -1,3 +1,6 @@ +1.1 chemit 200901?? + * 20090121 [letellier] - add some usefull methods in JAXXList and JAXXComboBox + 1.0 chemit 20090111 * 20090111 [chemit] - integrate new architecture to allow to have runtime code with NO link with compiler :) * 20090105 [chemit] - improve CardLayout2 Modified: jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXComboBox.java =================================================================== --- jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXComboBox.java 2009-01-20 20:11:30 UTC (rev 1173) +++ jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXComboBox.java 2009-01-22 00:11:09 UTC (rev 1174) @@ -15,7 +15,10 @@ import java.awt.event.ItemListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.util.ArrayList; +import java.util.Collection; import java.util.List; public class JAXXComboBox extends JComboBox { @@ -120,8 +123,9 @@ break; } } - } else + } else { item = (Item) items.get(index); + } if (item != null) { String label = item.getLabel(); @@ -151,7 +155,39 @@ }); } + /** + * Fill a combo box model with some datas, and select after all the given object + * + * @param data data ot inject in combo + * @param select the object to select in combo after reflling his model + * @param methodName method to invoke to display data's name + */ + public void fillComboBox(Collection<?> data, Object select, String methodName) { + // prepare method to use + Method m; + try { + m = select.getClass().getMethod(methodName); + m.setAccessible(true); + } catch (NoSuchMethodException e) { + throw new IllegalArgumentException("could not find method " + methodName + " on " + select.getClass()); + } + List<Item> items = new ArrayList<Item>(); + for (Object o : data) { + boolean selected = o.equals(select); + try { + items.add(new Item(o.toString(), (String) m.invoke(o), o, selected)); + } catch (IllegalAccessException e) { + // shoudl never happen ? + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + // shoudl never happen ? + throw new RuntimeException(e); + } + } + setItems(items); + } + // this way we can keep it marked protected and still allow code in this file to call it @Override protected void fireItemStateChanged(ItemEvent e) { @@ -161,10 +197,11 @@ public void setItems(List<Item> items) { setModel(new JAXXComboBoxModel(items)); List<Integer> selectedIndexList = new ArrayList<Integer>(); - for (int i = 0; i < items.size(); i++) + for (int i = 0; i < items.size(); i++) { if (items.get(i).isSelected()) { selectedIndexList.add(i); } + } int[] selectedIndices = new int[selectedIndexList.size()]; for (int i = 0; i < selectedIndexList.size(); i++) { selectedIndices[i] = selectedIndexList.get(i); Modified: jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXList.java =================================================================== --- jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXList.java 2009-01-20 20:11:30 UTC (rev 1173) +++ jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXList.java 2009-01-22 00:11:09 UTC (rev 1174) @@ -13,7 +13,10 @@ import java.awt.Component; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.util.ArrayList; +import java.util.Collection; import java.util.List; public class JAXXList extends JList { @@ -145,4 +148,78 @@ } setSelectedIndices(selectedIndices); } + + /** + * Fill a list model with some datas, and select after all the given object + * + * @param data data ot inject in combo + * @param selects the objects to select in list after reflling his model + */ + public void fillList(Collection<?> data, Collection<?> selects) { + List<Item> items = new ArrayList<Item>(); + for (Object o : data) { + boolean selected = false; + for (Object select : selects) { + if (selected = o.equals(select)) { + break; + } + } + items.add(new Item(o.toString(), o.toString(), o, selected)); + } + setItems(items); + } + + /** + * Fill a list model with some datas, and select after all the given object + * + * @param data data ot inject in combo + * @param select object to select in list after reflling his model + */ + public void fillList(Collection<?> data, Object select) { + List<Item> items = new ArrayList<Item>(); + for (Object o : data) { + boolean selected = o.equals(select); + items.add(new Item(o.toString(), o.toString(), o, selected)); + } + setItems(items); + } + + /** + * Fill a list model with some datas, and select after all the given object + * + * @param data data ot inject in combo + * @param select object to select in list after reflling his model + * @param methodName method to invoke to display data's name + */ + public void fillList(Collection<?> data, Object select, String methodName) { + // prepare method to use + Method m; + try { + m = select.getClass().getMethod(methodName); + m.setAccessible(true); + } catch (NoSuchMethodException e) { + throw new IllegalArgumentException("could not find method " + methodName + " on " + select.getClass()); + } + + List<Item> items = new ArrayList<Item>(); + for (Object o : data) { + boolean selected = o.equals(select); + try { + items.add(new Item(o.toString(), (String) m.invoke(o), o, selected)); + } catch (SecurityException e) { + // shoudl never happen ? + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + // shoudl never happen ? + throw new RuntimeException(e); + } catch (IllegalArgumentException e) { + // shoudl never happen ? + throw new RuntimeException(e); + } catch (InvocationTargetException e) { + // shoudl never happen ? + throw new RuntimeException(e); + } + } + setItems(items); + } } \ No newline at end of file Modified: jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/Utils.java =================================================================== --- jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/Utils.java 2009-01-20 20:11:30 UTC (rev 1173) +++ jaxx/trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/Utils.java 2009-01-22 00:11:09 UTC (rev 1174) @@ -15,12 +15,7 @@ import javax.swing.text.AbstractDocument; import javax.swing.text.JTextComponent; import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Collection; -import java.lang.reflect.Method; -import java.util.List; +import java.util.Collection; public class Utils { private static Field numReaders; @@ -131,121 +126,7 @@ model.setSelectedItem(select); } - /** - * TODO put this code directly in JAXXList, since we can do it :) - * <p/> - * Fill a list model with some datas, and select after all the given object - * - * @param list the list to fill - * @param data data ot inject in combo - * @param selects the objects to select in list after reflling his model - */ - public static void fillList(jaxx.runtime.swing.JAXXList list, Collection<?> data, Collection<?> selects) { - List<Item> items = new ArrayList<Item>(); - for (Object o : data) { - boolean selected = false; - for (Object select : selects) { - selected = (o.equals(select) || selected); - } - items.add(new Item(o.toString(), o.toString(), o, selected)); - } - list.setItems(items); - } - /** - * TODO put this code directly in JAXXList, since we can do it :) - * Fill a list model with some datas, and select after all the given object - * - * @param list the list to fill - * @param data data ot inject in combo - * @param select object to select in list after reflling his model - */ - public static void fillList(jaxx.runtime.swing.JAXXList list, Collection<?> data, Object select) { - List<Item> items = new ArrayList<Item>(); - for (Object o : data) { - boolean selected = o.equals(select); - items.add(new Item(o.toString(), o.toString(), o, selected)); - } - list.setItems(items); - } - - - /** - * TODO put this code directly in JAXXComboBox, since we can do it :) - * Fill a combo box model with some datas, and select after all the given object - * - * @param combo the combo to fill - * @param data data ot inject in combo - * @param select the object to select in combo after reflling his model - * @param methodName method to invoke to display data's name - */ - public static void fillComboBox(jaxx.runtime.swing.JAXXComboBox combo, Collection<?> data, Object select, String methodName) { - // prepare method to use - Method m; - try { - m = select.getClass().getMethod(methodName); - m.setAccessible(true); - } catch (NoSuchMethodException e) { - throw new IllegalArgumentException("could not find method " + methodName + " on " + select.getClass()); - } - - List<Item> items = new ArrayList<Item>(); - for (Object o : data) { - boolean selected = o.equals(select); - try { - items.add(new Item(o.toString(), (String) m.invoke(o), o, selected)); - } catch (IllegalAccessException e) { - // shoudl never happen ? - throw new RuntimeException(e); - } catch (InvocationTargetException e) { - // shoudl never happen ? - throw new RuntimeException(e); - } - } - combo.setItems(items); - } - - /** - * TODO put this code directly in JAXXList, since we can do it :) - * Fill a list model with some datas, and select after all the given object - * - * @param list the list to fill - * @param data data ot inject in combo - * @param select object to select in list after reflling his model - * @param methodName method to invoke to display data's name - */ - public static void fillList(jaxx.runtime.swing.JAXXList list, Collection<?> data, Object select, String methodName) { - // prepare method to use - Method m; - try { - m = select.getClass().getMethod(methodName); - m.setAccessible(true); - } catch (NoSuchMethodException e) { - throw new IllegalArgumentException("could not find method " + methodName + " on " + select.getClass()); - } - - List<Item> items = new ArrayList<Item>(); - for (Object o : data) { - boolean selected = o.equals(select); - try { - items.add(new Item(o.toString(), (String) m.invoke(o), o, selected)); - } catch (SecurityException e) { - // shoudl never happen ? - throw new RuntimeException(e); - } catch (IllegalAccessException e) { - // shoudl never happen ? - throw new RuntimeException(e); - } catch (IllegalArgumentException e) { - // shoudl never happen ? - throw new RuntimeException(e); - } catch (InvocationTargetException e) { - // shoudl never happen ? - throw new RuntimeException(e); - } - } - list.setItems(items); - } - public static void fixTableColumnWidth(JTable table, int columnIndex, int width) { TableColumn column = table.getColumnModel().getColumn(columnIndex); column.setMaxWidth(width);
participants (1)
-
tchemit@users.labs.libre-entreprise.org