help_me
asked on
Make a URL appear as a working link in a textarea component
I'm developing an applet which receives results from a database and then appends the results string to
a textarea component. The string contains a url which I want to appear as a working link when appended to the
textarea. I was thinking about a method which would allow you to append url objects to the textarea, but I cannot find anything, the only method I found was to append a string. Is there a solution to this or a possible work-around.
Ultimately I need to be able to link from the url which is retrieved from the database.
Thanks
Melanie
a textarea component. The string contains a url which I want to appear as a working link when appended to the
textarea. I was thinking about a method which would allow you to append url objects to the textarea, but I cannot find anything, the only method I found was to append a string. Is there a solution to this or a possible work-around.
Ultimately I need to be able to link from the url which is retrieved from the database.
Thanks
Melanie
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Please can you give me a url for the class description of the htmltextpane class, I have found textpane at:
http://www.dstc.uts.edu.au/java/swing-0.4.1/doc/api/com.sun.java.swing.basic.BasicTextPane.html
I found no reference to an html text pane, this is what I would like to use.
Thanks
http://www.dstc.uts.edu.au/java/swing-0.4.1/doc/api/com.sun.java.swing.basic.BasicTextPane.html
I found no reference to an html text pane, this is what I would like to use.
Thanks
The following are the places to look for
a) SwingSet demo program file HtmlPane.java
here is the code too
URL url = new URL(swing.javaDocPath + "/packages.html");
html = new JEditorPane(url);
html.setEditable(false);
html.addHyperlinkListener( this);
JScrollPane scroller = new JScrollPane();
scroller.setBorder(swing.l oweredBord er);
JViewport vp = scroller.getViewport();
vp.add(html);
vp.setBackingStoreEnabled( true);
add(scroller, BorderLayout.CENTER);
b) Everything about JEditorPane
http://java.sun.com/products/jfc/swingdoc-current/index.html
a) SwingSet demo program file HtmlPane.java
here is the code too
URL url = new URL(swing.javaDocPath + "/packages.html");
html = new JEditorPane(url);
html.setEditable(false);
html.addHyperlinkListener(
JScrollPane scroller = new JScrollPane();
scroller.setBorder(swing.l
JViewport vp = scroller.getViewport();
vp.add(html);
vp.setBackingStoreEnabled(
add(scroller, BorderLayout.CENTER);
b) Everything about JEditorPane
http://java.sun.com/products/jfc/swingdoc-current/index.html
Since you are not getting the data from a url, u need to
extend JEditorPane class, tweak some of its methods
extend JEditorPane class, tweak some of its methods
ASKER
Thanks for the code, could you please explain how I should tweak the editor pane constructor method so that it is able to append a string of database results. Once these results have been appended, I need the urls which were fetched to show up as working links, will the HyperlinkListener be able to look at the text in the editorpane and work out where the links are?
I have not been able to get the HyperlinkListener to work in the following test program. It gives me this error - Explicit cast needed to convert Applet1 to com.sun.java.swing.event.H yperlinkLi stener.
import java.awt.*;
import java.awt.event.*;
import com.sun.java.swing.*;
import java.lang.*;
import java.net.*;
import java.applet.*;
import java.util.*;
public class Applet1 extends Applet
{
public void init()
{
try
{
URL url = new URL("http://www.ox.ac.uk");
JEditorPane html = new JEditorPane(url);
html.setEditable(false);
html.addHyperlinkListener( this);
JScrollPane scroller = new JScrollPane();
scroller.setBorder(Swing.l oweredBord er);
JViewport vp = scroller.getViewport();
vp.add(html);
vp.setBackingStoreEnabled( true);
add(scroller, BorderLayout.CENTER);
}
catch (java.lang.Exception ex)
{
ex.printStackTrace();
}
}
}
Thanks for your help.
I have not been able to get the HyperlinkListener to work in the following test program. It gives me this error - Explicit cast needed to convert Applet1 to com.sun.java.swing.event.H
import java.awt.*;
import java.awt.event.*;
import com.sun.java.swing.*;
import java.lang.*;
import java.net.*;
import java.applet.*;
import java.util.*;
public class Applet1 extends Applet
{
public void init()
{
try
{
URL url = new URL("http://www.ox.ac.uk");
JEditorPane html = new JEditorPane(url);
html.setEditable(false);
html.addHyperlinkListener(
JScrollPane scroller = new JScrollPane();
scroller.setBorder(Swing.l
JViewport vp = scroller.getViewport();
vp.add(html);
vp.setBackingStoreEnabled(
add(scroller, BorderLayout.CENTER);
}
catch (java.lang.Exception ex)
{
ex.printStackTrace();
}
}
}
Thanks for your help.
Or else, you can use html component from sun instead of text area.