java - Eclipse Indigo bug -


i have been running eclipse indigo few months now, , have run bug cannot seem find answer to. creating small 2d side-scroller game similar of mario, old zelda, etc.

i going show dad new feature had added program. instead of coming upstairs see program on computer, dad decided using sudo screen-viewing thing not sure of. have used before, , let see screen of computer in home (on same ip interface), , can use computer too.

i didn't want show program dad way, told him come upstairs. did, , ever since then, eclipse not show graphics inside of jframe in program. show things such words (written on screen), not show graphics. such background image, or character, or else. positive isn't problem coding, because had tested , played game quite few times before dad did screen-viewing thing (we both on linux mint 12, btw).

i think bug related screen-viewing thing.

i love if help. great. thanks.

-this has been solved*

board

package external;  import java.awt.graphics; import java.awt.graphics2d; import java.awt.image; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.keyadapter; import java.awt.event.keyevent;  import javax.swing.*;  public class board extends jpanel implements actionlistener, runnable {      dude p;      image img;         timer time;     int v = 172;     thread animator;      boolean = false;     boolean done2 = false;      public board() {         p = new dude();         addkeylistener(new al());         setfocusable(true);         imageicon = new imageicon ("/home/clark/desktop/swindle_test_background.png");         img = i.getimage();          time = new timer (3, this);         time.start();     }      public void actionperformed(actionevent e) {         p.move();         repaint();      }     public void paint(graphics g) {         if (p.dy == 1 && done2 == false)         {             done2 = true;             animator = new thread(this);             animator.start();         }         super.paint(g);             graphics2d g2d = (graphics2d) g;     if ((p.getx() - 590) % 2400 == 0)         p.nx = 0;         if ((p.getx() - 1790) % 2400 == 0)         p.nx2 = 0;             g2d.drawimage(img, 985-p.nx2, 0, null);             if (p.getx() >= 921)             g2d.drawimage(img, 985-p.nx, 0, null);             g2d.drawimage(p.getimage(), 75, v, null);       }      private class al extends keyadapter {         public void keyreleased(keyevent e) {             p.keyreleased(e);         }         public void keypressed(keyevent e) {             p.keypressed(e);         }      }     boolean h = false;     boolean done = false;      public void cycle() {         if (h == false)                 v--;         if (v == 125)                 h = true;         if (h == true && v <= 172 ) {                 v++;         if (v == 172) {                     done = true;          }     } }         public void run() {          long beforetime, timediff, sleep;          beforetime = system.currenttimemillis();          while (done == false) {                  cycle();                  timediff = system.currenttimemillis() - beforetime;                 sleep = 10 - timediff;                  if (sleep < 0)                         sleep = 2;                 try {                         thread.sleep(sleep);                 } catch (interruptedexception e) {                         system.out.println("interrupted");                 }                  beforetime = system.currenttimemillis();         }         done = false;         h = false;         done2 = false; }  } 

dude

package external;  import java.awt.image; import java.awt.event.keyevent;  import javax.swing.imageicon;  public class dude {     int x, dx, y, nx2, nx, dy;     image swindle_man_right;     imageicon r = new imageicon("/home/clark/desktop/swindle_man_right.png");     imageicon l = new imageicon("/home/clark/desktop/swindle_man_left.png");     imageicon j = new imageicon("/home/clark/desktop/swindle_man_jump.png");      public dude() {         swindle_man_right = l.getimage();         x = 75;         nx2 = 685;         nx = 0;         y = 172;  }   public void move() {     x = x + dx;     nx2 = nx2 + dx;     nx = nx + dx; } public int getx() {     return x; } public int gety() {     return y; }  public image getimage() {     return swindle_man_right; }  public void keypressed(keyevent e) {     int key = e.getkeycode();     if (key == keyevent.vk_left)     {               dx = -1;     swindle_man_right = l.getimage();             }     if (key == keyevent.vk_right)             {dx = 1;     swindle_man_right = r.getimage();               }      if (key == keyevent.vk_up)             {dy = 1;             swindle_man_right= j.getimage();             }                       }  public void keyreleased(keyevent e) {     int key = e.getkeycode();      if (key == keyevent.vk_left)             dx = 0;      if (key == keyevent.vk_right)             dx = 0;      if (key == keyevent.vk_up)             {dy = 0;             swindle_man_right= r.getimage();}             } } 

frame

package external;  import javax.swing.*;  public class frame {      public frame() {         jframe frame = new jframe("swindle [version 0.1.9]");           frame.setdefaultcloseoperation(jframe.exit_on_close);         frame.setsize(700,390);          frame.setresizable(false);         frame.setlocationrelativeto(null);         frame.setvisible(true);     }     public static void main(string[] args) {         new frame(); }  } 

as near can tell, you've not added frame.

after replaced graphics own, able running...

enter image description here

public class frame {      public static void main(string[] args) {         new frame();     }      public frame() {         eventqueue.invokelater(new runnable() {             @override             public void run() {                 try {                     uimanager.setlookandfeel(uimanager.getsystemlookandfeelclassname());                 } catch (classnotfoundexception | instantiationexception | illegalaccessexception | unsupportedlookandfeelexception ex) {                 }                  jframe frame = new jframe("swindle [version 0.1.9]");                 frame.setdefaultcloseoperation(jframe.exit_on_close);                  // kind of important...                 frame.add(new board());                  frame.setsize(700, 390);                 frame.setresizable(false);                 frame.setlocationrelativeto(null);                 frame.setvisible(true);             }         });     } } 

while i've given code quick glance, recommend don't use imageicon load images , instead use imageio api. apart supporting more image formats, throw more errors when can't load images.

i avoid using keylistener in favor of key bindings. don't suffer same focus issues keylistener


Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

jquery - Fancybox - apply a function to several elements -

An easy way to program an Android keyboard layout app -