Update of /cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing
In directory sc8-pr-cvs1:/tmp/cvs-serv12630/src/java/xdoclet/gui/swing
Modified Files:
BeanContextConfigurationPanel.java BeanTreeCellRenderer.java
MethodAction.java MethodPanel.java MethodSheet.java
PropertySheet.java PropertyText.java
SwingValueHolderFactory.java
Log Message:
Removed the need for xdoclet-plugin.xml. All metadata is now in generated BeanInfo.
Index: BeanContextConfigurationPanel.java
===================================================================
RCS file:
/cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing/BeanContextConfigurationPanel.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** BeanContextConfigurationPanel.java 13 Mar 2003 18:20:38 -0000 1.1
--- BeanContextConfigurationPanel.java 16 Mar 2003 17:06:56 -0000 1.2
***************
*** 5,13 ****
import javax.swing.*;
- import javax.swing.event.TreeSelectionListener;
import javax.swing.event.TreeSelectionEvent;
import java.awt.*;
! import java.util.Map;
import java.util.HashMap;
/**
--- 5,15 ----
import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
+ import javax.swing.event.TreeSelectionListener;
+
import java.awt.*;
!
import java.util.HashMap;
+ import java.util.Map;
/**
***************
*** 20,24 ****
public class BeanContextConfigurationPanel extends JPanel {
private final BeanContextSupportEx _xdocletContainer;
-
private final CardLayout _cards = new CardLayout();
private final JPanel _propertySheets = new JPanel(_cards);
--- 22,25 ----
***************
*** 32,36 ****
_xdocletContainer = xdocletContainer;
! setLayout(new GridLayout( 1, 0 ));
BeanContextTreeModel treeModel = new BeanContextTreeModel(_xdocletContainer);
--- 33,37 ----
_xdocletContainer = xdocletContainer;
! setLayout(new GridLayout(1, 0));
BeanContextTreeModel treeModel = new BeanContextTreeModel(_xdocletContainer);
***************
*** 42,62 ****
// Add a listener that listens for tree selections.
tree.addTreeSelectionListener(new TreeSelectionListener() {
! /**
! * When a node (bean) is selected we want to display editors for
! * all properties. We're using BeanInfo to figure out what editors
! * to display.
! *
! * @param e
! */
! public void valueChanged(TreeSelectionEvent e) {
! Object bean = e.getPath().getLastPathComponent();
! // Get the property sheet for that bean
!
! PropertySheet propertySheet = getPropertySheet(bean);
! showPropertySheet(propertySheet);
! }
! });
JScrollPane scroll = new JScrollPane(tree);
add(scroll);
--- 43,65 ----
// Add a listener that listens for tree selections.
tree.addTreeSelectionListener(new TreeSelectionListener() {
! /**
! * When a node (bean) is selected we want to display editors for
! * all properties. We're using BeanInfo to figure out what editors
! * to display.
! *
! * @param e
! */
! public void valueChanged(TreeSelectionEvent e) {
! Object bean = e.getPath().getLastPathComponent();
!
! // Get the property sheet for that bean
! PropertySheet propertySheet = getPropertySheet(bean);
!
! showPropertySheet(propertySheet);
! }
! });
JScrollPane scroll = new JScrollPane(tree);
+
add(scroll);
***************
*** 70,81 ****
* @param propertySheet
*/
! private void addPropertySheet( PropertySheet propertySheet ) {
// JOptionPane.showMessageDialog(null, "Adding propertySheet: " +
propertySheet.getName() );
! _propertySheets.add( propertySheet.getName(), propertySheet );
}
! private void showPropertySheet( PropertySheet propertySheet ) {
// JOptionPane.showMessageDialog(null, "Showing propertySheet: " +
propertySheet.getName() );
! _cards.show( _propertySheets, propertySheet.getName() );
}
--- 73,84 ----
* @param propertySheet
*/
! private void addPropertySheet(PropertySheet propertySheet) {
// JOptionPane.showMessageDialog(null, "Adding propertySheet: " +
propertySheet.getName() );
! _propertySheets.add(propertySheet.getName(), propertySheet);
}
! private void showPropertySheet(PropertySheet propertySheet) {
// JOptionPane.showMessageDialog(null, "Showing propertySheet: " +
propertySheet.getName() );
! _cards.show(_propertySheets, propertySheet.getName());
}
***************
*** 88,96 ****
private PropertySheet getPropertySheet(Object bean) {
PropertySheet propertySheet = (PropertySheet) _propertySheetMap.get(bean);
! if( propertySheet == null ) {
! propertySheet = new PropertySheet( bean );
! _propertySheetMap.put( bean, propertySheet );
addPropertySheet(propertySheet);
}
return propertySheet;
}
--- 91,101 ----
private PropertySheet getPropertySheet(Object bean) {
PropertySheet propertySheet = (PropertySheet) _propertySheetMap.get(bean);
!
! if (propertySheet == null) {
! propertySheet = new PropertySheet(bean);
! _propertySheetMap.put(bean, propertySheet);
addPropertySheet(propertySheet);
}
+
return propertySheet;
}
Index: BeanTreeCellRenderer.java
===================================================================
RCS file:
/cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing/BeanTreeCellRenderer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** BeanTreeCellRenderer.java 13 Mar 2003 18:20:41 -0000 1.1
--- BeanTreeCellRenderer.java 16 Mar 2003 17:06:56 -0000 1.2
***************
*** 1,10 ****
package xdoclet.gui.swing;
- import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.*;
import java.awt.*;
import java.beans.BeanInfo;
- import java.beans.Introspector;
import java.beans.IntrospectionException;
/**
--- 1,12 ----
package xdoclet.gui.swing;
import javax.swing.*;
+ import javax.swing.tree.DefaultTreeCellRenderer;
+
import java.awt.*;
+
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
+ import java.beans.Introspector;
/**
***************
*** 15,52 ****
*/
class BeanTreeCellRenderer extends DefaultTreeCellRenderer {
!
! public Component getTreeCellRendererComponent(
! JTree tree,
! Object value,
! boolean sel,
! boolean expanded,
! boolean leaf,
! int row,
! boolean hasFocus
! ) {
// Let the superclass do the dirty work.
! JLabel result = (JLabel) super.getTreeCellRendererComponent(
! tree,
! value,
! sel,
! expanded,
! leaf,
! row,
! hasFocus
! );
try {
BeanInfo beanInfo = Introspector.getBeanInfo(value.getClass());
! // JOptionPane.showMessageDialog(null,"BeanTreeCellRenderer Got BeanInfo
for " + value.getClass() + ":" + beanInfo.getClass().getName());
!
Image image = beanInfo.getIcon(BeanInfo.ICON_COLOR_16x16);
! if( image != null ) {
result.setIcon(new ImageIcon(image));
}
result.setText(beanInfo.getBeanDescriptor().getName());
} catch (IntrospectionException e) {
! e.printStackTrace(); //To change body of catch statement use Options |
File Templates.
}
return result;
}
--- 17,40 ----
*/
class BeanTreeCellRenderer extends DefaultTreeCellRenderer {
! public Component getTreeCellRendererComponent(JTree tree, Object value, boolean
sel, boolean expanded,
! boolean leaf, int row, boolean hasFocus) {
// Let the superclass do the dirty work.
! JLabel result = (JLabel) super.getTreeCellRendererComponent(tree, value,
sel, expanded, leaf, row, hasFocus);
try {
BeanInfo beanInfo = Introspector.getBeanInfo(value.getClass());
! // JOptionPane.showMessageDialog(null,"BeanTreeCellRenderer
Got BeanInfo for " + value.getClass() + ":" + beanInfo.getClass().getName());
Image image = beanInfo.getIcon(BeanInfo.ICON_COLOR_16x16);
!
! if (image != null) {
result.setIcon(new ImageIcon(image));
}
+
result.setText(beanInfo.getBeanDescriptor().getName());
} catch (IntrospectionException e) {
! e.printStackTrace(); //To change body of catch statement use Options |
File Templates.
}
+
return result;
}
Index: MethodAction.java
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing/MethodAction.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** MethodAction.java 13 Mar 2003 18:20:42 -0000 1.1
--- MethodAction.java 16 Mar 2003 17:06:56 -0000 1.2
***************
*** 4,8 ****
--- 4,10 ----
import javax.swing.*;
+
import java.awt.event.ActionEvent;
+
import java.beans.MethodDescriptor;
***************
*** 17,25 ****
private final ValueHolder[] _valueHolders;
! public MethodAction( Object bean, MethodDescriptor methodDescriptor,
ValueHolder[] valueHolders ) {
_bean = bean;
_methodDescriptor = methodDescriptor;
_valueHolders = valueHolders;
putValue(Action.NAME, _methodDescriptor.getName());
//putValue(Action.SMALL_ICON, _methodDescriptor.xxx());
}
--- 19,28 ----
private final ValueHolder[] _valueHolders;
! public MethodAction(Object bean, MethodDescriptor methodDescriptor,
ValueHolder[] valueHolders) {
_bean = bean;
_methodDescriptor = methodDescriptor;
_valueHolders = valueHolders;
putValue(Action.NAME, _methodDescriptor.getName());
+
//putValue(Action.SMALL_ICON, _methodDescriptor.xxx());
}
***************
*** 28,42 ****
try {
_methodDescriptor.getMethod().invoke(_bean, getArguments());
! } catch( Exception e ) {
! JOptionPane.showMessageDialog(null, e.getStackTrace(), e.getMessage(),
JOptionPane.ERROR_MESSAGE );
}
}
private Object[] getArguments() {
! if( _valueHolders != null ) {
Object[] arguments = new Object[_valueHolders.length];
! for( int i = 0; i < arguments.length; i++ ) {
! arguments[ i ] = _valueHolders[ i ].getValue();
}
return arguments;
} else {
--- 31,47 ----
try {
_methodDescriptor.getMethod().invoke(_bean, getArguments());
! } catch (Exception e) {
! JOptionPane.showMessageDialog(null, e.getStackTrace(), e.getMessage(),
JOptionPane.ERROR_MESSAGE);
}
}
private Object[] getArguments() {
! if (_valueHolders != null) {
Object[] arguments = new Object[_valueHolders.length];
!
! for (int i = 0; i < arguments.length; i++) {
! arguments[i] = _valueHolders[i].getValue();
}
+
return arguments;
} else {
Index: MethodPanel.java
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing/MethodPanel.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** MethodPanel.java 13 Mar 2003 18:20:44 -0000 1.1
--- MethodPanel.java 16 Mar 2003 17:06:56 -0000 1.2
***************
*** 1,12 ****
package xdoclet.gui.swing;
- import xdoclet.gui.swing.MethodAction;
import xdoclet.gui.ValueHolder;
import javax.swing.*;
import java.beans.MethodDescriptor;
import java.beans.ParameterDescriptor;
import java.lang.reflect.Method;
- import java.awt.*;
/**
--- 1,15 ----
package xdoclet.gui.swing;
import xdoclet.gui.ValueHolder;
+ import xdoclet.gui.swing.MethodAction;
import javax.swing.*;
+
+ import java.awt.*;
+
import java.beans.MethodDescriptor;
import java.beans.ParameterDescriptor;
+
import java.lang.reflect.Method;
/**
***************
*** 16,22 ****
*/
class MethodPanel extends JPanel {
-
public MethodPanel(Object bean, MethodDescriptor methodDescriptor) {
! setLayout(new GridLayout(0,1));
Method method = methodDescriptor.getMethod();
--- 19,25 ----
*/
class MethodPanel extends JPanel {
public MethodPanel(Object bean, MethodDescriptor methodDescriptor) {
! setLayout(new GridLayout(0, 1));
!
Method method = methodDescriptor.getMethod();
***************
*** 31,41 ****
for (int p = 0; p < parameterTypes.length; p++) {
valueHolders[p] =
SwingValueHolderFactory.createValueHolder(parameterTypes[p], null);
! add( (Component) valueHolders[p] );
}
}
MethodAction methodAction = new MethodAction(bean, methodDescriptor,
valueHolders);
methodAction.putValue(Action.NAME, methodDescriptor.getDisplayName());
JButton methodButton = new JButton(methodAction);
add(methodButton);
}
--- 34,47 ----
for (int p = 0; p < parameterTypes.length; p++) {
valueHolders[p] =
SwingValueHolderFactory.createValueHolder(parameterTypes[p], null);
! add((Component) valueHolders[p]);
}
}
MethodAction methodAction = new MethodAction(bean, methodDescriptor,
valueHolders);
+
methodAction.putValue(Action.NAME, methodDescriptor.getDisplayName());
+
JButton methodButton = new JButton(methodAction);
+
add(methodButton);
}
Index: MethodSheet.java
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing/MethodSheet.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** MethodSheet.java 13 Mar 2003 18:20:45 -0000 1.1
--- MethodSheet.java 16 Mar 2003 17:06:56 -0000 1.2
***************
*** 3,18 ****
import xdoclet.gui.swing.MethodPanel;
- import java.awt.event.ItemListener;
- import java.awt.event.ItemEvent;
- import java.awt.CardLayout;
- import java.awt.BorderLayout;
import javax.swing.*;
import java.beans.BeanInfo;
- import java.beans.Introspector;
import java.beans.IntrospectionException;
import java.beans.MethodDescriptor;
import java.util.ArrayList;
- import java.util.List;
import java.util.Iterator;
/**
--- 3,21 ----
import xdoclet.gui.swing.MethodPanel;
import javax.swing.*;
+
+ import java.awt.BorderLayout;
+ import java.awt.CardLayout;
+ import java.awt.event.ItemEvent;
+ import java.awt.event.ItemListener;
+
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
+ import java.beans.Introspector;
import java.beans.MethodDescriptor;
+
import java.util.ArrayList;
import java.util.Iterator;
+ import java.util.List;
/**
***************
*** 43,48 ****
--- 46,53 ----
public MethodSheet(Object bean) {
setLayout(new BorderLayout());
+
// Populate the sheet with components
BeanInfo beanInfo = null;
+
try {
beanInfo = Introspector.getBeanInfo(bean.getClass());
***************
*** 53,57 ****
// JOptionPane.showMessageDialog(null,"PropertySheet Got BeanInfo for " +
bean.getClass() + ":" + beanInfo.getClass().getName());
-
// Set the name on this panel. Needed for CardLayout to work.
setName(beanInfo.getBeanDescriptor().getName());
--- 58,61 ----
***************
*** 63,70 ****
// (It will be hidden if it doesn't have @bean.method tags)
List nonHiddenMethodDescriptors = new ArrayList();
for (int m = 0; m < methodDescriptors.length; m++) {
! if( !methodDescriptors[m].isHidden() ) {
MethodPanel methodPanel = new MethodPanel(bean,
methodDescriptors[m]);
! _methodPanels.add( "" + m, methodPanel);
nonHiddenMethodDescriptors.add(methodDescriptors[m]);
}
--- 67,76 ----
// (It will be hidden if it doesn't have @bean.method tags)
List nonHiddenMethodDescriptors = new ArrayList();
+
for (int m = 0; m < methodDescriptors.length; m++) {
! if (!methodDescriptors[m].isHidden()) {
MethodPanel methodPanel = new MethodPanel(bean,
methodDescriptors[m]);
!
! _methodPanels.add("" + m, methodPanel);
nonHiddenMethodDescriptors.add(methodDescriptors[m]);
}
***************
*** 72,95 ****
final MethodComboModel model = new
MethodComboModel(nonHiddenMethodDescriptors);
! JComboBox methodCombo = new JComboBox( model );
! add( methodCombo, BorderLayout.NORTH );
! add( _methodPanels, BorderLayout.CENTER );
// Add a selection listener to the combo so we can show the appropriate
// MethodPanel when it changes.
! methodCombo.addItemListener( new ItemListener() {
! public void itemStateChanged(ItemEvent evt) {
! int itemIndex = model.getIndexOf(evt.getItem());
! _cards.show( _methodPanels, "" + itemIndex );
! }
! });
}
private class MethodComboModel extends DefaultComboBoxModel {
! public MethodComboModel( List methodDescriptors ) {
! for( Iterator i = methodDescriptors.iterator(); i.hasNext(); ) {
MethodDescriptor md = (MethodDescriptor) i.next();
! addElement( md.getDisplayName() );
}
}
--- 78,103 ----
final MethodComboModel model = new
MethodComboModel(nonHiddenMethodDescriptors);
! JComboBox methodCombo = new JComboBox(model);
+ add(methodCombo, BorderLayout.NORTH);
+ add(_methodPanels, BorderLayout.CENTER);
// Add a selection listener to the combo so we can show the appropriate
// MethodPanel when it changes.
! methodCombo.addItemListener(new ItemListener() {
! public void itemStateChanged(ItemEvent evt) {
! int itemIndex = model.getIndexOf(evt.getItem());
!
! _cards.show(_methodPanels, "" + itemIndex);
! }
! });
}
private class MethodComboModel extends DefaultComboBoxModel {
! public MethodComboModel(List methodDescriptors) {
! for (Iterator i = methodDescriptors.iterator(); i.hasNext();) {
MethodDescriptor md = (MethodDescriptor) i.next();
!
! addElement(md.getDisplayName());
}
}
Index: PropertySheet.java
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing/PropertySheet.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** PropertySheet.java 13 Mar 2003 18:20:47 -0000 1.1
--- PropertySheet.java 16 Mar 2003 17:06:56 -0000 1.2
***************
*** 5,12 ****
import javax.swing.*;
import java.awt.*;
import java.beans.*;
! import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
/**
--- 5,15 ----
import javax.swing.*;
+
import java.awt.*;
+
import java.beans.*;
!
import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
/**
***************
*** 19,26 ****
setLayout(new GridLayout(0, 1));
! JPanel props = new JPanel(new GridLayout(0,1));
// Populate the sheet with components
BeanInfo beanInfo = null;
try {
beanInfo = Introspector.getBeanInfo(bean.getClass());
--- 22,30 ----
setLayout(new GridLayout(0, 1));
! JPanel props = new JPanel(new GridLayout(0, 1));
// Populate the sheet with components
BeanInfo beanInfo = null;
+
try {
beanInfo = Introspector.getBeanInfo(bean.getClass());
***************
*** 31,35 ****
// JOptionPane.showMessageDialog(null,"PropertySheet Got BeanInfo for " +
bean.getClass() + ":" + beanInfo.getClass().getName());
-
// Set the name on this panel. Needed for CardLayout to work.
setName(beanInfo.getBeanDescriptor().getName());
--- 35,38 ----
***************
*** 37,44 ****
// Make property editors
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (int i = 0; i < propertyDescriptors.length; i++) {
try {
Component editor = createEditorComponent(propertyDescriptors[i],
bean);
! // JOptionPane.showMessageDialog(null,"Adding editor for " +
propertyDescriptors[i].getPropertyType().getName() + " " +
propertyDescriptors[i].getName() + ":" + editor.getClass().getName());
props.add(new JLabel(propertyDescriptors[i].getName()));
props.add(editor);
--- 40,49 ----
// Make property editors
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
+
for (int i = 0; i < propertyDescriptors.length; i++) {
try {
Component editor = createEditorComponent(propertyDescriptors[i],
bean);
!
! // JOptionPane.showMessageDialog(null,"Adding
editor for " + propertyDescriptors[i].getPropertyType().getName() + " " +
propertyDescriptors[i].getName() + ":" + editor.getClass().getName());
props.add(new JLabel(propertyDescriptors[i].getName()));
props.add(editor);
***************
*** 46,84 ****
System.out.println(e.getMessage());
} catch (HeadlessException e) {
! e.printStackTrace(); //To change body of catch statement use
Options | File Templates.
}
}
add(props);
! add( new MethodSheet(bean));
}
! private Component createEditorComponent(PropertyDescriptor propertyDescriptor,
Object bean) throws IntrospectionException {
// Instantiate a new editor.
PropertyEditor propertyEditor =
PropertyEditorManager.findEditor(propertyDescriptor.getPropertyType());
if (propertyEditor == null) {
! throw new IntrospectionException("No property editor found for type " +
propertyDescriptor.getPropertyType().getName());
}
// Ask the bean for its current value.
Method getter = propertyDescriptor.getReadMethod();
if (getter != null) {
try {
Object value = getter.invoke(bean, null);
propertyEditor.setValue(value);
} catch (IllegalAccessException e) {
! e.printStackTrace(); //To change body of catch statement use
Options | File Templates.
// JOptionPane.showMessageDialog(null,"IllegalAccessException: " +
e.getMessage());
throw new IntrospectionException(e.getMessage());
} catch (IllegalArgumentException e) {
! e.printStackTrace(); //To change body of catch statement use
Options | File Templates.
// JOptionPane.showMessageDialog(null,"IllegalArgumentException: " +
e.getMessage());
throw new IntrospectionException(e.getMessage());
} catch (InvocationTargetException e) {
! e.printStackTrace(); //To change body of catch statement use
Options | File Templates.
// JOptionPane.showMessageDialog(null,"InvocationTargetException: "
+ e.getMessage());
throw new IntrospectionException(e.getMessage());
}
// Now figure out how to display it...
if (propertyEditor.isPaintable() &&
propertyEditor.supportsCustomEditor()) {
--- 51,97 ----
System.out.println(e.getMessage());
} catch (HeadlessException e) {
! e.printStackTrace(); //To change body of catch statement use Options
| File Templates.
}
}
add(props);
! add(new MethodSheet(bean));
}
! private Component createEditorComponent(PropertyDescriptor propertyDescriptor,
Object bean)
! throws IntrospectionException {
// Instantiate a new editor.
PropertyEditor propertyEditor =
PropertyEditorManager.findEditor(propertyDescriptor.getPropertyType());
if (propertyEditor == null) {
! throw new IntrospectionException("No property editor found for type "
! + propertyDescriptor.getPropertyType().getName());
}
// Ask the bean for its current value.
Method getter = propertyDescriptor.getReadMethod();
+
if (getter != null) {
try {
Object value = getter.invoke(bean, null);
+
propertyEditor.setValue(value);
} catch (IllegalAccessException e) {
! e.printStackTrace(); //To change body of catch statement use Options
| File Templates.
!
// JOptionPane.showMessageDialog(null,"IllegalAccessException: " +
e.getMessage());
throw new IntrospectionException(e.getMessage());
} catch (IllegalArgumentException e) {
! e.printStackTrace(); //To change body of catch statement use Options
| File Templates.
!
// JOptionPane.showMessageDialog(null,"IllegalArgumentException: " +
e.getMessage());
throw new IntrospectionException(e.getMessage());
} catch (InvocationTargetException e) {
! e.printStackTrace(); //To change body of catch statement use Options
| File Templates.
!
// JOptionPane.showMessageDialog(null,"InvocationTargetException: "
+ e.getMessage());
throw new IntrospectionException(e.getMessage());
}
+
// Now figure out how to display it...
if (propertyEditor.isPaintable() &&
propertyEditor.supportsCustomEditor()) {
***************
*** 91,95 ****
}
}
! throw new IntrospectionException("Property \"" +
propertyDescriptor.getName() + "\" has non-displayabale editor.");
}
}
--- 104,110 ----
}
}
!
! throw new IntrospectionException("Property \"" + propertyDescriptor.getName()
! + "\" has non-displayabale editor.");
}
}
Index: PropertyText.java
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing/PropertyText.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** PropertyText.java 13 Mar 2003 18:20:48 -0000 1.1
--- PropertyText.java 16 Mar 2003 17:06:56 -0000 1.2
***************
*** 2,10 ****
import javax.swing.*;
! import java.beans.PropertyEditor;
! import java.awt.event.KeyEvent;
import java.awt.event.FocusEvent;
- import java.awt.event.KeyListener;
import java.awt.event.FocusListener;
/**
--- 2,12 ----
import javax.swing.*;
!
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
+ import java.awt.event.KeyEvent;
+ import java.awt.event.KeyListener;
+
+ import java.beans.PropertyEditor;
/**
***************
*** 19,22 ****
--- 21,25 ----
super();
_propertyEditor = propertyEditor;
+
//addKeyListener(this);
//addFocusListener(this);
***************
*** 34,38 ****
//----------------------------------------------------------------------
// Focus listener methods.
-
public void focusGained(FocusEvent e) {
}
--- 37,40 ----
***************
*** 44,48 ****
//----------------------------------------------------------------------
// Keyboard listener methods.
-
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
--- 46,49 ----
Index: SwingValueHolderFactory.java
===================================================================
RCS file:
/cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing/SwingValueHolderFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** SwingValueHolderFactory.java 13 Mar 2003 18:20:49 -0000 1.1
--- SwingValueHolderFactory.java 16 Mar 2003 17:06:56 -0000 1.2
***************
*** 5,8 ****
--- 5,9 ----
import javax.swing.*;
+
import java.beans.FeatureDescriptor;
-------------------------------------------------------
This SF.net email is sponsored by:Crypto Challenge is now open!
Get cracking and register here for some mind boggling fun and
the chance of winning an Apple iPod:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en
_______________________________________________
xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel