質問: new Label(); lab_1.setFont(font); lab_1.setText("TEST1"); lab_1.setBounds(20,20,60,30); add (lab_1); lab_2.setFont(font); lab_2.setText("TEST2"); lab_2.setBounds(80,20,60,30); add (lab_2); } protected void processWindowEvent(WindowEvent endEvent) { System.exit(0); } }
回答: まず最初にprocessWindowEventはJFrame(swing)のメソッドなのでFrameでは 使用できません。(swingについてわからない場合は調べてみて下さいね。) なのでイベントを利用します。windowClosingはユーザが、ウィンドウのシステムメニューで ウィンドウを閉じようとしたときに呼び出されます。 とりあえず私はこんな風にしてみました。 class labelFrame extends Frame implements MouseListener { Label label; labelFrame(String title) { super(title); setLayout(new FlowLayout()); label = new Label("Hello from Java! This is a frame window."); add(label); addMouseListener(this); //↓ここから↓ this.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(WindowEvent e) { doWindowClose(); } }); //↑ここまで↑ } ********(中略)********* //↓メソッド↓ void doWindowClose(){ this.setVisible(false); } //↑メソッド↑ this.setVisible(false);の部分は閉じるのではなく非表示にする意味ですが 前回のソースを見ると切替をsetVisibleでやっていたのでこれにしてみました。