Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

how to extract url information

Posted on 2008-09-29
9
218 Views
Last Modified: 2013-11-23
0
Comment
Question by:tdavidson_9
  • 5
  • 4
9 Comments
 
LVL 59

Expert Comment

by:Kevin Cross
ID: 22602604
For setting the content to an argument, you should check that it has a value first and then pass to your JTextArea through parameters of the methods you use to create the GUI or through an instance variable.

Hopefully the code snippet helps explain it.

P.S. In the future you can just created a related question and the expert who helped you will get an e-mail but additionally other experts will be able to assist; therefore, you don't need to address question directly to a specific expert. :)
public static void main(String[] args) {
    String displayAreaText = "";
    
    if (args.length >= 1) { // you may want this to be exactly 1 (==)
        displayAreaText = args[0];
    }
 
    SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            createAndShowGUI(displayAreaText);
        }
    });
}
 
// Then you will need to change the signature of your methods like this
private static void createAndShowGUI(String displayAreaText) 
public JPanel createContentPane (String displayAreaText)
 
// And pass the displayAreaText down to the JTextArea
// OR just change the createAndShowGUI as shown above and add this line
Display display = new Display();
display.content = displayAreaText; // <--- this is new line
frame.setContentPane(display.createContentPane());

Open in new window

0
 

Author Comment

by:tdavidson_9
ID: 22602709
It didn't work!
My eclipse complaint: Cannot refer to a non-final variable content inside an inner class defined in a different method.
0
 
LVL 59

Expert Comment

by:Kevin Cross
ID: 22602726
Sorry, wasn't paying attention to the invokeLater statement itself.
0
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 

Author Comment

by:tdavidson_9
ID: 22602784
Then how to make it work? Is it possible to do it?
0
 
LVL 59

Expert Comment

by:Kevin Cross
ID: 22606104
You could do it making the following alterations.  May be another way to accomplish, but this is what I know off top of my head.

(Display class implements Runnable)
private void createAndShowGUI() {
        JFrame.setDefaultLookAndFeelDecorated(true);
        JFrame frame = new JFrame("Request message cookies");
        frame.setContentPane(createContentPane());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(800, 600);
        frame.setVisible(true);
    }
 
    public static void main(String[] args) {
        String displayAreaText = "";
 
        if (args.length >= 1) { 
            displayAreaText = args[0];
        }
 
        SwingUtilities.invokeLater(new Display(displayAreaText));
    }
 
    public Display(String content) {
        this.content = content;
    }
 
    @Override
    public void run() {
        createAndShowGUI();
    }

Open in new window

0
 

Author Comment

by:tdavidson_9
ID: 22606928
// this way also works

   public static void main(String[] args) {

        if (args.length == 1){
            String content = args[0];
            createAndShowGUI(displayAreaText);
        }
        else
              System.exit(0);
   }
   private static void createAndShowGUI(String text) {
    ...
   public JPanel createContentPane (String text){
    ...
// I was wondering what is the risk for the program to invoke the object
// directly without using the code below!
//        SwingUtilities.invokeLater(new Runnable() {
//            public void run() {
//                createAndShowGUI();
//            }
//        });  
0
 

Author Comment

by:tdavidson_9
ID: 22607393
I also try your method, it does not compile at all :(
0
 
LVL 59

Accepted Solution

by:
Kevin Cross earned 250 total points
ID: 22607569
Your method does work if you don't need to use the invokeLater of Swing as you had previously.  I stuck with that since you had it in original.

As far as my method, I tested it before posting and it will work if you change code as shown and add Runnable to the implements listing of Display as indicated in my comment.  Sorry if that wasn't clear.

Regards,
Kevin
0
 
LVL 59

Expert Comment

by:Kevin Cross
ID: 22607576
This is how mine is defined:
public class Display implements ActionListener, Runnable
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
javap bin 2 41
servlet filter example 37 72
Android development question 2 54
maven disable workspace resolution 1 22
For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
By the end of 1980s, object oriented programming using languages like C++, Simula69 and ObjectPascal gained momentum. It looked like programmers finally found the perfect language. C++ successfully combined the object oriented principles of Simula w…
This video teaches viewers about errors in exception handling.
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.

860 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question