[Áú¹®]java.lang.NullPointerException ¿¡·¯ ¸Þ¼¼Áö¿¡ ´ëÇؼ­


[ ´ÙÀ½ ±Ûµé ] [ À̾ ±Û¿Ã¸®±â(´äÇϱâ) ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]

±Û¾´ÀÌ :±è¼öÈ£ 1998³â 5¿ù 21ÀÏ 22:22:50

Áö³­¹ø¿¡ À̾ ÀÌ ¹®Á¦¸¦ ´Ù½Ã °ÔÀçÇÏ°Ô µÇ¾ú½À´Ï´Ù.
ÇØ°áÀÌ µÈ ÁÙ·Î ¾Ë¾Ò´Âµ¥ ¿Ø °É ½ÇÁ¦·Î ½ÇÇà ÇÁ·Î±×·¥°ú ¿¬°áÀ» Çؼ­ ÇØ º¸´Ï ´ÙÀ½°ú °°Àº ¸Þ¼¼Áö°¡
³ª¿À¸é¼­ È­¸éÀÌ ¶ß´Â°¡ ½Í´õ´Ï À̳» ¸ØÃß°í ¸¿´Ï´Ù. ¹«½¼ ÀÌÀ¯ÀÎÁö?
MainFrame.java´Â È­¸é ±¸¼ºÀ» ´ã´çÇÏ°í HAstatusThread.java¶ó´Â Thread¸¦ ½ÇÇàÇÏ´Â °Í ¿Ü¿¡´Â
¾Æ¹«°Íµµ ÇÏÁö ¾Ê±â¿¡ »ý·«À» ÇÕ´Ï´Ù.


1. HAstatusThread.java ¼Ò½ºÀÔ´Ï´Ù.


public class HAstatusThread extends Thread {


public static String run(String arg) {


Runtime r = Runtime.getRuntime();
Process p = null;
InputStream in = null;
InputStream err = null;


try {
p = r.exec(arg);
}catch(Exception e) {
return("Can't fork processing: " + e);
}


StringBuffer inStr = new StringBuffer();
StringBuffer errStr = new StringBuffer();
String result = null;
byte[] buff = new byte[1024];
int len = 0;


try {
in = p.getInputStream();
while( (len = in.read(buff)) != -1)
inStr.append(new String(buff,0,len));
}catch(Exception e) {
return("Can't fork processing: " + e);
}


try {
err = p.getErrorStream();


while((len = err.read(buff)) != -1)
errStr.append(new String(buff,0,len));
} catch(Exception e) {
return("Can't fork processing: " + e);
}


return errStr.toString()+inStr.toString();
}
}


2. ImageJPanle.java¼Ò½ºÀÔ´Ï´Ù.
public class ImageJPanel extends JPanel {


private static String ONLINE_PRIMARY = "ONLINE_PRIMARY";
private static String IDLE = "IDLE";
public static String tmp = null;


private Image img;


public ImageJPanel() {
img = Toolkit.getDefaultToolkit().getImage("computer.gif");
}


public static boolean isLocalRunning(String tmp)
{
tmp = HAstatusThread.run("HAevent STATUS");


if(tmp.equals(ONLINE_PRIMARY)) {
tmp = ONLINE_PRIMARY;
return true;
} else if(tmp.equals(IDLE)) {
tmp = IDLE;
return false;
}
return false;
}


public void paint(Graphics g) {


MediaTracker tracker = new MediaTracker(this);
tracker.addImage(img,1);
try {
if(!tracker.waitForID(1,1000)) {
System.out.println("Failed to load image");
System.exit(0);
}
} catch (InterruptedException e) {


System.out.println(e);
}


Font f = new Font("Helvetica", Font.BOLD, 26);
Font fa = new Font("Courier", Font.PLAIN, 18);
Font fs = new Font("Courier", Font.PLAIN, 18);
Font fh1 = new Font("Symbol", Font.ITALIC, 14);
Font fh2 = new Font("Symbol", Font.ITALIC, 14);


g.setFont(f);
g.setColor(Color.red);
g.drawString("Active",118,200);


g.setFont(f);
g.setColor(Color.red);
g.drawString("TakeOver_ready",520,200);


g.drawImage(img,100,200,this);
g.setFont(fa);
g.setColor(Color.darkGray);
g.drawString("Unlock", 125, 250);


g.setFont(fh1);
g.setColor(Color.black);
g.drawString("HeartBeat 1", 340, 260);
if(tmp.equals("ONLINE_PRIMARY")) {
g.setColor(Color.green);
g.drawRect(210,270,375,7);
g.fillRect(210,270,375,7);
} else if(tmp.equals("IDLE")) {
g.setColor(Color.red);
g.drawRect(210,270,375,7);
g.fillRect(210,270,375,7);
}
g.drawImage(img,550,200,this);
g.setFont(fs);
g.setColor(Color.darkGray);
g.drawString("Unlock", 575, 250);


}
}


ÀÌ·¸°Ô Çؼ­ ImageJPanel.java¿¡ ÀÖ´Â paint ¸Þ¼Òµå¸¦ Á¦¾îÇÒ·Á°í Çߴµ¥
¹«¾ùÀÌ À߸ø µÇ¾ú´ÂÁö ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ¶å´Ï´Ù.
µµ¿ÍÁÖ½Ã¸é °¨»çÇÏ°Ú½À´Ï´Ù.


Exception occurred during event dispatching:
java.lang.NullPointerException
at ImageJPanel.paint(ImageJPanel.java:71)
at com.sun.java.swing.JComponent.paintChildren(JComponent.java:434)
at com.sun.java.swing.JComponent.paint(JComponent.java:582)
at com.sun.java.swing.JComponent.paintChildren(JComponent.java:434)
at com.sun.java.swing.JComponent.paint(JComponent.java:582)
at com.sun.java.swing.JLayeredPane.paint(JLayeredPane.java:396)
at com.sun.java.swing.JComponent.paintChildren(JComponent.java:434)
at com.sun.java.swing.JComponent.paint(JComponent.java:567)
at java.awt.Container.paint(Container.java:702)
at java.awt.Component.dispatchEventImpl(Component.java:1723)
at java.awt.Container.dispatchEventImpl(Container.java:939)
at java.awt.Window.dispatchEventImpl(Window.java:443)
at java.awt.Component.dispatchEvent(Component.java:1704)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:63)



´ÙÀ½ ±Ûµé:



À̾ ±Û¿Ã¸®±â(´äÇϱâ)

À̸§:
E-Mail:
Á¦¸ñ:
³»¿ë:
°ü·Ã URL(¼±ÅÃ):
URL Á¦¸ñ(¼±ÅÃ):
°ü·Ã À̹ÌÁö URL:


[ ´ÙÀ½ ±Ûµé ] [ À̾ ±Û¿Ã¸®±â(´äÇϱâ) ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]