Procedure
This scenario is to
verify that freeform annotations are created, modified, and interpreted
correctly by the VE.
Setup
Open a new java file with the VE, for a class which subclasses java.lang.Object.
Object Subclass Test
Drop several beans on
the freeform surface
Verify
that proper annotations are created for each as comments on the field
declaration line.
Move the beans around
Verify
that the annotations are properly updated.
Change the annotation
parameters in the source code
Verify
that the corresponding beans are moved on the graphical canvas.
Create a new line
between the end of the field declaration and the annotation comment, so that
the entire comment
moves to the line below the field.
Verify
that position of the bean is still shown properly.
Save, close, and reopen
the file
Verify
that all of the beans are sized and positioned exactly as they were before.
Drop a JPanel and move
one of the other beans(JButton) into it.
Verify
that the annotations for the moved bean are removed, then move it back to canvas.
Inheritance Test
Open a new java file
with the VE, this time making the class a subclass of javax.swing.JPanel.
When the editor is
opened there should be a rectangle on the canvas representing the JPanel.
Resize the rectangle.
Verify
that annotations are applied as comments at the end of the code showing the
position and that the size is correct with in the initialize method.
Move the panel around
Verify
that its annotations are properly updated.
Change the annotation
parameters in the source code
Verify
that the panel is moved on the graphical canvas.
Verify
that File->Revert properly reverts the code to last saved state, and redraws the
canvas.
Repeat Inheritance Test
alternating between the default package and other packages with the following
containers:
Other
Make a new file with
the following contents:
public
class Empty {
private
javax.swing.JPanel ivjJPanel = null;
// @jve:visual-info decl-index=0
visual-constraint="33,44"
private
javax.swing.JButton ivjJButton = null;
private javax.swing.JButton
ivjJButton1 = null;
public
Empty() {
}
private
javax.swing.JPanel getIvjJPanel() {
if (ivjJPanel ==
null) {
ivjJPanel = new javax.swing.JPanel();
ivjJPanel.add(getIvjJButton(), null);
ivjJPanel.add(getIvjJButton1(), null);
ivjJPanel.setSize(95, 85);
}
return ivjJPanel;
}
private javax.swing.JButton
getIvjJButton() {
if (ivjJButton ==
null) {
ivjJButton = new
javax.swing.JButton();
}
return ivjJButton;
}
private javax.swing.JButton
getIvjJButton1() {
if (ivjJButton1 ==
null) {
ivjJButton1 = new
javax.swing.JButton();
}
return ivjJButton1;
}
}
Move the JButtons from
the JPanel onto the freeform. Also create a class extending JFrame, drop a
couple of JButtons on the content pane, and then retry the test.
Verify
that annotation marks are generated for the JButtons.
Verify
that removing the annotations of a bean causes it to be moved immediately.