You might consider to use a JXTable and JXHyperlink (both in the SwingX project) - they support hyperlinks in the renderer, complete with HyperlinkAction backed by Desktop (the class mentioned by @Andrew Thompson)
forgot to mention that the appropriate renderer is installed by default for class URI, a code snippet which triggers the appropriate DeskTop action out off the box by clicking into the cell containing a URI:
// quick model which returns URI class
DefaultTableModel model = new DefaultTableModel(0, 1) {
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
@Override
public Class<?> getColumnClass(int columnIndex) {
return URI.class;
}
};
// fill with supported uri types
model.addRow(new Object[]{new URI("mailto:contributor@java.net")});
model.addRow(new Object[] {new URI("http://swingx.java.net")});
model.addRow(new Object[] {new URI("http://stackoverflow.com/questions/9031371/how-to-show-url-as-a-click-able-url-in-jeditorpane-and-allow-them-to-open-in-def")});
model.addRow(new Object[] {new URI("http://dummy.org")});
// use in JXTable
JXTable table = new JXTable(model);
// that's it :-)
Addendum
overlooked your requirement of url + text - in swingx default support, the whole cell is clickable, not only the string representation of the url