java - Methods present in Frame class, which extends JFrame, can't be invoked in main() -


the code given below gives error (cannot make static reference non-static method setvisible(boolean) type window) :

import javax.swing.jframe;  public class frame extends jframe{     public static void main(string[] args) {         setvisible(true);     } } 

while 1 compiles fine :

import javax.swing.jframe;  public class frame extends jframe{     frame() {         setvisible(true);     } } 

when frame extends jframe, means frame inherits methods jframe (loosely saying), including setvisible(boolean) . why can't invoke setvisible(true) in main() , while can in other methods?

the clue in exception message.

the setvisible method instance method on jframe

in public static void main, in static context, there no instance of frame call setvisible on.

you do:

public static void main(string[] args) {     new frame().setvisible(true); } 

because have instance

https://docs.oracle.com/javase/tutorial/java/javaoo/classvars.html might help


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -