プロが教える店舗&オフィスのセキュリティ対策術

swing で メインフレームからサブフレームを開くとこまでは出来たのですが、このフレームをボタンを使い閉じたいのですが、コーディング方法を教えてください。

A 回答 (3件)

 メインフレームを閉じるということは、アプリケーションを終了するということ。


サブフレームを開くということは、サブフレームを見えるようにすること。
サブフレームを閉じるということは、サブフレームを見えないようにすること。
以下が、そのサンプルです。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class mainsub {

public static JFrame MF, SF;

public static void main(String args[]) {

MF = new JFrame("Main Frame");
MF.setSize(320, 240);
MF.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) { System.exit(0); };
});

SF = new JFrame("Sub Frame");
SF.setSize(320, 240);
SF.setLocation(100, 100);
SF.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) { SF.setVisible(false); };
});

JButton BN1 = new JButton("Sub Frame Visible");
MF.getContentPane().add(BN1, BorderLayout.NORTH);
BN1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { SF.setVisible(true); };
});

JButton BN2 = new JButton("Sub Frame Invisible");
MF.getContentPane().add(BN2, BorderLayout.SOUTH);
BN2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { SF.setVisible(false); };
});

MF.setVisible(true);

};

}
    • good
    • 2

>初めてのプログラミングの為、イベントリスナーの理解度も低く、階層、継承とかもよくわかりません。



ということでしたら、いきなりswing(GUIアプリ)は難しいでしょうから、
先の参考サイトでしたら↓http://www.techscore.com/tech/Java/JavaIntro/ind …
などや、他のサイト、書籍で基礎を学習してからの方が良いと思います。
    • good
    • 0

フレーム


というのがJFrameのことで、
ボタンを使い閉じたい
というのが、表示したJFrameの右上の「×」ボタンのことなら
JFrameのJavaDocの概要部分に記述があります。

ボタンを使い閉じたい
というのが、表示したJFrameのJButtonなどのボタンを押して閉じたいということなら、
http://www.techscore.com/tech/J2SE/UI/index.html

2.基本的なコンポーネント
3.イベント・ハンドラ
あたりを参考になさってはいかがでしょうか?

この回答への補足

説明下手ですいません。表示したJFrameのJButtonなどのボタンを押して閉じたいということです。
アドバイスありがとうございました。
参考ページに
public static void main(String args[]) {
new SampleFrame().setVisible(true);
を見つけました。これでボタンクリックで当該フレームを閉じることができますでしょうか。
初めてのプログラミングの為、イベントリスナーの理解度も低く、階層、継承とかもよくわかりません。使い方を学習しながらやってみます。

補足日時:2007/11/13 21:32
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!