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
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.constants.GuiCommands;
00054
import org.objectweb.cjdbc.console.gui.constants.GuiConstants;
00055
00062 public class GuiSelectCheckpoint extends JDialog
00063 implements
00064 WindowListener,
00065 WindowStateListener
00066 {
00067 private JList
sampleJList;
00068 private JTextField
valueField;
00069
00073 public void windowActivated(WindowEvent e)
00074 {
00075
00076 }
00077
00081 public void windowClosed(WindowEvent e)
00082 {
00083
this.setVisible(
false);
00084
valueField = null;
00085 }
00086
00090 public void windowClosing(WindowEvent e)
00091 {
00092
valueField = null;
00093 }
00094
00098 public void windowDeactivated(WindowEvent e)
00099 {
00100
00101 }
00102
00106 public void windowDeiconified(WindowEvent e)
00107 {
00108
00109 }
00110
00114 public void windowIconified(WindowEvent e)
00115 {
00116
00117 }
00118
00122 public void windowOpened(WindowEvent e)
00123 {
00124
00125 }
00126
00130 public void windowStateChanged(WindowEvent e)
00131 {
00132
00133 }
00134
00143 public GuiSelectCheckpoint(Frame owner, String[] entries,
00144 ActionListener listener)
throws HeadlessException
00145 {
00146 super(owner,
GuiTranslate.get(
"frame.checkpoint.title"),
true);
00147
00148
00149 Toolkit toolkit = Toolkit.getDefaultToolkit();
00150 Dimension dim = toolkit.getScreenSize();
00151
int screenHeight = dim.height;
00152
int screenWidth = dim.width;
00153
int frameWidth = 450;
00154
int frameHeight = 50;
00155
this.setBounds((screenWidth - frameWidth) / 2,
00156 (screenHeight - frameHeight) / 2, frameWidth, frameHeight);
00157
00158
this.addWindowListener(
this);
00159
this.addWindowStateListener(
this);
00160
00161 Container content = getContentPane();
00162
sampleJList =
new JList(entries);
00163
sampleJList.setVisibleRowCount(4);
00164 Font displayFont =
new Font(
"Serif", Font.BOLD, 12);
00165
sampleJList.setFont(displayFont);
00166
sampleJList.addListSelectionListener(
new ValueReporter());
00167 JScrollPane listPane =
new JScrollPane(
sampleJList);
00168
00169 JPanel listPanel =
new JPanel();
00170 listPanel.setBackground(Color.white);
00171 Border listPanelBorder = BorderFactory.createTitledBorder(
GuiTranslate
00172 .get(
"frame.checkpoint.list"));
00173 listPanel.setBorder(listPanelBorder);
00174 listPanel.add(listPane);
00175 content.add(listPanel, BorderLayout.CENTER);
00176 JLabel valueLabel =
new JLabel(
GuiTranslate
00177 .get(
"frame.checkpoint.selection"));
00178 valueLabel.setFont(displayFont);
00179
valueField =
new JTextField(
GuiConstants.BACKEND_NO_CHECKPOINT, 7);
00180
valueField.setFont(displayFont);
00181
00182 JPanel valuePanel =
new JPanel();
00183 valuePanel.setBackground(Color.white);
00184 Border valuePanelBorder = BorderFactory.createTitledBorder(
GuiTranslate
00185 .get(
"frame.checkpoint"));
00186 valuePanel.setBorder(valuePanelBorder);
00187 valuePanel.add(valueLabel);
00188 valuePanel.add(
valueField);
00189 content.add(valuePanel, BorderLayout.NORTH);
00190
00191 JPanel selectPanel =
new JPanel();
00192 selectPanel.setBackground(Color.white);
00193 Border selectPanelBorder = BorderFactory.createTitledBorder(
GuiTranslate
00194 .get(
"frame.select"));
00195 selectPanel.setBorder(selectPanelBorder);
00196 JButton optionConfirm =
new JButton(
GuiTranslate.get(
"frame.ok"));
00197 optionConfirm.setActionCommand(
GuiCommands.COMMAND_HIDE_CHECKPOINT_FRAME);
00198 optionConfirm.addActionListener(listener);
00199 selectPanel.add(optionConfirm);
00200 content.add(selectPanel, BorderLayout.SOUTH);
00201 pack();
00202 }
00203
00204 private class ValueReporter implements ListSelectionListener
00205 {
00209 public void valueChanged(ListSelectionEvent event)
00210 {
00211
if (!event.getValueIsAdjusting())
00212 valueField.setText(sampleJList.getSelectedValue().toString());
00213 }
00214 }
00215
00221 public JTextField
getValueField()
00222 {
00223
return valueField;
00224 }
00225 }