Re: string to URL and URL to string
On Aug 31, 11:32 pm, Roedy Green <see_webs...@mindprod.com.invalid>
wrote:
On Sun, 31 Aug 2008 19:33:30 -0700 (PDT), bH <bherbs...@hotmail.com>
wrote, quoted or indirectly quoted someone who said :
import java.net.URL;
import java.net.MalformedURLException;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class BookmarksC extends JFrame implements ActionListener{
private JButton b1 = new JButton(" Hotmail ");
private String bmklistURL[] = new String[1];
public BookmarksC() {
super("URL Button");
bmklistURL[0]= "http://www.hotmail.msn.com/";
JPanel btnPanel = new JPanel();
b1.addActionListener(this);
btnPanel.add(b1);
Container contentPane= getContentPane();
contentPane.add(btnPanel);
contentPane.setSize(150,300);
this.setResizable(false);
setVisible(true);
}
public void actionPerformed(ActionEvent evt) {
Object source = evt.getSource();
String theURLX = new String();
URL theURL = null;
try{
if (evt.getSource() == b1) {
theURL = new URL(bmklistURL[0]);
}
}
catch ( MalformedURLException e) {
System.out.println("Bad URL: " + theURL);
}
System.out.println(" The URL is "+ theURL);
theURLX.equals(theURL);
// theURLX below comes up empty.
System.out.println(" The string is "+ theURLX);
}
public static void main(String[] args)
{
BookmarksC app = new BookmarksC ();
app.pack();
app.setVisible(true);
}
}
You have to compare two URLs or two Strings. Otherwise they will
always compare not equal. Java will not automatically convert both to
URL or both to String to compare them.
Instead of:
String theURLX = new String();
you should say more simply:
String theURLX = "";
You don't really need a an extra copy of the empty string object
littering your heap.
--
Roedy Green Canadian Mind Products
The Java Glossaryhttp://mindprod.com- Hide quoted text -
- Show quoted text -
Hi Roedy, I need to respond to Andrew since he wanted to
know what I was doing....
Thanks for your input.
Hi Andrew,
Thanks for the revision.
As for why? Please do not "groan" over my "why."
I am trying to modify an applet into a application. I have
NEVER been able to successfully get an applet to be
modified to run both ways.
I think that for this type of program/problem it will work
since it has to use IE.
With your revsion in place,it now works as an application
using runtime.exe and when I get done with it, IF I add
a radio button to make a choice applet or application
getting it back into an applet maybe will not be that difficult.
Then again itI may never fly.
bH
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.URL;
import java.net.MalformedURLException;
import java.applet.*;
public class BookmarksX extends JApplet
implements ActionListener {
String bmklistURL[] = new String[6];
JButton Button1 = new JButton(" Hotmail ");
JButton Button2 = new JButton("Google Java Help");
JButton Button3 = new JButton(" Google JS Help ");
JButton Button4 = new JButton(" NWS_USAImg ");
JButton Button5 = new JButton(" NWSCleLatImgs ");
JButton Button6 = new JButton(" Danica ");
JPanel p1 = new JPanel();
public static void main( String[] str ){
JFrame frame = new JFrame( "BookmarksX" );
BookmarksX applet = new BookmarksX();
applet.init();
frame.getContentPane().add( applet);
frame.setSize( 150 , 250 );
frame.setVisible(true);
}
public void init() {
System.out.println("Here1");
bmklistURL[0] = "http://www.hotmail.msn.com/";
bmklistURL[1] = "http://groups.google.com/group/"+
"comp.lang.java.help/topics?lnk=rgh";
bmklistURL[2] = "http://groups.google.com/group/"+
"comp.lang.javascript/topics";
bmklistURL[3] = "http://radar.weather.gov/Conus/"+
"full_loop.php";
bmklistURL[4] = "http://radar.weather.gov/"+
"radar.php?rid=cle&product=N0R&overlay=11101111&loop=yes";
bmklistURL[5] = "http://localhost/bH/"+
"Danica.jpg";
p1.setBackground(Color.green);
p1.add(Button1);
Button1.addActionListener(this);
p1.add(Button2);
Button2.addActionListener(this);
p1.add(Button3);
Button3.addActionListener(this);
p1.add(Button4);
Button4.addActionListener(this);
p1.add(Button5);
Button5.addActionListener(this);
p1.add(Button6);
Button6.addActionListener(this);
getContentPane().add(p1, BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent evt) {
System.out.println("Here2");
Object source = evt.getSource();
String theURLX = new String();
URL theURL = null;
try{
if (evt.getSource() == Button1) {
theURL = new URL(bmklistURL[0]);
}
if (evt.getSource() == Button2) {
theURL = new URL(bmklistURL[1]);
}
if (evt.getSource() == Button3) {
theURL= new URL(bmklistURL[2]);
}
if (evt.getSource() == Button4) {
theURL= new URL(bmklistURL[3]);
}
if (evt.getSource() == Button5) {
theURL = new URL(bmklistURL[4]);
}
if (evt.getSource() == Button6) {
theURL = new URL(bmklistURL[5]);
}
}
catch ( MalformedURLException e) {
System.out.println("Bad URL: " + theURL);
}
//Andrew Here is the revision in place, see
//below
theURLX = theURL.toString();
String INVOKE_IE = "C:/Program Files/Internet "+
"Explorer/iexplore.exe";
try {
//theURLX Must be in a String config, not a URL
Runtime.getRuntime().exec(new String[]
{INVOKE_IE,theURLX});
System.out.println(theURLX);
}
catch ( Exception e )
{
System.out.println("IE failed to launch url " +
theURLX + " " + e.getMessage() );
}
}
}
//Eventually I hope to include this statement from the
//original applet
//getAppletContext().showDocument(theURL);