class SimpleDialog extends Dialog {
TextField field;
DialogWindow parent;
Button setButton; SimpleDialog(Frame dw, String title) {
super(dw, title, false);
parent = (DialogWindow)dw;
...//Create and add components, such as the set button.
//Initialize this dialog to its preferred size.
pack();
} public boolean action(Event event, Object arg) {
if ( (event.target == setButton)
| (event.target instanceof TextField)) {
parent.setText(field.getText());
}
field.selectAll();
hide();
return true;
}
}
TextField field;
DialogWindow parent;
Button setButton; SimpleDialog(Frame dw, String title) {
super(dw, title, false);
parent = (DialogWindow)dw;
...//Create and add components, such as the set button.
//Initialize this dialog to its preferred size.
pack();
} public boolean action(Event event, Object arg) {
if ( (event.target == setButton)
| (event.target instanceof TextField)) {
parent.setText(field.getText());
}
field.selectAll();
hide();
return true;
}
}
* 1.1 version.
*/import java.awt.*;
import java.awt.event.*;public class DialogWindow extends Frame
implements ActionListener {
boolean inAnApplet = true; //should be private
private SimpleDialog dialog;
private TextArea textArea;
String newline; public DialogWindow() {
textArea = new TextArea(5, 40);
textArea.setEditable(false);
add("Center", textArea);
Button button = new Button("Click to bring up dialog");
button.addActionListener(this);
Panel panel = new Panel();
panel.add(button);
add("South", panel); addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
if (inAnApplet) {
setVisible(false);
dispose();
} else {
System.exit(0);
}
}
}); newline = System.getProperty("line.separator");
} public void actionPerformed(ActionEvent event) {
if (dialog == null) {
dialog = new SimpleDialog(this, "A Simple Dialog");
}
dialog.setVisible(true);
} public void setText(String text) {
textArea.append(text + newline);
} public static void main(String args[]) {
DialogWindow window = new DialogWindow();
window.inAnApplet = false; window.setTitle("DialogWindow Application");
window.pack();
window.setVisible(true);
}
}class SimpleDialog extends Dialog implements ActionListener {
TextField field;
DialogWindow parent;
Button setButton; SimpleDialog(Frame dw, String title) {
super(dw, title, false);
parent = (DialogWindow)dw; //Create middle section.
Panel p1 = new Panel();
Label label = new Label("Enter random text here:");
p1.add(label);
field = new TextField(40);
field.addActionListener(this);
p1.add(field);
add("Center", p1); //Create bottom row.
Panel p2 = new Panel();
p2.setLayout(new FlowLayout(FlowLayout.RIGHT));
Button b = new Button("Cancel");
b.addActionListener(this);
setButton = new Button("Set");
setButton.addActionListener(this);
p2.add(b);
p2.add(setButton);
add("South", p2); //Initialize this dialog to its preferred size.
pack();
} public void actionPerformed(ActionEvent event) {
Object source = event.getSource();
if ( (source == setButton)
| (source == field)) {
parent.setText(field.getText());
}
field.selectAll();
setVisible(false);
}
}
Dialog和JFrame一样,都是要生成容器,再生成组件加入进去的
我是菜鸟