import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RenameFrame
extends JDialog
implements ActionListener
{
private static int buttonHeight = 25;
private static int buttonWidth = 100;
private static int mainPaneHeight = 100;
private static int mainPaneWidth = 400;
JButton okButton;
JButton cancelButton;
JLabel oldNameLabel;
JLabel newNameLabel;
JTextField oldNameTextField;
JTextField newNameTextField;
String newNameText;
public RenameFrame (
JFrame frame,
String oldName)
{
super (frame, "Rename", true);
GridBagLayout gbLayout = new GridBagLayout ();
getContentPane ().setLayout (gbLayout);
setSize (mainPaneWidth, mainPaneHeight);
oldNameLabel = new JLabel ("OLD name");
oldNameLabel.setSize (buttonWidth, buttonHeight);
Util.addGridBagComponent (getContentPane (), oldNameLabel, 0, 0, 1, 1, 0.0, 0.0);
oldNameTextField = new JTextField (oldName);
oldNameTextField.setEditable (false);
oldNameTextField.setSize (mainPaneWidth - buttonWidth, buttonHeight);
Util.addGridBagComponent (getContentPane (), oldNameTextField, 1, 0, 1, 1, 0.0, 0.0);
newNameLabel = new JLabel ("NEW name");
newNameLabel.setSize (buttonWidth, buttonHeight);
Util.addGridBagComponent (getContentPane (), newNameLabel, 0, 1, 1, 1, 0.0, 0.0);
newNameTextField = new JTextField ();
newNameTextField.setSize (mainPaneWidth - buttonWidth, buttonHeight);
Util.addGridBagComponent (getContentPane (), newNameTextField, 1, 1, 1, 1, 0.0, 0.0);
JPanel buttonPanel = new JPanel (new FlowLayout (FlowLayout.CENTER));
okButton = new JButton ("OK");
okButton.setToolTipText ("Rename the object");
okButton.setSize (buttonWidth, buttonHeight);
okButton.addActionListener (this);
buttonPanel.add (okButton);
cancelButton = new JButton ("Cancel");
cancelButton.setToolTipText ("Cancel the rename operation");
cancelButton.addActionListener (this);
cancelButton.setSize (buttonWidth, buttonHeight);
buttonPanel.add (cancelButton);
Util.addGridBagComponent (getContentPane (), buttonPanel, 0, 2, 2, 1, 0.5, 0.0);
addWindowListener (new RenameWindowAdapter ());
}
class RenameWindowAdapter
extends WindowAdapter
{
private boolean firstTime = true;
public void windowActivated (WindowEvent event)
{
if (firstTime)
{
newNameTextField.requestFocus ();
firstTime = false;
}
}
public void windowClosing (WindowEvent event)
{
newNameText = null;
setVisible (false);
}
}
public void actionPerformed (
ActionEvent event)
{
Object object = event.getSource ();
if (object == okButton)
{
newNameText = newNameTextField.getText ();
if (newNameText.equals (""))
newNameText = null;
setVisible (false);
}
else if (object == cancelButton)
{
newNameText = null;
setVisible (false);
}
}
public String getText ()
{
return (newNameText);
}
}