Solved

how to extract url information

Posted on 2008-09-29
9
213 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
ScreenConnect 6.0 Free Trial

Discover new time-saving features in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI, app configurations and chat acknowledgement to improve customer engagement!

 

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

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
micro services spring boot application error 3 196
netstat -ano | find "8000" and taskkill /f /pid 2984 3 57
Angular JS Route 3 71
iterator/ListIterator approach 17 27
This was posted to the Netbeans forum a Feb, 2010 and I also sent it to Verisign. Who didn't help much in my struggles to get my application signed. ------------------------- Start The idea here is to target your cell phones with the correct…
Here is a helpful source code for C++ Builder programmers that allows you to manage and manipulate HTML content from C++ code, while also handling HTML events like onclick, onmouseover, ... Some objects defined and used in this source include: …
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…

809 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