swingコンポーネント->JDialog
自作のウインドウを表示します。JFileChooserは書式が決まってますが、JDialogは自作できるのでいろいろと対応させることができます。
※JDialogを使うには。。
JDialogクラスを継承して新しいクラスを作成します。(部品の配置、ボタン機能などを行います。)
インスタンス生成は親のプログラム内でJDialogクラスを継承したクラス名で行います。
ただし、JDialogを閉じる時はsetVisible(false)を使うこと。

「ダイアログ表示」をクリックすると自作ダイアログが表示されます。


コンストラクタ
JDialog()
 モーダルでないJDialogオブジェクトを生成します。
JDialog(Frame owner,boolean modal)
 所有者ownerとして、モーダルmodalを指定してJDialogオブジェクトを生成します。
メソッド(抜粋)
int getDefaultCloseOperation()
 このダイアログでクローズを開始した時に実行される処理を返します。
String paramString()
 ダイアログの文字列表現を返します。

クリック

JDialogSample.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;  
public class JDialogSample extends Frame {
   Container contentPane;  
    JButton btn = new JButton("ダイアログ表示"); ← @インスタンス生成
  public JDialogSample() {
     super(JDialogSample);
     addWindowAdapter(new WindowListener() {
       public void windowClosing(WindowEvent e) {
          System.exit(0);
       }
     });
     contentPane = getContentPane();  
     contentPane.setLayout(new BorderLayout());  
     contentPane.add(BorderLayout.CENTER,btn);  
     btn.addActionListener(this);  
     pack();  
     setLocation(150,150);  
     setVisible(true);
   }
   public void actionPerformed(ActionEvent e) {  
      MyDialog md = new MyDialog(this);  
   }  
  public static void main(String[] args) {
    JDialogSample myClass = new JDialogSample();
    }
  }  
class MyDialog extends JDialog implements ActionListener {  
    Container contentPane;  
    JDialogSample parent;  
     JLabel lbl  = new JLabel("ダイアログです");  
     JButton btn = new JButton("閉じる");  
  public MyDialog(JDialogSample parent) {  
       super(parent,"ダイアログ",true);  
      contentPane = getContentPane();  
      contentPane.setLayout(new BorderLayout());  
      contentPane.add(BorderLayout.CENTER,lbl);  
      contentPane.add(BorderLayout.EAST,btn);  
      btn.addActionListener(this);  
      setSize(200,100);  
      setLocation(200,200);  
      setVisible(true);  
   }  
   public void actionPerformed(ActionEvent e) {  
      setVisible(false);  
   }  
}
@JTextAreaのインスタンスを生成
 インスタンスを生成しています。
※マウスの範囲選択や、ctrl+cでのコピー、ctrl+vでの貼り付けはできます。
もどる