2012-04-03 27 views
1

Netbeans 7.1を使用して単純なJavaアプリケーションでアプレットを実装する目的で作成された小さなテンプレートがあります(Javacard、Netbeansプラットフォームなど。アプリケーションが実行されるときにアプレットを初期化した単純なJavaアプリケーション)X(閉じるボタン)をクリックしたときにフレームを閉じるようにしたい

アプレット内で実行ボタンを押してアプレット内の機能を実行するとアプレットを呼び出すことができましたが、それを閉じるようにして、私はjFrameを使用してEXIT_ON_CLOSEメソッドを実装するように人々に教えてくれるという恐ろしい感情を持っています。

これは私がやりたいことではありませんが、私の使命はFrames!= jFramesを使って実装することです。 私は誰かが私の盗難として少しでも助けてくれることを願っています。私は、その使用に関係するJava割り当てを取得する必要があります。 appletframe及びB::アプレット

* 1.4 Write an applet to display a line of text. 
    * The text should then change its font size and style (bold, italic, underline) 
    * depending on where the mouse is clicked on the screen. 
    */ 
    package appletframe; 
    import java.awt.Graphics; 
    import java.awt.Frame; 
import java.applet.Applet; 

    /** 
    * @author MuthaLoad aka Gruffy2012 
    */ 

    import java.awt.*; 

    public class AppletFrame extends Applet{ 

public static void main(String[] args) { 

/*construct needs object instances*/ 
MrApplet mrApplet = new MrApplet(); // create instance/obj of MrApplet 
Frame myFrame = new Frame("Applet"); // create frame "title optional" 
//setDefaultCloseOperation(myFrame.EXIT_ON_CLOSE);(jFrame- not wanted) 

/* add applet to the frame*/ 
//myFrame.addWindowListener(); 
myFrame.add(mrApplet, BorderLayout.CENTER); 
myFrame.setBounds(10,10,500,500); 
myFrame.setVisible(true); // step to make frame visible 

/*initialize instance of mrApplet*/ 
mrApplet.init(); 
} // end main 
} // end class 

B:

同封のためのコード/クラスで読書のためのアプレット

package appletframe; 

import java.awt.*; //for buttons 
import java.awt.event.*; //for events 
import java.applet.*; //main applet api`s 
import java.awt.Graphics; //graphics 

public class MrApplet extends Applet implements ActionListener 
{ 

private static final long serialVersionUID = 1L; 
Button btnClick; 
String msg = ""; 

public void init() 
{ 
    // TODO start asynchronous download of heavy resources 
    setSize(500, 500); 
    Button btnClick = new Button("Press Me "); 
    btnClick.addActionListener(this); 
    add(btnClick); 
} 
public void actionPerformed(ActionEvent e) 
{ 
    //throw new UnsupportedOperationException("Not supported yet."); 
    msg = "Yay, the button works"; 
      repaint(); 
}  
public void paint (Graphics g) 
{ 
    g.setFont(new Font("Serif", Font.ITALIC, 30)); //new font obj, font , font style, font size 
    g.setColor(new Color(0,255,0)); //new color obj, r,g,b 
    g.drawString(msg, 40, 80); 

} 
// TODO overwrite start(), stop() and destroy() methods 
} 

もう一度感謝し、任意の混乱を明確にします。.. 私はjFrameを使用してすべてを再実装することなく、終了時にアプレットとフレームウィンドウを閉じるという解決策に関するポインタを探していますが、これは最初のインスタンスでは簡単だとわかります。 いつものように、あなたのアドバイスにすべてお世辞になりました。 gruffy321

+2

「EXIT_ON_CLOSE」は定数であり、メソッドではありません。 – mre

答えて

3

ApplicationFrameクラスの最後にこの行を追加します。

myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

あなたは、あなたがフレームにのWindowListenerイベントを追加する必要がありますし、windowClosing()メソッドをオーバーライドする必要があり、ないのJFrameのフレームでそれをやってみたいです。

myFrame.addWindowListener(new WindowAdapter(){ 
public void windowClosing(WindowEvent we){ 
    System.exit(0); 
}); 
+0

ええ、今、スーパークイック応答のおかげで申し訳ありませんが、私が述べたように、私は単純にjframeオプションを望んでいません(APIは、フレーム(notjFrame)APIを使って手動で実装する必要がある非常に単純な関数への単純なアクセスが付属しています) 。とにかくチャンドラビングのために超高速 – gruffy321

+0

@ gruffy321私の編集された答えを参照してください。 –

+0

すごく感謝してくれてありがとう、チャンドラ、私は外に出て、これを今すぐ試してみてください。グロフィ – gruffy321