edu.rice.cs.drjava.ui
Class NewJavaClassDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by edu.rice.cs.util.swing.SwingFrame
                          extended by edu.rice.cs.drjava.ui.NewJavaClassDialog
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class NewJavaClassDialog
extends SwingFrame

Generates Java source from information entered in the "New Class" dialog.

Version:
$Id: NewJavaClassDialog.java 5245 2010-05-07 02:59:04Z mgricken $
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  JCheckBox _abstractCheck
           
private  AbstractAction _autoCompleteAction
           
private  AutoCompletePopup _autoCompletePopup
           
private  JButton _cancelButton
           
private  JCheckBox _classConstructor
           
private  JTextField _className
           
private  JRadioButton _defaultRadio
           
private  JLabel _errorMessage
           
private  JCheckBox _finalCheck
           
private  ButtonGroup _group1
           
private  JTextField _interfaces
           
private  boolean _isElementaryOrFunctionalJava
           
private  MainFrame _mainFrame
           
private  JCheckBox _mainMethod
           
private  JPanel _mainPanel
           
private  SingleDisplayModel _model
           
private  JButton _okButton
           
private  JRadioButton _publicRadio
           
private  JTextField _superClass
           
private  JButton _superClassButton
           
protected  Runnable1<WindowEvent> CANCEL
          Runnable that calls _cancel.
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
NewJavaClassDialog(MainFrame mf)
          Constructs New Java Class frame and displays it.
 
Method Summary
private  void _addAutoCompleteActions(JTextComponent component)
           
private  void _autoComplete(JTextComponent component)
           
private  void _setupPanel(JPanel panel)
           
 void cancel()
          Resets the frame and hides it.
(package private) static boolean checkClassName(String name)
           
(package private) static boolean checkInterfaceNames(String name)
           
(package private) static boolean checkSuperClassName(String name)
           
(package private) static String getCapitalizedClassName(String name)
           
(package private) static String getCapitalizedInterfacesNames(String name)
           
(package private) static String getCapitalizedSuperClassName(String name)
           
static String getClassContent(String accessMod, String modifier, String className, boolean mainMethod, boolean classConstructor, String inheritance, String interfaces, boolean elementaryOrFunctionalJava)
           
(package private) static String getClassDeclaration(String accessMod, String modifier, String name, String superclass, String interfaces, boolean elementaryOrFunctionalJava)
           
(package private) static String getModifier(String modifier)
           
private  void init()
          Initializes the components in this frame.
(package private) static boolean iterateListOfClassNames(String name)
           
 void ok()
          Caches the settings in the global model
 void reset()
           
 void setEnabled(boolean b)
           
 void setVisible(boolean vis)
          Validates before changing visibility.
 
Methods inherited from class edu.rice.cs.util.swing.SwingFrame
duringInit, initDone
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

_mainFrame

private MainFrame _mainFrame

_model

private SingleDisplayModel _model

_okButton

private final JButton _okButton

_cancelButton

private final JButton _cancelButton

_mainPanel

private JPanel _mainPanel

_className

private final JTextField _className

_interfaces

private final JTextField _interfaces

_superClass

private final JTextField _superClass

_superClassButton

private final JButton _superClassButton

_defaultRadio

private final JRadioButton _defaultRadio

_publicRadio

private final JRadioButton _publicRadio

_abstractCheck

private final JCheckBox _abstractCheck

_finalCheck

private final JCheckBox _finalCheck

_group1

private final ButtonGroup _group1

_mainMethod

private final JCheckBox _mainMethod

_classConstructor

private final JCheckBox _classConstructor

_errorMessage

private final JLabel _errorMessage

_isElementaryOrFunctionalJava

private final boolean _isElementaryOrFunctionalJava

_autoCompletePopup

private final AutoCompletePopup _autoCompletePopup

_autoCompleteAction

private final AbstractAction _autoCompleteAction

CANCEL

protected final Runnable1<WindowEvent> CANCEL
Runnable that calls _cancel.

Constructor Detail

NewJavaClassDialog

public NewJavaClassDialog(MainFrame mf)
Constructs New Java Class frame and displays it.

Method Detail

init

private void init()
Initializes the components in this frame.


cancel

public void cancel()
Resets the frame and hides it.


reset

public void reset()

ok

public void ok()
Caches the settings in the global model


_addAutoCompleteActions

private void _addAutoCompleteActions(JTextComponent component)

_setupPanel

private void _setupPanel(JPanel panel)

setVisible

public void setVisible(boolean vis)
Validates before changing visibility. Only runs in the event thread.

Overrides:
setVisible in class Window
Parameters:
vis - true if frame should be shown, false if it should be hidden.

setEnabled

public void setEnabled(boolean b)
Overrides:
setEnabled in class Component

getCapitalizedClassName

static String getCapitalizedClassName(String name)

checkClassName

static boolean checkClassName(String name)

getCapitalizedSuperClassName

static String getCapitalizedSuperClassName(String name)

checkSuperClassName

static boolean checkSuperClassName(String name)

iterateListOfClassNames

static boolean iterateListOfClassNames(String name)

checkInterfaceNames

static boolean checkInterfaceNames(String name)

getCapitalizedInterfacesNames

static String getCapitalizedInterfacesNames(String name)

getModifier

static String getModifier(String modifier)

getClassDeclaration

static String getClassDeclaration(String accessMod,
                                  String modifier,
                                  String name,
                                  String superclass,
                                  String interfaces,
                                  boolean elementaryOrFunctionalJava)

getClassContent

public static String getClassContent(String accessMod,
                                     String modifier,
                                     String className,
                                     boolean mainMethod,
                                     boolean classConstructor,
                                     String inheritance,
                                     String interfaces,
                                     boolean elementaryOrFunctionalJava)

_autoComplete

private void _autoComplete(JTextComponent component)