(Ignore my message asking for your output - you've solved that one).
The API is slightly different to that on the Wiki.
String tuneAsString = "X:0\nT:A simple scale exercise\nK:D
\nCDEFGABcdefggfedcBAGFEDC\n";
Tune tune = new TuneParser().parse(tuneAsString);
JScoreComponent scoreUI = new JScoreComponent();
scoreUI.setTune(tune);
In my test app I put the abc string into a JTextArea and update the
JScoreComponent whenever the text changes. It's very nice and quite
fast (on my 2GHz laptop).
The proper way to do it is to use abc.ui.swing.TuneEditorPane which
has colorising etc.
To get you started on the internals of abc4j for your project.
You could start at abc.notation.Tune to understand the object oriented
representation. Tune.transpose walks the object structure which
represents the notes etc. of a Tune.
abc.ui.swing.JTune.compute is responsible for creating graphical
objects which represent of abc.notation.Tune.
Drawing the graphics starts with abc.ui.swing.JScoreComponent as the
"top level" graphics object.
JScoreComponent paints itself by calling JScoreComponent.render which
calls JTune.render which in turn calls render on its children ... a
classic recursive update
You could try setting a debugger break point on JNote.render to see
this all in action.
When you are building your editor you will probably need to know how
the graphical display relates to the object model, to handle mouse
clicks etc. JScoreComponent.getScoreElementAt(Point location) might
be useful. See abcynth.PlayerApp for an example.
Hope that helps a bit.