Need Wrapping text and an image in a JDialog for an About Box in a Java Swing GUI

I need wrapping text and an image in a JDialog for an About Box in a Java Swing GUI.  Should I be using a JDialog, JWindow, JOptionPane or something else?  I tried JWindow but I could not move the dialog.  Should I use a JTextArea for the wrapping text?  How do I get an image on the dialog.  

Thanks,
Dave
gdkinney_2Asked:
Who is Participating?
 
sciuriwareConnect With a Mentor Commented:
You need a trick for images:

this is how I did it:

      ep.setText("<IMG SRC=\""  + getLocalURL("Icon.gif").toString() + "\">");

where:

       URL getLocalURL(String fileName)
       {
             return(this.getClass().getResource(fileName));
       }

// This code loads an icon that is in the same directory as the class file of this object.
// All pathnames you can give will be relative to the class file,
// so it keeps working when you create .jar with all files in it.


;JOOP!


0
 
sciuriwareCommented:
For an aboutbox you can use JWindow if you want to give it your private skin,
otherwise a JDialog is simpler.
Put your text and pictures as an HTML page into a JTextArea on the aboutbox.
;JOOP!
0
 
sciuriwareCommented:
You can test the text of your HTML in any browser before you put it into the JTextArea.
Don't use JOptionPane: you can't customise it.
You could not move JWindow: correct, it has no title bar: aboutboxes are not moved, only OK-ed.
;JOOP!
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
gdkinney_2Author Commented:
I can test the text of a JTextArea in a browser?  So I can use <HTML> tags like <BR> in the text of a JTextArea?  This is the About box for a Java Swing Application it does not run in a browser.  
0
 
sciuriwareCommented:
On second thoughts, in your case a JEditorPane is stronger for HTML content than an ordinary JTextArea:

Create the text in an editor, save it as .htm, test it in FireFox or Internet Explorer,
then paste the text into:
    String content = "<paste here>";
// and:
    JEditorPane ep = new JEditorPane();
      ep.setEditable(false);
      ep.setEditorKit(new HTMLEditorKit());
      ep.setText(content);

put 'ep' in a Frame and display it.
   
You can apply HTML in almost any control, but JEditorPane is almost as powerful as a browser without plug-ins.

;JOOP!
0
 
gdkinney_2Author Commented:
Sciuriware,
    I took your advive and used a JEditorPane and wrote some HTML code to get the content I wanted in my dialog.  I tried to add a image tag:
<IMG SRC='mygif.gif'> into the content.  I just had the gif file name for the src attribute because the gif is in the same directory (folder).  For some reason when I run the application and look at the dialog the gif file does not render in the About dialog.  The code in the content string is OK because I can save the content string as a html file and bring it up in a browser and the gif renders fine.  So for some reason maybe the HTMLEditorKit class is having trouble rendering the image.

Dave
0
 
sciuriwareCommented:
:)
0
All Courses

From novice to tech pro — start learning today.