Troubleshooting

  NullPointerException at startup
  Exceptions with unsigned applets
  Your application frame's size doesn't match the layout size
  JLayeredPane and JDesktopPane size
  JEditorPane doesn't fire HyperlinkEvents
  Missing table headers
  JSeparator is invisible
  LookAndFeel switching
  Unexpected Exceptions
  Internal Errors


NullPointerException at startup     Top of page

If you run RADi from the command line you will sometimes notice a NullPointerException at javax.swing.text.FlowView.changedUpdate(FlowView.java:264). This is a known Swing bug which will disappear with Java 1.5. You can safely ignore it.


Exceptions with unsigned applets     Top of page

Because the RADi runtime uses reflection, it only works with unsigned applets if access specifiers follow this rules:

Main class Field access public
Main class Method access public
Inner class Class access public
Inner class Field access public
Inner class Method access public

Note: The RADi code generator does not update access specifiers of fields, methods and inner classes, you have to do this manually.

See Exporting layout classes.


Your application frame's size doesn't match the layout size     Top of page

This usually happens with JEditorPanes or JTextPanes contained in a scroll pane whose preferredSize property was not explicitely set (see: JEditorPane and JTextPane).

It may also happen with menu bars or tool bars if the grid row is higher than the component's preferred height (see JMenuBar, JToolBar).


JLayeredPane and JDesktopPane size     Top of page

Both JLayeredPane and JDesktopPane have a null LayoutManager and therefore cannot calculate their preferred or minimum sizes from the layout (as other containers do). You have to define their size via the preferredSize property, the RADi defaults are Dimension(240, 180).

JLayeredPane or JDesktopPane are always placed in a design grid, so you can also manipulate their sizes by defining an absolute cell size and setting anchors. But at the moment you switch to the JLayeredPane's or JDesktopPane's hierarchy level, both will be displayed at their preferred size and may be smaller than they were inside their grid cell (and previously displayed child components may have disappeared).
If you run into this problem, the simple solution is to adjust the JLayeredPane's resp. JDesktopPane's preferredSize property in a way that at least all child components are visible.


JEditorPane doesn't fire HyperlinkEvents     Top of page

Only a non-editable JEditorPane will fire HyperlinkEvents.


Missing table headers     Top of page

Table headers of JTable are displayed only if the table is contained in a scroll pane.


JSeparator is invisible     Top of page

For a JSeparator with horizontal orientation, set the left and right anchors. For a JSeparator with vertical orientation, set the top and bottom anchors.


LookAndFeel switching     Top of page

With some LookAndFeels you may notice, that the RADi GUI is not perfectly updated after you applied the look and feel. If this is the case, quit and restart RADi.


Unexpected Exception     Top of page

If you ever see the you ran into some programming bug. It might be that the data you are working on is corrupted, so you should not continue (and maybe save a corrupted layout definition file which you might be unable to open again). Either choose [Exit RADi] or [Exit and Save Copies].


Internal Error     Top of page

The signals an exception RADi was unable to prevent. This is definitely a RADi bug, but you can be sure that your data is still valid. If an internal error happens in the repaint thread, then all you can do is choose [Quit RADi].