⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dataexchangedialog.java

📁 酒店管理软件的源代码
💻 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 + -