Kennywen
asked on
java Class FAQ
i have a java program like below:
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class popUp extends JPanel implements ActionListener
{
public popUp()
{
System.out.println("popUp" );
}
public static void main(String[] args)
{
new popUp().createComponents() ;
}
}
i have i question that is y i didn't call the popUp function but the popUp function will call by itself?
thanks
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class popUp extends JPanel implements ActionListener
{
public popUp()
{
System.out.println("popUp"
}
public static void main(String[] args)
{
new popUp().createComponents()
}
}
i have i question that is y i didn't call the popUp function but the popUp function will call by itself?
thanks
Hi Kennywen,
popUp() is the constructor of the class. and if your create new instance of class it runs.
also you can not call a non-static method from a static method. so you need to create an instance of popUp class in order to call another method from main.
Regards.
popUp() is the constructor of the class. and if your create new instance of class it runs.
also you can not call a non-static method from a static method. so you need to create an instance of popUp class in order to call another method from main.
Regards.
I don't understand your question properly.
ASKER
i mean the new popUp().createComponents() ; will call the public popUp() function rite?
It should.
ASKER
javax.swing.SwingUtilities .invokeLat er(new Runnable() {
public void run() {
createComponents();
}
});
what is the above function???
public void run() {
createComponents();
}
});
what is the above function???
It causes the run() to be executed asynchronously on the AWT event dispatching thread. This will happen after all pending AWT events have been processed. This method should be used when an application thread needs to update the GUI.
Where are you writing that invokeLater () code?
Where are you writing that invokeLater () code?
ASKER
in main method.
You mean:
public static void main ( String args[] )
{
SwingUtitlies.invokeLater ( .... ) ;
}
??
That will obviously not call popUp ().
public static void main ( String args[] )
{
SwingUtitlies.invokeLater ( .... ) ;
}
??
That will obviously not call popUp ().
ASKER
sorry, why the SwingUtitlies.invokeLater ( .... ) ; will not call popUp ()?
thanks
thanks
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
thank you and forgive my poor english.
Glad to help ;-)
ASKER
those method that call by the main method must be static rite?
is there anyway to create a non-static method from the main method without create an instance of it?
thanks
is there anyway to create a non-static method from the main method without create an instance of it?
thanks
No. You need to make an object to call the non-static method. Otherwise, you will not be able to do it.
The reason why you were able to call createComponents from main () was that your main () is in the popUp class. Try putting the main () separately in a different class and use the same SwingUtilities.invokeLater () code - I don't think that it'll compile.
The reason why you were able to call createComponents from main () was that your main () is in the popUp class. Try putting the main () separately in a different class and use the same SwingUtilities.invokeLater
ASKER
thanks again
ASKER
javax.swing.SwingUtilities
public void run() {
createComponents();
}
});
then the popUp will not run by itself ... why?
thanks