import javax.swing.*;

import java.awt.event.*;

import java.awt.*;

public class DialogDesktop extends JFrame {

public DialogDesktop(String title) {

super(title);

setDefaultCloseOperation(EXIT_ON_CLOSE);

final JDesktopPane desk = new JDesktopPane();

setContentPane(desk);

// 创建一个应用程序容器，并使用布局管理器

final JPanel p = new JPanel(new GridBagLayout());

// 监听 desktop 大小重设置事件，以便调整该类中面板的大小，保证这个面板能够始终填满整个 destop

desk.addComponentListener(new ComponentAdapter() {

public void componentResized(ComponentEvent ev) {

Dimension deskSize = desk.getSize();

p.setBounds(0, 0, deskSize.width, deskSize.height);

p.validate();

}

});

// 把这个面板加入到 desktop。

desk.add(p);

// 在这个应用里再添加一些按钮来激发对话框。

JButton input = new JButton("输入");

JButton confirm = new JButton("确定");

JButton message = new JButton("信息");

p.add(input);

p.add(confirm);

p.add(message);

input.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ev) {

JOptionPane.showInternalInputDialog(desk, "输入姓名");

}

});

confirm.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ev) {

JOptionPane.showInternalConfirmDialog(desk, "OK?");

}

});

message.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ev) {

JOptionPane.showInternalMessageDialog(desk, "结束");

}

});

}

// 一个简单的测试

public static void main(String[] args) {

DialogDesktop td = new DialogDesktop("Desktop");

td.setSize(350, 250);

td.setVisible(true);

}

}