00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
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 import java.awt.event.WindowEvent;
00037 import java.awt.event.WindowListener;
00038 import java.awt.event.WindowStateListener;
00039
00040 import javax.swing.BorderFactory;
00041 import javax.swing.JButton;
00042 import javax.swing.JDialog;
00043 import javax.swing.JLabel;
00044 import javax.swing.JList;
00045 import javax.swing.JPanel;
00046 import javax.swing.JScrollPane;
00047 import javax.swing.JTextField;
00048 import javax.swing.border.Border;
00049 import javax.swing.event.ListSelectionEvent;
00050 import javax.swing.event.ListSelectionListener;
00051
00052 import org.objectweb.cjdbc.common.i18n.GuiTranslate;
00053 import org.objectweb.cjdbc.console.gui.FrameConfirmKeyListener;
00054 import org.objectweb.cjdbc.console.gui.constants.GuiCommands;
00055 import org.objectweb.cjdbc.console.gui.constants.GuiConstants;
00056
00057
00058
00059
00060
00061
00062
00063 public class GuiSelectCheckpointFrame extends JDialog
00064 implements
00065 WindowListener,
00066 WindowStateListener
00067 {
00068 private JList sampleJList;
00069 private JTextField valueField;
00070 private FrameConfirmKeyListener keyListener;
00071
00072
00073
00074
00075 public void windowActivated(WindowEvent e)
00076 {
00077
00078 }
00079
00080
00081
00082
00083 public void windowClosed(WindowEvent e)
00084 {
00085 this.setVisible(false);
00086 valueField = null;
00087 }
00088
00089
00090
00091
00092 public void windowClosing(WindowEvent e)
00093 {
00094 valueField = null;
00095 }
00096
00097
00098
00099
00100 public void windowDeactivated(WindowEvent e)
00101 {
00102
00103 }
00104
00105
00106
00107
00108 public void windowDeiconified(WindowEvent e)
00109 {
00110
00111 }
00112
00113
00114
00115
00116 public void windowIconified(WindowEvent e)
00117 {
00118
00119 }
00120
00121
00122
00123
00124 public void windowOpened(WindowEvent e)
00125 {
00126
00127 }
00128
00129
00130
00131
00132 public void windowStateChanged(WindowEvent e)
00133 {
00134
00135 }
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145 public GuiSelectCheckpointFrame(Frame owner, String[] entries,
00146 ActionListener listener) throws HeadlessException
00147 {
00148 super(owner, GuiTranslate.get("frame.checkpoint.title"), true);
00149
00150
00151 Toolkit toolkit = Toolkit.getDefaultToolkit();
00152 Dimension dim = toolkit.getScreenSize();
00153 int screenHeight = dim.height;
00154 int screenWidth = dim.width;
00155 int frameWidth = 450;
00156 int frameHeight = 50;
00157 this.setBounds((screenWidth - frameWidth) / 2,
00158 (screenHeight - frameHeight) / 2, frameWidth, frameHeight);
00159
00160 this.addWindowListener(this);
00161 this.addWindowStateListener(this);
00162
00163 JButton optionConfirm = new JButton(GuiTranslate.get("frame.ok"));
00164 optionConfirm.setActionCommand(GuiCommands.COMMAND_HIDE_CHECKPOINT_FRAME);
00165 optionConfirm.addActionListener(listener);
00166
00167 keyListener = new FrameConfirmKeyListener(optionConfirm);
00168 this.addKeyListener(keyListener);
00169
00170 Container content = getContentPane();
00171 sampleJList = new JList(entries);
00172 sampleJList.setVisibleRowCount(4);
00173 Font displayFont = new Font("Serif", Font.BOLD, 12);
00174 sampleJList.setFont(displayFont);
00175 sampleJList.addListSelectionListener(new ValueReporter());
00176 JScrollPane listPane = new JScrollPane(sampleJList);
00177 sampleJList.addKeyListener(keyListener);
00178
00179 JPanel listPanel = new JPanel();
00180 listPanel.setBackground(Color.white);
00181 Border listPanelBorder = BorderFactory.createTitledBorder(GuiTranslate
00182 .get("frame.checkpoint.list"));
00183 listPanel.setBorder(listPanelBorder);
00184 listPanel.add(listPane);
00185 content.add(listPanel, BorderLayout.CENTER);
00186 JLabel valueLabel = new JLabel(GuiTranslate
00187 .get("frame.checkpoint.selection"));
00188 valueLabel.setFont(displayFont);
00189 valueField = new JTextField(GuiConstants.BACKEND_NO_CHECKPOINT, 7);
00190 valueField.setFont(displayFont);
00191 valueField.addKeyListener(keyListener);
00192
00193 JPanel valuePanel = new JPanel();
00194 valuePanel.setBackground(Color.white);
00195 Border valuePanelBorder = BorderFactory.createTitledBorder(GuiTranslate
00196 .get("frame.checkpoint"));
00197 valuePanel.setBorder(valuePanelBorder);
00198 valuePanel.add(valueLabel);
00199 valuePanel.add(valueField);
00200 content.add(valuePanel, BorderLayout.NORTH);
00201
00202 JPanel selectPanel = new JPanel();
00203 selectPanel.setBackground(Color.white);
00204 Border selectPanelBorder = BorderFactory.createTitledBorder(GuiTranslate
00205 .get("frame.select"));
00206 selectPanel.setBorder(selectPanelBorder);
00207
00208 selectPanel.add(optionConfirm);
00209 content.add(selectPanel, BorderLayout.SOUTH);
00210 pack();
00211 }
00212
00213 private class ValueReporter implements ListSelectionListener
00214 {
00215
00216
00217
00218 public void valueChanged(ListSelectionEvent event)
00219 {
00220 if (!event.getValueIsAdjusting())
00221 valueField.setText(sampleJList.getSelectedValue().toString());
00222 }
00223 }
00224
00225
00226
00227
00228
00229
00230 public JTextField getValueField()
00231 {
00232 return valueField;
00233 }
00234 }