00001
00025
package org.objectweb.cjdbc.console.gui.frames;
00026
00027
import java.awt.BorderLayout;
00028
import java.awt.Color;
00029
import java.awt.Container;
00030
import java.awt.Dimension;
00031
import java.awt.Font;
00032
import java.awt.Frame;
00033
import java.awt.HeadlessException;
00034
import java.awt.Toolkit;
00035
import java.awt.event.ActionListener;
00036
00037
import javax.swing.BorderFactory;
00038
import javax.swing.JButton;
00039
import javax.swing.JDialog;
00040
import javax.swing.JLabel;
00041
import javax.swing.JList;
00042
import javax.swing.JPanel;
00043
import javax.swing.JScrollPane;
00044
import javax.swing.JTextField;
00045
import javax.swing.border.Border;
00046
import javax.swing.event.ListSelectionEvent;
00047
import javax.swing.event.ListSelectionListener;
00048
00049
import org.objectweb.cjdbc.common.i18n.GuiTranslate;
00050
import org.objectweb.cjdbc.console.gui.constants.GuiCommands;
00051
00058 public class GuiSelectShutdown extends JDialog
00059 {
00060 private JList
sampleJList;
00061 private JTextField
valueField;
00062 private final String[]
entries =
new String[]{
GuiCommands.COMMAND_SHUTDOWN_FAST,
00063
GuiCommands.COMMAND_SHUTDOWN_SMART,
00064
GuiCommands.COMMAND_SHUTDOWN_IMMEDIATE};
00065
00073 public GuiSelectShutdown(Frame owner, ActionListener listener)
00074
throws HeadlessException
00075 {
00076 super(owner,
GuiTranslate.get(
"frame.shutdown.title"),
true);
00077
00078
00079 Toolkit toolkit = Toolkit.getDefaultToolkit();
00080 Dimension dim = toolkit.getScreenSize();
00081
int screenHeight = dim.height;
00082
int screenWidth = dim.width;
00083
int frameWidth = 450;
00084
int frameHeight = 50;
00085
this.setBounds((screenWidth - frameWidth) / 2,
00086 (screenHeight - frameHeight) / 2, frameWidth, frameHeight);
00087
00088 Container content = getContentPane();
00089
sampleJList =
new JList(
entries);
00090
sampleJList.setVisibleRowCount(4);
00091 Font displayFont =
new Font(
"Serif", Font.BOLD, 12);
00092
sampleJList.setFont(displayFont);
00093
sampleJList.addListSelectionListener(
new ValueReporter());
00094 JScrollPane listPane =
new JScrollPane(
sampleJList);
00095
00096 JPanel listPanel =
new JPanel();
00097 listPanel.setBackground(Color.white);
00098 Border listPanelBorder = BorderFactory
00099 .createTitledBorder(
GuiTranslate.get(
"frame.shutdown.levels"));
00100 listPanel.setBorder(listPanelBorder);
00101 listPanel.add(listPane);
00102 content.add(listPanel, BorderLayout.CENTER);
00103 JLabel valueLabel =
new JLabel(
GuiTranslate.get(
"frame.shutdown.selection"));
00104 valueLabel.setFont(displayFont);
00105
valueField =
new JTextField(
GuiCommands.COMMAND_SHUTDOWN_FAST, 7);
00106
valueField.setEditable(
false);
00107
valueField.setFont(displayFont);
00108
00109 JPanel valuePanel =
new JPanel();
00110 valuePanel.setBackground(Color.white);
00111 Border valuePanelBorder = BorderFactory.createTitledBorder(
GuiTranslate.get(
"frame.shutdown"));
00112 valuePanel.setBorder(valuePanelBorder);
00113 valuePanel.add(valueLabel);
00114 valuePanel.add(
valueField);
00115 content.add(valuePanel, BorderLayout.NORTH);
00116
00117 JPanel selectPanel =
new JPanel();
00118 selectPanel.setBackground(Color.white);
00119 Border selectPanelBorder = BorderFactory.createTitledBorder(
GuiTranslate.get(
"frame.select"));
00120 selectPanel.setBorder(selectPanelBorder);
00121 JButton optionConfirm =
new JButton(
GuiTranslate.get(
"frame.ok"));
00122 optionConfirm.setActionCommand(
GuiCommands.COMMAND_HIDE_SHUTDOWN_FRAME);
00123 optionConfirm.addActionListener(listener);
00124 selectPanel.add(optionConfirm);
00125 content.add(selectPanel, BorderLayout.SOUTH);
00126 pack();
00127 }
00128
00129 private class ValueReporter implements ListSelectionListener
00130 {
00134 public void valueChanged(ListSelectionEvent event)
00135 {
00136
if (!event.getValueIsAdjusting())
00137 valueField.setText(sampleJList.getSelectedValue().toString());
00138 }
00139 }
00140
00146 public JList
getSampleJList()
00147 {
00148
return sampleJList;
00149 }
00155 public JTextField
getValueField()
00156 {
00157
return valueField;
00158 }
00159 }