|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectacm.program.CommandLineProgram
public class CommandLineProgram
This class simulates the functionality of a ConsoleProgram
in an environment that lacks a graphics context. As of JDK 1.4, it is
illegal even to instantiate an applet in a non-graphics environment
(called "headless" in the Java terminology), which means that the program
can no longer extend Applet or JApplet. This
class creates a stripped-down program class that duplicates the operation
of a ConsoleProgram using the standard I/O streams.
| Field Summary | |
|---|---|
static String |
CENTER
Constant specifying the center of the container |
static String |
EAST
Constant specifying the east edge of the container |
static String |
NORTH
Constant specifying the north edge of the container |
static String |
SOUTH
Constant specifying the south edge of the container |
static String |
WEST
Constant specifying the west edge of the container |
| Constructor Summary | |
|---|---|
protected |
CommandLineProgram()
This code initializes the program data structures. |
| Method Summary | |
|---|---|
void |
actionPerformed(ActionEvent e)
Called when a component (typically a button) is activated. |
void |
add(Component comp,
String region,
Object constraints)
Adds the component to the specified border region with the indicated constraints object. |
void |
addActionListeners()
Adds the program as an ActionListener to every button in
the structure that does not have a listener already. |
void |
addActionListeners(ActionListener listener)
Adds the specified listener to every button in the structure that does not have a listener already. |
void |
addExitHook(Object obj)
Requests that the program call the exit method in the
specified object before exiting. |
protected void |
addImpl(Component comp,
Object constraints,
int index)
Adds the specified component to the content pane using the specified constraints and index. |
static void |
checkIfHeadless(String className)
Checks to see if the program is running in a headless environment and, if so, runs it in that form. |
protected IOConsole |
createConsole()
Creates the console used by the ConsoleProgram. |
protected IODialog |
createDialogIO()
Creates the dialog used for interaction (primarily by the DialogProgram
class). |
protected static HashMap<String,String> |
createParameterTable(String[] args)
Creates a hash table containing the parameters specified in the argument list. |
void |
destroy()
Called when the program has been told to destroy itself. |
protected void |
endHook()
Performs class-specific cleanup for the program just after it finishes. |
void |
exit()
Exits from the program. |
protected AppletStub |
getAppletStub()
Retrieves the applet stub. |
protected String[] |
getArgumentArray()
Retrieves the array of arguments passed in from the command line, or null if no arguments are available. |
protected Component |
getBorder(String side)
Returns the component installed as a border on the specified side, which must be one of the constants from BorderLayout (NORTH,
SOUTH, EAST, WEST). |
IOConsole |
getConsole()
Returns the console associated with this program. |
IODialog |
getDialog()
Returns the dialog used for user interaction. |
int |
getHeight()
Returns the height of the central region. |
IOModel |
getInputModel()
Returns the IOModel used for program input, which will
typically be either the default IOConsole or IODialog object. |
LayoutManager |
getLayout()
Gets the layout manager for the central region of the content pane. |
protected boolean |
getMacMenuBarFlag()
Retrieves the setting of the Mac menu bar flag. |
IOModel |
getOutputModel()
Returns the IOModel used for program output, which will
typically be either the default IOConsole or IODialog object. |
String |
getParameter(String name)
Returns the parameter associated with name. |
protected HashMap<String,String> |
getParameterTable()
Retrieves the parameter table. |
Dimension |
getPreferredSize()
Returns the preferred size of the content pane. |
BufferedReader |
getReader()
Returns a BufferedReader whose input comes from the console. |
JPanel |
getRegionPanel(String region)
Gets the JPanel for the specified region. |
String |
getTitle()
Gets the title of this program. |
int |
getWidth()
Returns the width of the central region. |
PrintWriter |
getWriter()
Returns a PrintWriter whose output is directed to the console. |
void |
init()
The init method is called at startup time before the run method is called. |
boolean |
isAppletMode()
Returns true if this program is running as an applet in a browser. |
protected boolean |
isStarted()
Checks to see whether this program has started, usually by checking to see whether some pane exists. |
void |
keyPressed(KeyEvent e)
Called when a key is pressed. |
void |
keyReleased(KeyEvent e)
Called when a key is released. |
void |
keyTyped(KeyEvent e)
Called when a key is typed (i.e., pressed and released). |
static void |
main(String[] args)
Every application must either contain a "Main-Class" entry in its manifest file or include a main method that looks like this, where MyClass is the name of the program class: |
void |
menuAction(String cmd)
Called whenever an action event is detected in the menu bar. |
void |
mouseClicked(MouseEvent e)
Called when the mouse is clicked. |
void |
mouseDragged(MouseEvent e)
Called when the mouse is dragged with the button down. |
void |
mouseEntered(MouseEvent e)
Called when the mouse enters the source (which may be either a component or a GObject). |
void |
mouseExited(MouseEvent e)
Called when the mouse exits the source (which may be either a component or a GObject). |
void |
mouseMoved(MouseEvent e)
Called when the mouse is moved. |
void |
mousePressed(MouseEvent e)
Called when the mouse button is pressed. |
void |
mouseReleased(MouseEvent e)
Called when the mouse button is released. |
void |
print(boolean x)
Makes sure that print can display a boolean. |
void |
print(char x)
Makes sure that print can display a char. |
void |
print(double x)
Makes sure that print can display a double. |
void |
print(float x)
Makes sure that print can display a float. |
void |
print(int x)
Makes sure that print can display an int. |
void |
print(long x)
Makes sure that print can display a long. |
void |
print(Object x)
Makes sure that print can display an Object. |
void |
print(String value)
Displays the argument value on the console, leaving the cursor at the end of the output. |
void |
println()
Advances the console cursor to the beginning of the next line. |
void |
println(boolean x)
Makes sure that println can display a boolean. |
void |
println(char x)
Makes sure that println can display a char. |
void |
println(double x)
Makes sure that println can display a double. |
void |
println(float x)
Makes sure that println can display a float. |
void |
println(int x)
Makes sure that println can display an int. |
void |
println(long x)
Makes sure that println can display a long. |
void |
println(Object x)
Makes sure that println can display an Object. |
void |
println(String value)
Displays the argument value on the console and then advances the cursor to the beginning of the next line. |
boolean |
readBoolean()
Reads and returns a boolean value ( true or false). |
boolean |
readBoolean(String prompt)
Prompts the user to enter a boolean value, which is returned as the value of this method. |
boolean |
readBoolean(String prompt,
String trueLabel,
String falseLabel)
Prompts the user to enter a boolean value, which is matched against the labels provided. |
double |
readDouble()
Reads and returns a double-precision value from the user. |
double |
readDouble(double low,
double high)
Reads and returns a double-precision value from the user, which is constrained to be within the specified inclusive range. |
double |
readDouble(String prompt)
Prompts the user to enter an double-precision number, which is then returned as the value of this method. |
double |
readDouble(String prompt,
double low,
double high)
Prompts the user to enter an double-precision number, which is then returned as the value of this method. |
int |
readInt()
Reads and returns an integer value from the user. |
int |
readInt(int low,
int high)
Reads and returns an integer value from the user, which is constrained to be within the specified inclusive range. |
int |
readInt(String prompt)
Prompts the user to enter an integer, which is then returned as the value of this method. |
int |
readInt(String prompt,
int low,
int high)
Prompts the user to enter an integer, which is then returned as the value of this method. |
String |
readLine()
Reads and returns a line of input from the console. |
String |
readLine(String prompt)
Prompts the user for a line of input. |
void |
remove(Component comp)
Removes the specified component from the central region. |
void |
remove(int index)
Removes the component at the specified index from the central region. |
void |
removeAll()
Removes all components from the central region. |
void |
repaint()
Forwards repaint to the content pane. |
void |
run()
Contains the code to be executed for each specific program subclass. |
protected void |
setAppletStub(AppletStub stub)
Sets the applet stub for this program in a way that makes it possible for clients to retrieve it. |
void |
setBackground(Color color)
Sets the background for the central region of the content pane. |
void |
setConsole(IOConsole console)
Sets the console associated with this program. |
void |
setLayout(LayoutManager layout)
Sets the layout manager for the central region of the content pane. |
protected void |
setMacMenuBarFlag(boolean flag)
Sets a flag indicating whether applications running on the Macintosh should use standard Mac menus. |
protected void |
setParameterTable(HashMap<String,String> ht)
Sets the parameter table for this program. |
void |
setTitle(String title)
Sets the title of this program. |
void |
showErrorMessage(String msg)
Displays the error message in the standard output model. |
void |
start(String[] args)
Starts the program using the specified argument list. |
protected void |
startHook()
Performs class-specific initialization for the program just before it starts. |
void |
validate()
Forwards validate to the content pane. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String CENTER
public static final String EAST
public static final String NORTH
public static final String SOUTH
public static final String WEST
| Constructor Detail |
|---|
protected CommandLineProgram()
| Method Detail |
|---|
public void actionPerformed(ActionEvent e)
actionPerformed in interface ActionListener
public void add(Component comp,
String region,
Object constraints)
comp - The component to be addedregion - The region of the window (NORTH, SOUTH,
EAST, WEST, or CENTER)constraints - The constraints objectpublic void addActionListeners()
ActionListener to every button in
the structure that does not have a listener already.
public void addActionListeners(ActionListener listener)
listener - The ActionListener to be addedpublic void addExitHook(Object obj)
exit method in the
specified object before exiting.
protected void addImpl(Component comp,
Object constraints,
int index)
public static void checkIfHeadless(String className)
className - The name of the main classprotected IOConsole createConsole()
ConsoleProgram. Subclasses can
override this method to create their own console types.
protected IODialog createDialogIO()
DialogProgram
class). Subclasses can override this method to create their own dialog types.
protected static HashMap<String,String> createParameterTable(String[] args)
name=value
All other arguments are collected as a tab-separated string and placed
in an entry under the key "ARGS". All named parameters
are converted to lower case to preserve the case-insensitive semantics
of getParameter.
args - The array of strings passed to the application
HashMap containing the parameter bindingspublic void destroy()
protected void endHook()
public void exit()
super.exit() at the end of their processing.
protected AppletStub getAppletStub()
protected String[] getArgumentArray()
null if no arguments are available.
protected Component getBorder(String side)
BorderLayout (NORTH,
SOUTH, EAST, WEST).
side - The side (NORTH, SOUTH, EAST,
or WEST)
public IOConsole getConsole()
IOConsole object used for this programpublic IODialog getDialog()
IODialog object used for this programpublic int getHeight()
public IOModel getInputModel()
IOModel used for program input, which will
typically be either the default IOConsole or IODialog object.
IOModel used for program inputpublic LayoutManager getLayout()
protected boolean getMacMenuBarFlag()
true if Mac menu style is supported; false otherwisepublic IOModel getOutputModel()
IOModel used for program output, which will
typically be either the default IOConsole or IODialog object.
IOModel used for program outputpublic String getParameter(String name)
name - The name of the parameter
null if noneprotected HashMap<String,String> getParameterTable()
public Dimension getPreferredSize()
public BufferedReader getReader()
BufferedReader whose input comes from the console.
Reader for use with this consolepublic JPanel getRegionPanel(String region)
JPanel for the specified region.
region - The region of the window (NORTH, SOUTH,
EAST, WEST, or CENTER)
JPanel for that subregionpublic String getTitle()
public int getWidth()
public PrintWriter getWriter()
PrintWriter whose output is directed to the console.
PrintWriter for use with this consolepublic void init()
init method. This method is used only for certain styles
of application development that have their roots in the applet world;
other styles will not ordinarily use or override this method.
public boolean isAppletMode()
true if this program is running as an applet in a browser.
true if this program is running as an applet, false otherwiseprotected boolean isStarted()
public void keyPressed(KeyEvent e)
keyPressed in interface KeyListenerpublic void keyReleased(KeyEvent e)
keyReleased in interface KeyListenerpublic void keyTyped(KeyEvent e)
keyTyped in interface KeyListenerpublic static void main(String[] args)
MyClass is the name of the program class:
public static void main(String[] args) {
new MyClass().start();
}
If the program needs the command line arguments, the args
array can be passed to the start method and then retrieved
using the getArgumentArray method.
args - An array of string argumentspublic void menuAction(String cmd)
public void mouseClicked(MouseEvent e)
mouseClicked
is always preceded by both a mousePressed and a
mouseReleased event for the same source.
mouseClicked in interface MouseListenerpublic void mouseDragged(MouseEvent e)
mouseDragged call is always preceded by a
mousePressed call for the same source. If the
mouse is pressed elsewhere and then enters a source with
the button down, no drag event occurs. Moreover, once the
mouse button goes down in a particular source, only that
source will receive mouse events until the button goes up.
Those events, moreover, are reported even in the mouse
travels outside the domain of the object.
mouseDragged in interface MouseMotionListenerpublic void mouseEntered(MouseEvent e)
GObject).
mouseEntered in interface MouseListenerpublic void mouseExited(MouseEvent e)
GObject).
mouseExited in interface MouseListenerpublic void mouseMoved(MouseEvent e)
mouseMoved in interface MouseMotionListenerpublic void mousePressed(MouseEvent e)
mousePressed in interface MouseListenerpublic void mouseReleased(MouseEvent e)
mouseReleased in interface MouseListenerpublic final void print(boolean x)
print can display a boolean.
print in interface IOModelpublic final void print(char x)
print can display a char.
print in interface IOModelpublic final void print(double x)
print can display a double.
print in interface IOModelpublic final void print(float x)
print can display a float.
print in interface IOModelpublic final void print(int x)
print can display an int.
print in interface IOModelpublic final void print(long x)
print can display a long.
print in interface IOModelpublic final void print(Object x)
print can display an Object.
print in interface IOModelpublic void print(String value)
print method is overloaded so that
value can be of any type.
print in interface IOModelvalue - The value to be displayedpublic void println()
println in interface IOModelpublic final void println(boolean x)
println can display a boolean.
println in interface IOModelpublic final void println(char x)
println can display a char.
println in interface IOModelpublic final void println(double x)
println can display a double.
println in interface IOModelpublic final void println(float x)
println can display a float.
println in interface IOModelpublic final void println(int x)
println can display an int.
println in interface IOModelpublic final void println(long x)
println can display a long.
println in interface IOModelpublic final void println(Object x)
println can display an Object.
println in interface IOModelpublic void println(String value)
println method is
overloaded so that value can be of any type.
println in interface IOModelvalue - The value to be displayedpublic final boolean readBoolean()
true or false).
The input must match one of these strings, ignoring case. If the user
types a value that is not one of these possibilities, the method ordinarily
offers the user a chance to reenter the data, although this behavior
can be changed using the
setExceptionOnError method.
readBoolean in interface IOModelpublic final boolean readBoolean(String prompt)
setExceptionOnError method.
readBoolean in interface IOModelprompt - The prompt string to display to the user
public boolean readBoolean(String prompt,
String trueLabel,
String falseLabel)
readBoolean ordinarily offers the user a chance
to reenter the data, although this behavior can be changed using the
setExceptionOnError method.
readBoolean in interface IOModelprompt - The prompt string to display to the usertrueLabel - The string used to indicate truefalseLabel - The string used to indicate false
public final double readDouble()
setExceptionOnError method.
readDouble in interface IOModeldouble
public final double readDouble(double low,
double high)
setExceptionOnError method.
readDouble in interface IOModellow - The lowest value in the permitted rangehigh - The highest value in the permitted range
doublepublic final double readDouble(String prompt)
setExceptionOnError method.
readDouble in interface IOModelprompt - The prompt string to display to the user
double
public double readDouble(String prompt,
double low,
double high)
low and high. If the user types a value
that is not a legal number, the method ordinarily offers the user a chance
to reenter the data, although this behavior can be changed using the
setExceptionOnError method.
readDouble in interface IOModelprompt - The prompt string to display to the userlow - The lowest value in the permitted rangehigh - The highest value in the permitted range
doublepublic final int readInt()
setExceptionOnError method.
readInt in interface IOModel
public final int readInt(int low,
int high)
setExceptionOnError method.
readInt in interface IOModellow - The lowest value in the permitted rangehigh - The highest value in the permitted range
public final int readInt(String prompt)
setExceptionOnError method.
readInt in interface IOModelprompt - The prompt string to display to the user
public int readInt(String prompt,
int low,
int high)
low and high. If the user types a value that
is not a legal integer or is outside the specified range, the method
ordinarily offers the user a chance to reenter the data,
although this behavior can be changed using the
setExceptionOnError method.
readInt in interface IOModelprompt - The prompt string to display to the userlow - The lowest value in the permitted rangehigh - The highest value in the permitted range
public final String readLine()
readLine in interface IOModelStringpublic String readLine(String prompt)
readLine in interface IOModelprompt - The prompt string to display to the user
Stringpublic void remove(Component comp)
comp - The component to removepublic void remove(int index)
index - The index position of the component to removepublic void removeAll()
public void repaint()
public void run()
run so that it contains the code for your application.
run in interface Runnableprotected void setAppletStub(AppletStub stub)
stub - The applet stubpublic void setBackground(Color color)
color - The new background colorpublic void setConsole(IOConsole console)
console - The IOConsole object used for this programpublic void setLayout(LayoutManager layout)
layout - The layout manager to useprotected void setMacMenuBarFlag(boolean flag)
true.
Setting this value to false means that Mac programs
use the same in-window JMenuBar approach used on other
platforms.
flag - true to use Mac menu style; false otherwiseprotected void setParameterTable(HashMap<String,String> ht)
ht - The parameter tablepublic void setTitle(String title)
title - The title for this programpublic void showErrorMessage(String msg)
showErrorMessage in interface IOModelmsg - The error msg to be displayedpublic void start(String[] args)
args - An array of strings passed to the programprotected void startHook()
public void validate()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||