Solved

how to extract url information

Posted on 2008-09-29
9
219 Views
Last Modified: 2013-11-23
0
Comment
Question by:tdavidson_9
[X]
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
  • 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
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
tomcat startup error 5 136
Export all vba modules from outlook vbaproject.otm 7 48
Java: anonymous class 4 38
Tomcat 9 + java 8 error while trying to deploy a war file 2 715
Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

749 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