testminidialog.java
来自「Java the UML Way 书中所有源码」· Java 代码 · 共 82 行
JAVA
82 行
/*
* TestMinidialog.java E.L. 2001-08-23
*
* Closing the dialog behaves as if the Ok button was pressed.
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MiniDialog extends JDialog {
private boolean ok;
private Container guiContainer;
public MiniDialog(JFrame parent) {
super(parent, "Minidialog", true);
guiContainer = getContentPane();
guiContainer.add(new JLabel(), BorderLayout.NORTH);
guiContainer.add(new JLabel("Dialog Testing"), BorderLayout.CENTER);
guiContainer.add(new ButtonPanel(), BorderLayout.SOUTH);
pack();
}
private class ButtonPanel extends JPanel {
public ButtonPanel() {
ButtonListenerDialog buttonListener = new ButtonListenerDialog();
JButton okButton = new JButton("OK");
add(okButton);
okButton.addActionListener(buttonListener);
JButton cancelButton = new JButton("Cancel");
add(cancelButton);
cancelButton.addActionListener(buttonListener);
}
}
private class ButtonListenerDialog implements ActionListener {
public void actionPerformed(ActionEvent event) {
String command = event.getActionCommand();
if (command.equals("OK")) ok = true;
else ok = false;
setVisible(false);
}
}
public boolean showDialog() {
setVisible(true);
return ok;
}
}
class ParentWindow extends JFrame {
private MiniDialog dialogBox = new MiniDialog(this);
private Container guiContainer;
public ParentWindow() {
setTitle("Testing Dialogs");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
guiContainer = getContentPane();
guiContainer.setLayout(new FlowLayout());
JButton button = new JButton("Press here!");
guiContainer.add(button);
ButtonListenerParent buttonListener = new ButtonListenerParent();
button.addActionListener(buttonListener);
}
private class ButtonListenerParent implements ActionListener {
public void actionPerformed(ActionEvent event) {
if (dialogBox.showDialog()) System.out.println("OK pressed....");
else System.out.println("Cancel pressed....");
}
}
}
class TestMiniDialog {
static public void main(String[] args) {
ParentWindow parentWindow = new ParentWindow();
parentWindow.setSize(300, 200);
parentWindow.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?