Wednesday, 15 August 2012

java - Repaint() cannot make a static reference to a non static method? -



java - Repaint() cannot make a static reference to a non static method? -

am having problem code have been writing. trying alter main paintcomponent method, says cannot create static reference non-static method. think understand saying, unsure how around this. class below:

import javax.swing.jframe; import java.awt.graphics; public class main extends jframe{ /** * */ private static final long serialversionuid = -4511248732627763442l; public static void main(string[] args){ frame(); repaint(); move(); } public static void frame(){ jframe frame = new jframe("hunter vs hunted"); frame.setextendedstate(jframe.maximized_both); frame.setvisible(true); frame.setresizable(false); frame.setdefaultcloseoperation(jframe.exit_on_close); } public void paintcomponent(graphics g){ super.paintcomponents(g); hunter.paint(g); hunted.paint(g); } public static void move(){ hunter.move(); hunted.move(); } }

hunter , hunted in class 2 external classes. error occurring in main method, on repaint() , advice/direction much appreciated!

the reason same in component class, repaint method non static method. may want like:

main mymain = new main(); mymain.repaint();

or if intent utilize on jframe create frame method like:

public static jframe frame(){ jframe frame = new jframe("hunter vs hunted"); frame.setextendedstate(jframe.maximized_both); frame.setvisible(true); frame.setresizable(false); frame.setdefaultcloseoperation(jframe.exit_on_close); homecoming frame; }

and in main method like:

jframe frame = frame(); frame.repaint();

java parameter-passing paint repaint

No comments:

Post a Comment