preferencedialog.java
来自「开源项目openfire的完整源程序」· Java 代码 · 共 78 行
JAVA
78 行
/**
* $Revision: $
* $Date: $
*
* Copyright (C) 2006 Jive Software. All rights reserved.
*
* This software is published under the terms of the GNU Lesser Public License (LGPL),
* a copy of which is included in this distribution.
*/
package org.jivesoftware.sparkimpl.preference;
import org.jivesoftware.spark.SparkManager;
import org.jivesoftware.resource.Res;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
public class PreferenceDialog implements PropertyChangeListener {
private JDialog preferenceDialog;
private JOptionPane pane = null;
private PreferencesPanel prefPanel;
public void invoke(JFrame parentFrame, PreferencesPanel contentPane) {
this.prefPanel = contentPane;
// Construct main panel w/ layout.
final JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BorderLayout());
// Construct Dialog
preferenceDialog = new JDialog(parentFrame,
Res.getString("title.preferences"),
false);
Object[] options = {Res.getString("close")};
pane = new JOptionPane(contentPane, JOptionPane.PLAIN_MESSAGE,
JOptionPane.OK_CANCEL_OPTION, null, options, options[0]);
mainPanel.add(pane, BorderLayout.CENTER);
preferenceDialog.pack();
preferenceDialog.setSize(600, 500);
preferenceDialog.setContentPane(mainPanel);
preferenceDialog.setLocationRelativeTo(SparkManager.getMainWindow());
pane.addPropertyChangeListener(this);
preferenceDialog.setVisible(true);
}
public void propertyChange(PropertyChangeEvent e) {
if (pane.getValue() instanceof Integer) {
pane.removePropertyChangeListener(this);
preferenceDialog.dispose();
return;
}
String value = (String)pane.getValue();
if (value.equals(Res.getString("close"))) {
boolean okToClose = prefPanel.closing();
if (okToClose) {
preferenceDialog.setVisible(false);
}
else {
pane.setValue(JOptionPane.UNINITIALIZED_VALUE);
}
}
}
public JDialog getDialog() {
return preferenceDialog;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?