0
package airlinep;
/**
*
*
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class NewClass1 extends JApplet{
JButton b1;
JButton b2;
JLabel lbl;
@Override
public void init()
{
try {
SwingUtilities.invokeAndWait(new Runnable() {
@Override
public void run(){
guiInit();//throw new UnsupportedOperationException("Not supported yet.");
}
});
} catch (Exception ex) {
System.out.println("could not generate due to "+ex.toString());
}
}
public void start()
{}
public void stop()
{}
public void destroy()
{}
private void guiInit()
{
//setLayout(new FlowLayout());
b1.setText("b1");
b2.setText("b2");
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
lbl.setText(b1.getText()+" was pressed at ");//To change body of generated methods, choose Tools | Templates.
}
});
b2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
lbl.setText(b2.getText()+" was pressed at ");//To change body of generated methods, choose Tools | Templates.
}
});
getContentPane().add(b1);
getContentPane().add(b2);
getContentPane().add(lbl);
}
}
프로그램이 넷빈에서 실행될 때 애플릿 창은 보이지만 GUI 요소는 buttons처럼 보이지 않으며 콘솔에서 try catch 블록에 의해 예외가 잡혔습니다. 이 예외가 발생하고 이것이 발생하지 않도록 내가 할 수있는 일.net-beans에서 실행할 때 "java.lang.reflect.InvocationTargetException"이 발생합니다. 왜 그런 일이 일어나는거야?
변경'System.out을합니다. println ("+ ex.toString())으로 인해 생성 할 수 없습니다; 'to'ex.printStackTrace ();'전체 추적을보고합니다. –
@Andrew Thompson AFAIK SwingUtilities.invokeAndWait을 (J) 애플릿에 사용할 수 없습니다. 틀렸을 수도 있습니다 ... – mKorbel
@mKorbel * "SwingUtilities.invokeAndWait을 (J) 애플릿에 사용할 수 없습니다. , .. "* 실제로 ** 애플릿에서 그렇게해야합니다. 'invokeLater (..)'를 사용하면'init()'액션이 완료되기 전에'start()'가 호출 될 위험이 있습니다. –