?? dataexchangedialog.java
字號:
import java.awt.Component;
import javax.swing.JPanel;
import javax.swing.JDialog;
import javax.swing.JButton;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.SwingUtilities;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.Toolkit;
public class DataExchangeDialog
{
public DataExchangeDialog(Component parentComponent, ExchangeDialogPanel ed, String title)
{
this(parentComponent, ed, title, OK_CANCEL, true);
}
public DataExchangeDialog(Component parentComponent, ExchangeDialogPanel ed,
String title, int buttonType, boolean modal)
{
this.title = title;
this.modal = modal;
this.parentComponent = parentComponent;
exchangeDialogPanel = ed;
basePanel = new JPanel();
basePanel.setLayout(new BorderLayout());
buttons = new JButton[3];
buttons[OK_BUTTON] = new JButton("確定");
buttons[OK_BUTTON].setToolTipText("確認并關閉本對話框");
buttons[CANCEL_BUTTON] = new JButton("取消");
buttons[CANCEL_BUTTON].setToolTipText("取消并關閉本對話框");
buttons[CANCEL_BUTTON].setDefaultCapable(false);
buttons[OK_BUTTON].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
OKPushed();
}
});
buttons[CANCEL_BUTTON].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
CancelPushed();
}
});
JPanel buttonPanel = new JPanel();
buttonPanel.add(buttons[OK_BUTTON]);
buttonPanel.add(buttons[CANCEL_BUTTON]);
buttons[APPLY_BUTTON] = null;
if(buttonType == OK_CANCEL_APPLY)
{
buttons[APPLY_BUTTON] = new JButton("應用");
buttons[APPLY_BUTTON].setToolTipText("提交更改而不關閉本對話框");
buttons[APPLY_BUTTON].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
ApplyPushed();
}
});
buttonPanel.add(buttons[APPLY_BUTTON]);
}
basePanel.add(buttonPanel, BorderLayout.SOUTH);
basePanel.add(exchangeDialogPanel, BorderLayout.CENTER);
}
public void showDialog()
{
if (parentComponent instanceof Frame)
owner = (Frame) parentComponent;
else
owner = (Frame) SwingUtilities.getAncestorOfClass(Frame.class,parentComponent);
if (dialog == null)
{
dialog = new JDialog(owner, modal);
dialog.getContentPane().add(basePanel);
dialog.getRootPane().setDefaultButton(buttons[OK_BUTTON]);
pack();
dialog.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
exchangeDialogPanel.cancelData();
}
});
dialog.setResizable(false);
}
dialog.setTitle(title);
exchangeDialogPanel.initData();
Toolkit.getDefaultToolkit().beep();
dialog.show();
}
public JButton getButton(int index)
{
return buttons[index];
}
public void OKPushed()
{
if(exchangeDialogPanel.updateData())
dialog.setVisible(false);
}
public void CancelPushed()
{
if(exchangeDialogPanel.cancelData())
dialog.setVisible(false);
}
public void ApplyPushed()
{
exchangeDialogPanel.updateData();
}
public void pack()
{
dialog.pack();
dialog.setLocation(owner.getX() +
(owner.getWidth() - basePanel.getWidth()) / 2,
owner.getY() +
(owner.getHeight() - basePanel.getHeight()) / 2);
}
private JPanel basePanel;
private JButton[] buttons;
private ExchangeDialogPanel exchangeDialogPanel;
private JDialog dialog;
private String title;
private Component parentComponent;
private boolean modal;
private Frame owner = null;
public static int OK_CANCEL = 2;
public static int OK_CANCEL_APPLY = 3;
public static int OK_BUTTON = 0;
public static int CANCEL_BUTTON = 1;
public static int APPLY_BUTTON = 2;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -