Ch. 1 Windows Command Prompt HW

amanali786
Chapter1.zip

Chapter 1/Command Prompt Commands and Changing Directories.pdf

© Linda Shepherd, Dept. of ISCS, Alvarez COB, UTSA. 1

Windows Command Prompt Commands and Changing Directories Click Above Link for Different MS-DOS Commands

1. The System Environment variable settings you made to your computer enable you to compile or run a Java

program at the Command Prompt window.

2. Go to the folder containing the Java files to be compiled or run.

Click ATM in the path field until it’s highlighted and the path is visible.

C:\Users\YourComputersName\Desktop\ATM

In place of the path type cmd. The Windows Command Prompt Window defaulted to the highlighted path (directory).

3. OR Clicking Start, Run, then type cmd in the Run window.

4. OR Clicking Start, Programs, Accessories, then Command Prompt.

5. javac is a Java command used from the Command Prompt to compile a source code program. Your source code programs end with a .java file extension. Source code files have to be compiled first to flush out any syntax errors (language errors). If there are no errors, then javac produces a .class version of the .java file.

6. java is a Java command used from the Command Prompt to run/execute the bytecode or .class file. Below are the formats for the Java commands.

a. javac NameOfProgram.java

b. java NameOfProgram

Compiles a Java source file – requires .java file extension

Runs a .class bytecode file – requires no file extension

© Linda Shepherd, Dept. of ISCS, Alvarez COB, UTSA. 2

HOW TO NAVIGATE TO DRIVES AND DIRECTORIES

Type the drive letter for your jump drive followed by a colon.

Use cd\ (no space after) or cd (space after) followed by the name of the folder containing your Java files.

You are now in the ATM folder (directory) on the G: drive. Ready to use javac or java .

Navigating to the Correct Folder: Use OneDrive in path if files are stored on it. abc123 applies to school computers.

Navigating to Your Jump/Flash Drive

C:\Documents and Settings\ abc123>cd\Documents and Settings\abc123\My Documents\ATM

C:\Documents and Settings\ abc123\My Documents\ATM>

 Use cd\ followed by all the folder and subfolder names until you get to your Java files.

You are now in the ATM folder (directory) that is within the folder on the drive for your computer or the school’s computer. Keep in mind the path is dictated by where you downloaded/saved/unzipped the ATM folder. Now you’re ready to use javac (to compile) or java (to run) a Java file.

C:\Documents and Settings\ abc123>cd My Documents\ATM

 Use cd followed by the folder and subfolder names within the current path. OR

C:\Documents and Settings\ abc123\cd Desktop C:\Documents and Settings\ abc123\Desktop>

Use cd Desktop to change to the Desktop.

Use cd.. to get back to previous directory. cd\ goes back to your root directory.

Use dir to list what is in the directory. Use cls to clear the screen.

OR C:\Users\YourComputersName\OneDrive\Desktop\ATM

Chapter 1/Deitel Ch 1 PP 22-25.pdf

22 Chapter I Introduction to Computers . the Internet and Java

Select a shape

Specify whether a

rectangle or ova l is filled

with color

Close button

a) Painter app runn ing on Windows

b) Painter app runn ing on Linux.

c) Painter app running on OS X.

Close - F{:l n n Painter button 1...:..-__:.-~------;..;:;;=-----------1

~lack __jJ (, Line _i) Cl Filled ~do

0 0)

Fig. 1.11 I Painter app executing in Windows 7. Lin ux and OS X.

Close button

entire drawing

Undo the last shape that was added to the drawing

[Note: Java commands are case sensitive-that is, uppercase letters are different from lowercase letters. It's important to type the name of this application as Paint­ er with a capital P. Otherwise, the application will not execute. Specifying the . class extension when using the java command results in an error. Also, if you receive the error message, "Exception in thread "main" java .lang. NoCl ass­ DefFoundError: Painter ," your system has a CLASSPATH problem. Please refer to

the Before You Begin section for instructions to help you ftx this problem.]

4. Drawing a filled yellow oval for the face. Select Yellow as the drawing color, Oval ' as the shape and check the Filled checkbox, then drag the mouse to draw a large

oval (Fig. 1.12).

1. 10 Test-Driving a j ava Appli cation 23

~~~ 1 • . ... .. 1 ( ~· -· t • ) 0 Fil led [ Und~ J

(435,295) l)

Fig. 1.1 2 I Drawing a fi lled yellow ova l for the face.

5. Drawing blue eyes. Select Blue as the drawing color, then draw two small ovals as the eyes (Fig. 1.1 3).

GJ[§l~

l)

(37 1,131)

Fig. 1. 13 I Drawing blue eyes.

6. D rawing black eyebrows and a nose. Select Black as the drawing color and Line as the shape, then draw eyebrows and a nose (Fig. 1.14) . Lines do not have fi ll , so leaving the Filled checkbox checked has no effect when drawing lines.

24 Chapter I Introduction to Computers , the Internet and Java

Fig. 1.14 I Drawing black eyebrows and a nose.

7. Drawing a magenta mouth. Select Magenta as the drawing color and Oval as the

shape, then draw a mouth (Fig. 1.15).

(Magenta ! • ]( '-ov_a_t _......_

(435,169)

Fig. 1.1 S I Drawing a magenta mouth.

8. Drawing a yellow oval on the mouth to make a smile. Select Yellow as the drawing color, then draw an oval to change the magenta oval into a smile (Fig. 1.16) .

------

(328,252)

1. 1 I Internet and World Wide Web :ZS

l£]@~

[ C l~ar J

------

Fig. 1.16 I Drawing a yel low oval on the mouth to make a sm ile.

9. Exiting the Painter application. To exit the Painter application, click the Close button (in the window's upper-right corner on Windows and the upper-left cor­ ner on Linux and OS X). Closing the window causes the Painter application to terminate.

1.11 Internet and World Wide Web In the late 1960s, ARP A-the Advanced Research Projects Agency of the United States De­ partment of Defense-rolled out plans for networking the main computer systems of ap­ proximately a dozen ARP A-funded universities and research institutions. The computers were to be connected with communications lines operating at speeds on the order of 50,000 bits per second, a stunning rate at a time when most people (of the few who even had net­ working access) were connecting over telephone lines to computers at a rate of 110 bits per second. Academic research was about to rake a giant leap forward. ARPA proceeded to im­ plement what quickly became known as the ARPANET, the precursor to today' s Internet. Today's fastest Internet speeds are on the order of billions of bits per second with trillion­ bit-per-second speeds on the horizon!

Things worked out differently from the original plan. Although the ARPANET enabled researchers to network their computers, irs main benefit proved to be the capa­ bility for quick and easy communication via what came to be known as electronic mail (e­ mail). This is true even on today's Internet, with e-mail, instant messaging, file transfer and social media such as Facebook and Twitter enabling billions of people worldwide to communicate quickly and easily.

The protocol (set of rules) for communicating over the ARPANET became known as the Transmission Control Protocol (TCP) . TCP ensured that messages, consisting of sequentially numbered pieces called packets, were properly routed from sender to receiver, arrived intact and were assembled in the correct order.

Chapter 1/painter/DrawFrame.class

                public 
                synchronized 
                class DrawFrame 
                extends javax.swing.JFrame 
                implements java.awt.event.ItemListener, java.awt.event.ActionListener {
    
                private java.awt.Color[] 
                colors;
    
                private String[] 
                colorNames;
    
                private String[] 
                shapes;
    
                private DrawPanel 
                drawPanel;
    
                private javax.swing.JButton 
                undoButton;
    
                private javax.swing.JButton 
                clearButton;
    
                private javax.swing.JComboBox 
                colorChoices;
    
                private javax.swing.JComboBox 
                shapeChoices;
    
                private javax.swing.JCheckBox 
                filledCheckBox;
    
                public void DrawFrame();
    
                public void 
                itemStateChanged(java.awt.event.ItemEvent);
    
                public void 
                actionPerformed(java.awt.event.ActionEvent);
}

            

Chapter 1/painter/DrawFrame.java

Chapter 1/painter/DrawFrame.java

// GCS Exercise 14.17 Solution: DrawFrame.java
// Program that creates a panel for the user to draw shapes.
// Allows the user to choose the shape and color.
import  java . awt . BorderLayout ;
import  java . awt . Color ;
import  java . awt . FlowLayout ;
import  java . awt . event . ActionEvent ;
import  java . awt . event . ActionListener ;
import  java . awt . event . ItemEvent ;
import  java . awt . event . ItemListener ;
import  javax . swing . JButton ;
import  javax . swing . JCheckBox ;
import  javax . swing . JComboBox ;
import  javax . swing . JFrame ;
import  javax . swing . JLabel ;
import  javax . swing . JPanel ;

public   class   DrawFrame   extends   JFrame
    implements   ItemListener ,   ActionListener
{
    // Array of possible colors
    private   Color []  colors  =   { Color . BLACK ,   Color . BLUE ,   Color . CYAN ,
       Color . DARK_GRAY ,   Color . GRAY ,   Color . GREEN ,   Color . LIGHT_GRAY ,
       Color . MAGENTA ,   Color . ORANGE ,   Color . PINK ,   Color . RED ,   Color . WHITE ,
       Color . YELLOW };
   
    // Array of names corresponding to the possible colors
    private   String []  colorNames  =   { "Black" ,   "Blue" ,   "Cyan" ,   "Dark Gray" ,
       "Gray" ,   "Green" ,   "Light Gray" ,   "Magenta" ,   "Orange" ,   "Pink" ,   "Red" ,
       "White" ,   "Yellow" };
   
    // Array of possible shapes
    private   String []  shapes  =   { "Line" ,   "Oval" ,   "Rectangle" };
   
    private   DrawPanel  drawPanel ;   // panel that handles the drawing
   
    private   JButton  undoButton ;   // button to undo the last shape drawn
    private   JButton  clearButton ;   // button to clear all shapes
    private   JComboBox < String >  colorChoices ;   // combo box for selecting the color
    private   JComboBox < String >  shapeChoices ;   // combo box for selecting shapes
    private   JCheckBox  filledCheckBox ;   // check box to toggle filled shapes
   
    // constructor
    public   DrawFrame ()
    {
       super ( "Painter" );
      
       // create a panel to store the components at the top of the frame
       JPanel  topPanel  =   new   JPanel ();

       // create a combobox for choosing colors
      colorChoices  =   new   JComboBox < String > ( colorNames );
      colorChoices . addItemListener ( this );
      topPanel . add ( colorChoices );

       // create a combobox for choosing shapes
      shapeChoices  =   new   JComboBox < String > ( shapes );
      shapeChoices . addItemListener ( this );
      topPanel . add ( shapeChoices );       

       // create a checkbox to determine whether the shape is filled
      filledCheckBox  =   new   JCheckBox ( "Filled" );
      filledCheckBox . addItemListener ( this );
      topPanel . add ( filledCheckBox );

       // create a button for clearing the last drawing
      undoButton  =   new   JButton ( "Undo" );
      undoButton . addActionListener ( this );
      topPanel . add ( undoButton );
      
       // create a button for clearing all drawings
      clearButton  =   new   JButton ( "Clear" );
      clearButton . addActionListener ( this );
      topPanel . add ( clearButton );

       // add the top panel to the frame
      add ( topPanel ,   BorderLayout . NORTH );
      
       // create a label for the status bar
       JLabel  statusLabel  =   new   JLabel ( "(0,0)" );

       // add the status bar at the bottom
      add ( statusLabel ,   BorderLayout . SOUTH );
            
       // create the DrawPanel with its status bar label
      drawPanel  =   new   DrawPanel ( statusLabel );
      
      add ( drawPanel );   // add the drawing area to the center      
    }   // end DrawFrame constructor

    // handle selections made to a combobox or checkbox
    public   void  itemStateChanged ( ItemEvent  e )
    {
       if   ( e . getSource ()   ==  shapeChoices )   // choosing a shape
         drawPanel . setShapeType ( shapeChoices . getSelectedIndex ());
       else   if   ( e . getSource ()   ==  colorChoices )   // choosing a color
         drawPanel . setDrawingColor (
            colors [ colorChoices . getSelectedIndex ()]);
       else   if   ( e . getSource ()   ==  filledCheckBox )   // filled/unfilled
         drawPanel . setFilledShape ( filledCheckBox . isSelected ());
    }   // end method itemStateChanged

    // handle button clicks
    public   void  actionPerformed ( ActionEvent  e )
    {
       if   ( e . getSource ()   ==  undoButton )
         drawPanel . clearLastShape ();
       else   if   ( e . getSource ()   ==  clearButton )
         drawPanel . clearDrawing ();
    }   // end method actionPerformed
}   // end class DrawFrame


/**************************************************************************
 * (C) Copyright 1992-2014 by Deitel & Associates, Inc. and               *
 * Pearson Education, Inc. All Rights Reserved.                           *
 *                                                                        *
 * DISCLAIMER: The authors and publisher of this book have used their     *
 * best efforts in preparing the book. These efforts include the          *
 * development, research, and testing of the theories and programs        *
 * to determine their effectiveness. The authors and publisher make       *
 * no warranty of any kind, expressed or implied, with regard to these    *
 * programs or to the documentation contained in these books. The authors *
 * and publisher shall not be liable in any event for incidental or       *
 * consequential damages in connection with, or arising out of, the       *
 * furnishing, performance, or use of these programs.                     *
 **************************************************************************/

Chapter 1/painter/DrawPanel$1.class

                synchronized 
                class DrawPanel$1 {
}

            

Chapter 1/painter/DrawPanel$MouseHandler.class

                synchronized 
                class DrawPanel$MouseHandler 
                extends java.awt.event.MouseAdapter 
                implements java.awt.event.MouseMotionListener {
    
                private void DrawPanel$MouseHandler(DrawPanel);
    
                public void 
                mousePressed(java.awt.event.MouseEvent);
    
                public void 
                mouseReleased(java.awt.event.MouseEvent);
    
                public void 
                mouseDragged(java.awt.event.MouseEvent);
    
                public void 
                mouseMoved(java.awt.event.MouseEvent);
}

            

Chapter 1/painter/DrawPanel.class

                public 
                synchronized 
                class DrawPanel 
                extends javax.swing.JPanel {
    
                private MyShape[] 
                shapes;
    
                private int 
                shapeCount;
    
                private int 
                shapeType;
    
                private MyShape 
                currentShape;
    
                private java.awt.Color 
                currentColor;
    
                private boolean 
                filledShape;
    
                private javax.swing.JLabel 
                statusLabel;
    
                public void DrawPanel(javax.swing.JLabel);
    
                public void 
                paintComponent(java.awt.Graphics);
    
                public void 
                setShapeType(int);
    
                public void 
                setDrawingColor(java.awt.Color);
    
                public void 
                clearLastShape();
    
                public void 
                clearDrawing();
    
                public void 
                setFilledShape(boolean);
}

            

Chapter 1/painter/DrawPanel.java

Chapter 1/painter/DrawPanel.java

// GCS Exercise 14.17 Solution: DrawPanel.java
// JPanel that allows the user to draw shapes with the mouse. 
import  java . awt . Color ;
import  java . awt . Graphics ;
import  java . awt . event . MouseAdapter ;
import  java . awt . event . MouseEvent ;
import  java . awt . event . MouseMotionListener ;
import  javax . swing . JLabel ;
import  javax . swing . JPanel ;

public   class   DrawPanel   extends   JPanel
{
    private   MyShape []  shapes ;   // array containing all the shapes
    private   int  shapeCount ;   // total number of shapes

    private   int  shapeType ;   // the type of shape to draw
    private   MyShape  currentShape ;   // the current shape being drawn
    private   Color  currentColor ;   // the color of the shape
    private   boolean  filledShape ;   // whether this shape is filled
   
    private   JLabel  statusLabel ;   // label displaying mouse coordinates
   
    // constructor
    public   DrawPanel ( JLabel  status )
    {
      shapes  =   new   MyShape [ 100 ];   // create the array
      shapeCount  =   0 ;   // initially we have no shapes
      
      setShapeType ( 0 );   // initially draw lines
      setDrawingColor ( Color . BLACK );   // start drawing with black
      setFilledShape ( false ); // not filled by default
      currentShape  =   null ;   // not drawing anything initially
            
      setBackground ( Color . WHITE );   // set a white background
      
       // add the mouse listeners
       MouseHandler  mouseHandler  =   new   MouseHandler ();
      addMouseListener ( mouseHandler );
      addMouseMotionListener ( mouseHandler );
      
       // set the status label for displaying mouse coordinates
      statusLabel  =  status ;
    }   // end DrawPanel constructor

    // draw shapes using polymorphism
    public   void  paintComponent ( Graphics  g )
    {
       super . paintComponent ( g );
      
       for   ( int  i  =   0 ;  i  <  shapeCount ;  i ++ )
         shapes [ i ]. draw ( g );
      
       if   ( currentShape  !=   null )
         currentShape . draw ( g );
    }   // end method paintComponent

    // sets the type of shape to draw
    public   void  setShapeType ( int  shapeType )
    {
       if   ( shapeType  <   0   ||  shapeType  >   2 )
         shapeType  =   0 ;
      
       this . shapeType  =  shapeType ;
    }   // end method setShapeType
   
    // sets the drawing color
    public   void  setDrawingColor ( Color  c )
    {
      currentColor  =  c ;
    }   // end method setDrawingColor
   
    // clears the last shape drawn
    public   void  clearLastShape ()
    {
       if   ( shapeCount  >   0 )
       {
         shapeCount -- ;
         repaint ();
       }   // end if
    }   // end method clearLastShape
   
    // clears all drawings on this panel
    public   void  clearDrawing ()
    {
      shapeCount  =   0 ;
      repaint ();
    }   // end method clearDrawing

    // sets whether to draw a filled shape
    public   void  setFilledShape ( boolean  isFilled )
    {
      filledShape  =  isFilled ;
    }   // end method setFilledShape

    // handles mouse events for this JPanel
    private   class   MouseHandler   extends   MouseAdapter
       implements   MouseMotionListener
    {
       // creates and sets the initial position for the new shape
       public   void  mousePressed ( MouseEvent  e )
       {
          if   ( currentShape  !=   null )
             return ;

          // create the appropriate shape based on shapeType
          switch   ( shapeType )
          {
             case   0 :
               currentShape  =   new   MyLine ( e . getX (),  e . getY (),
                  e . getX (),  e . getY (),  currentColor );       
                break ;
             case   1 :
               currentShape  =   new   MyOval ( e . getX (),  e . getY (),
                  e . getX (),  e . getY (),  currentColor ,  filledShape );       
                break ;
             case   2 :
               currentShape  =   new   MyRect ( e . getX (),  e . getY (),
                  e . getX (),  e . getY (),  currentColor ,  filledShape );       
                break ;
          }   // end switch
       }   // end method mousePressed

       // fixes the current shape onto the panel
       public   void  mouseReleased ( MouseEvent  e )
       {
          if   ( currentShape  ==   null )
             return ;
         
          // set the second point on the shape
         currentShape . setX2 ( e . getX ());
         currentShape . setY2 ( e . getY ());
         
          // set the shape only if there is room in the array
          if   ( shapeCount  <  shapes . length )
          {
            shapes [ shapeCount ]   =  currentShape ;
            shapeCount ++ ;
          }   // end if
         
         currentShape  =   null ;   // clear the temporary drawing shape     
         repaint ();
       }   // end method mouseReleased

       // update the shape to the current mouse position while dragging
       public   void  mouseDragged ( MouseEvent  e )
       {
          if   ( currentShape  !=   null )
          {
            currentShape . setX2 ( e . getX ());
            currentShape . setY2 ( e . getY ());
            repaint ();
          }   // end if

         mouseMoved ( e );   // update status bar
       }   // end method mouseDragged

       // updates the status bar to show the current mouse coordinates
       public   void  mouseMoved ( MouseEvent  e )
       {
         statusLabel . setText (
             String . format ( "(%d,%d)" ,  e . getX (),  e . getY ()));
       }   // end method mouseMoved
    }   // end class MouseHandler
}   // end class DrawPanel


/**************************************************************************
 * (C) Copyright 1992-2014 by Deitel & Associates, Inc. and               *
 * Pearson Education, Inc. All Rights Reserved.                           *
 *                                                                        *
 * DISCLAIMER: The authors and publisher of this book have used their     *
 * best efforts in preparing the book. These efforts include the          *
 * development, research, and testing of the theories and programs        *
 * to determine their effectiveness. The authors and publisher make       *
 * no warranty of any kind, expressed or implied, with regard to these    *
 * programs or to the documentation contained in these books. The authors *
 * and publisher shall not be liable in any event for incidental or       *
 * consequential damages in connection with, or arising out of, the       *
 * furnishing, performance, or use of these programs.                     *
 **************************************************************************/

Chapter 1/painter/MyBoundedShape.class

                public 
                abstract 
                synchronized 
                class MyBoundedShape 
                extends MyShape {
    
                private boolean 
                filled;
    
                public void MyBoundedShape();
    
                public void MyBoundedShape(int, int, int, int, java.awt.Color, boolean);
    
                public int 
                getUpperLeftX();
    
                public int 
                getUpperLeftY();
    
                public int 
                getWidth();
    
                public int 
                getHeight();
    
                public boolean 
                isFilled();
    
                public void 
                setFilled(boolean);
}

            

Chapter 1/painter/MyBoundedShape.java

Chapter 1/painter/MyBoundedShape.java

// GCS Exercise 10.2 Solution: MyBoundedShape.java
// Declaration of class MyBoundedShape.
import  java . awt . Color ;
import  java . awt . Graphics ;

public   abstract   class   MyBoundedShape   extends   MyShape
{
    private   boolean  filled ;   // whether this shape is filled
   
    // call default superclass constructor
    public   MyBoundedShape ()
    {
       super ();
      setFilled ( false );
    }   // end MyBoundedShape no-argument constructor

    // call superclass constructor passing parameters
    public   MyBoundedShape ( int  x1 ,   int  y1 ,   int  x2 ,   int  y2 ,
       Color  color ,   boolean  isFilled )
    {
       super ( x1 ,  y1 ,  x2 ,  y2 ,  color );
      setFilled ( isFilled );
    }   // end MyBoundedShape constructor

    // get upper left x coordinate
    public   int  getUpperLeftX ()
    {
       return   Math . min ( getX1 (),  getX2 ());
    }   // end method getUpperLeftX

    // get upper left y coordinate
    public   int  getUpperLeftY ()
    {
       return   Math . min ( getY1 (),  getY2 ());
    }   // end method getUpperLeftY

    // get shape width
    public   int  getWidth ()
    {
       return   Math . abs ( getX2 ()   -  getX1 ());
    }   // end method getWidth

    // get shape height
    public   int  getHeight ()
    {
       return   Math . abs ( getY2 ()   -  getY1 ());
    }   // end method getHeight
   
    // determines whether this shape is filled
    public   boolean  isFilled ()
    {
       return  filled ;
    }   // end method is filled
   
    // sets whether this shape is filled
    public   void  setFilled ( boolean  isFilled )
    {
      filled  =  isFilled ;
    }   // end method setFilled
}   // end class MyBoundedShape


/**************************************************************************
 * (C) Copyright 1992-2014 by Deitel & Associates, Inc. and               *
 * Pearson Education, Inc. All Rights Reserved.                           *
 *                                                                        *
 * DISCLAIMER: The authors and publisher of this book have used their     *
 * best efforts in preparing the book. These efforts include the          *
 * development, research, and testing of the theories and programs        *
 * to determine their effectiveness. The authors and publisher make       *
 * no warranty of any kind, expressed or implied, with regard to these    *
 * programs or to the documentation contained in these books. The authors *
 * and publisher shall not be liable in any event for incidental or       *
 * consequential damages in connection with, or arising out of, the       *
 * furnishing, performance, or use of these programs.                     *
 **************************************************************************/

Chapter 1/painter/MyLine.class

                public 
                synchronized 
                class MyLine 
                extends MyShape {
    
                public void MyLine();
    
                public void MyLine(int, int, int, int, java.awt.Color);
    
                public void 
                draw(java.awt.Graphics);
}

            

Chapter 1/painter/MyLine.java

Chapter 1/painter/MyLine.java

// GCS Exercise 10.2 Solution: MyLine.java
// Declaration of class MyLine.
import  java . awt . Color ;
import  java . awt . Graphics ;

public   class   MyLine   extends   MyShape
{
    // call default superclass constructor
    public   MyLine ()
    {
       super ();
    }   // end MyLine no-argument constructor

    // call superclass constructor passing parameters
    public   MyLine ( int  x1 ,   int  y1 ,   int  x2 ,   int  y2 ,   Color  color )
    {
       super ( x1 ,  y1 ,  x2 ,  y2 ,  color );
    }   // end MyLine constructor

    // draw line in specified color
    public   void  draw ( Graphics  g )
    {
      g . setColor ( getColor ());
      g . drawLine ( getX1 (),  getY1 (),  getX2 (),  getY2 ());
    }   // end method draw
}   // end class MyLine


/**************************************************************************
 * (C) Copyright 1992-2014 by Deitel & Associates, Inc. and               *
 * Pearson Education, Inc. All Rights Reserved.                           *
 *                                                                        *
 * DISCLAIMER: The authors and publisher of this book have used their     *
 * best efforts in preparing the book. These efforts include the          *
 * development, research, and testing of the theories and programs        *
 * to determine their effectiveness. The authors and publisher make       *
 * no warranty of any kind, expressed or implied, with regard to these    *
 * programs or to the documentation contained in these books. The authors *
 * and publisher shall not be liable in any event for incidental or       *
 * consequential damages in connection with, or arising out of, the       *
 * furnishing, performance, or use of these programs.                     *
 **************************************************************************/

Chapter 1/painter/MyOval.class

                public 
                synchronized 
                class MyOval 
                extends MyBoundedShape {
    
                public void MyOval();
    
                public void MyOval(int, int, int, int, java.awt.Color, boolean);
    
                public void 
                draw(java.awt.Graphics);
}

            

Chapter 1/painter/MyOval.java

Chapter 1/painter/MyOval.java

// GCS Exercise 10.2 Solution: MyOval.java
// Declaration of class MyOval.
import  java . awt . Color ;
import  java . awt . Graphics ;

public   class   MyOval   extends   MyBoundedShape
{
    // call default superclass constructor
    public   MyOval ()
    {
       super ();
    }   // end MyOval no-argument constructor

    // call superclass constructor passing parameters
    public   MyOval ( int  x1 ,   int  y1 ,   int  x2 ,   int  y2 ,
       Color  color ,   boolean  isFilled )
    {
       super ( x1 ,  y1 ,  x2 ,  y2 ,  color ,  isFilled );
    }   // end MyOval constructor

    // draw oval
    public   void  draw ( Graphics  g )
    {
      g . setColor ( getColor ());
      
       if   ( isFilled ())
         g . fillOval ( getUpperLeftX (),  getUpperLeftY (),
            getWidth (),  getHeight ());
       else
         g . drawOval ( getUpperLeftX (),  getUpperLeftY (),
            getWidth (),  getHeight ());
    }   // end method draw
}   // end class MyOval


/**************************************************************************
 * (C) Copyright 1992-2014 by Deitel & Associates, Inc. and               *
 * Pearson Education, Inc. All Rights Reserved.                           *
 *                                                                        *
 * DISCLAIMER: The authors and publisher of this book have used their     *
 * best efforts in preparing the book. These efforts include the          *
 * development, research, and testing of the theories and programs        *
 * to determine their effectiveness. The authors and publisher make       *
 * no warranty of any kind, expressed or implied, with regard to these    *
 * programs or to the documentation contained in these books. The authors *
 * and publisher shall not be liable in any event for incidental or       *
 * consequential damages in connection with, or arising out of, the       *
 * furnishing, performance, or use of these programs.                     *
 **************************************************************************/

Chapter 1/painter/MyRect.class

                public 
                synchronized 
                class MyRect 
                extends MyBoundedShape {
    
                public void MyRect();
    
                public void MyRect(int, int, int, int, java.awt.Color, boolean);
    
                public void 
                draw(java.awt.Graphics);
}

            

Chapter 1/painter/MyRect.java

Chapter 1/painter/MyRect.java

// GCS Exercise 10.2 Solution: MyRect.java
// Declaration of class MyRect.
import  java . awt . Color ;
import  java . awt . Graphics ;

public   class   MyRect   extends   MyBoundedShape
{
    // call default superclass constructor
    public   MyRect ()
    {
       super ();
    }   // end MyRect no-argument constructor

    // call superclass constructor passing parameters
    public   MyRect ( int  x1 ,   int  y1 ,   int  x2 ,   int  y2 ,
       Color  color ,   boolean  isFilled )
    {
       super ( x1 ,  y1 ,  x2 ,  y2 ,  color ,  isFilled );
    }   // end MyRect constructor

    // draw rectangle
    public   void  draw ( Graphics  g )
    {
      g . setColor ( getColor ());
      
       if   ( isFilled ())
         g . fillRect ( getUpperLeftX (),  getUpperLeftY (),
            getWidth (),  getHeight ());
       else
         g . drawRect ( getUpperLeftX (),  getUpperLeftY (),
            getWidth (),  getHeight ());
    }   // end method draw
}   // end class MyRect


/**************************************************************************
 * (C) Copyright 1992-2014 by Deitel & Associates, Inc. and               *
 * Pearson Education, Inc. All Rights Reserved.                           *
 *                                                                        *
 * DISCLAIMER: The authors and publisher of this book have used their     *
 * best efforts in preparing the book. These efforts include the          *
 * development, research, and testing of the theories and programs        *
 * to determine their effectiveness. The authors and publisher make       *
 * no warranty of any kind, expressed or implied, with regard to these    *
 * programs or to the documentation contained in these books. The authors *
 * and publisher shall not be liable in any event for incidental or       *
 * consequential damages in connection with, or arising out of, the       *
 * furnishing, performance, or use of these programs.                     *
 **************************************************************************/

Chapter 1/painter/MyShape.class

                public 
                abstract 
                synchronized 
                class MyShape {
    
                private int 
                x1;
    
                private int 
                y1;
    
                private int 
                x2;
    
                private int 
                y2;
    
                private java.awt.Color 
                myColor;
    
                public void MyShape();
    
                public void MyShape(int, int, int, int, java.awt.Color);
    
                public void 
                setX1(int);
    
                public int 
                getX1();
    
                public void 
                setX2(int);
    
                public int 
                getX2();
    
                public void 
                setY1(int);
    
                public int 
                getY1();
    
                public void 
                setY2(int);
    
                public int 
                getY2();
    
                public void 
                setColor(java.awt.Color);
    
                public java.awt.Color 
                getColor();
    
                public 
                abstract void 
                draw(java.awt.Graphics);
}

            

Chapter 1/painter/MyShape.java

Chapter 1/painter/MyShape.java

// GCS Exercise 10.2 Solution: MyShape.java
// Declaration of class MyShape.
import  java . awt . Color ;
import  java . awt . Graphics ;

public   abstract   class   MyShape
{
    private   int  x1 ;   // x coordinate of first endpoint
    private   int  y1 ;   // y coordinate of first endpoint
    private   int  x2 ;   // x coordinate of second endpoint
    private   int  y2 ;   // y coordinate of second endpoint
    private   Color  myColor ;   // color of this shape

    // default constructor initializes values with 0
    public   MyShape ()
    {
       this ( 0 ,   0 ,   0 ,   0 ,   Color . BLACK );   // call constructor to set values
    }   // end MyShape no-argument constructor

    // constructor
    public   MyShape ( int  x1 ,   int  y1 ,   int  x2 ,   int  y2 ,   Color  color )
    {
      setX1 ( x1 );   // set x coordinate of first endpoint
      setY1 ( y1 );   // set y coordinate of first endpoint
      setX2 ( x2 );   // set x coordinate of second endpoint
      setY2 ( y2 );   // set y coordinate of second endpoint
      setColor ( color );   // set the color
    }   // end MyShape constructor

    // set the x-coordinate of the first point
    public   void  setX1 ( int  x1 )
    {
      this . x1  =   ( x1  >=   0   ?  x1  :   0 );
    }   // end method setX1

    // get the x-coordinate of the first point
    public   int  getX1 ()
    {
      return  x1 ;
    }   // end method getX1

    // set the x-coordinate of the second point
    public   void  setX2 ( int  x2 )
    {
      this . x2  =   ( x2  >=   0   ?  x2  :   0 );
    }   // end method setX2

    // get the x-coordinate of the second point
    public   int  getX2 ()
    {
      return  x2 ;
    }   // end method getX2

    // set the y-coordinate of the first point
    public   void  setY1 ( int  y1 )
    {
      this . y1  =   ( y1  >=   0   ?  y1  :   0 );
    }   // end method setY1

    // get the y-coordinate of the first point
    public   int  getY1 ()
    {
      return  y1 ;
    }   // end method getY1

    // set the y-coordinate of the second point
    public   void  setY2 ( int  y2 )
    {
      this . y2  =   ( y2  >=   0   ?  y2  :   0 );
    }   // end method setY2

    // get the y-coordinate of the second point
    public   int  getY2 ()
    {
      return  y2 ;
    }   // end method getY2

    // set the color
    public   void  setColor ( Color  color )
    {
      myColor  =  color ;
    }   // end method setColor

    // get the color
    public   Color  getColor ()
    {
       return  myColor ;
    }   // end method getColor

    // abstract draw method
    public   abstract   void  draw ( Graphics  g );
}   // end class MyShape


/**************************************************************************
 * (C) Copyright 1992-2014 by Deitel & Associates, Inc. and               *
 * Pearson Education, Inc. All Rights Reserved.                           *
 *                                                                        *
 * DISCLAIMER: The authors and publisher of this book have used their     *
 * best efforts in preparing the book. These efforts include the          *
 * development, research, and testing of the theories and programs        *
 * to determine their effectiveness. The authors and publisher make       *
 * no warranty of any kind, expressed or implied, with regard to these    *
 * programs or to the documentation contained in these books. The authors *
 * and publisher shall not be liable in any event for incidental or       *
 * consequential damages in connection with, or arising out of, the       *
 * furnishing, performance, or use of these programs.                     *
 **************************************************************************/

Chapter 1/painter/Painter.class

                public 
                synchronized 
                class Painter {
    
                public void Painter();
    
                public 
                static void 
                main(String[]);
}

            

Chapter 1/painter/Painter.java

Chapter 1/painter/Painter.java

// GCS Exercise 14.17 Solution: Painter.java
// Test application to display a DrawFrame
import  javax . swing . JFrame ;

public   class   Painter
{
    public   static   void  main ( String []  args )
    {
       DrawFrame  application  =   new   DrawFrame ();
      application . setDefaultCloseOperation ( JFrame . EXIT_ON_CLOSE );
      application . setSize ( 500 ,   400 );
      application . setVisible ( true );
    }   // end main
}   // end class Painter


/**************************************************************************
 * (C) Copyright 1992-2014 by Deitel & Associates, Inc. and               *
 * Pearson Education, Inc. All Rights Reserved.                           *
 *                                                                        *
 * DISCLAIMER: The authors and publisher of this book have used their     *
 * best efforts in preparing the book. These efforts include the          *
 * development, research, and testing of the theories and programs        *
 * to determine their effectiveness. The authors and publisher make       *
 * no warranty of any kind, expressed or implied, with regard to these    *
 * programs or to the documentation contained in these books. The authors *
 * and publisher shall not be liable in any event for incidental or       *
 * consequential damages in connection with, or arising out of, the       *
 * furnishing, performance, or use of these programs.                     *
 **************************************************************************/

Chapter 1/Tic-Tac-Toe/TicTacToe$Status.class

                final 
                synchronized 
                enum TicTacToe$Status {
    
                public 
                static 
                final TicTacToe$Status 
                WIN;
    
                public 
                static 
                final TicTacToe$Status 
                DRAW;
    
                public 
                static 
                final TicTacToe$Status 
                CONTINUE;
    
                public 
                static 
                final TicTacToe$Status[] 
                values();
    
                public 
                static TicTacToe$Status 
                valueOf(String);
    
                private void TicTacToe$Status(String, int);
    
                static void 
                <clinit>();
}

            

Chapter 1/Tic-Tac-Toe/TicTacToe.class

                public 
                synchronized 
                class TicTacToe {
    
                private 
                final int 
                BOARDSIZE;
    
                private int[][] 
                board;
    
                private boolean 
                firstPlayer;
    
                private boolean 
                gameOver;
    
                public void TicTacToe();
    
                public void 
                play();
    
                public void 
                printStatus(int);
    
                public TicTacToe$Status 
                gameStatus();
    
                public void 
                printBoard();
    
                public void 
                printSymbol(int, int);
    
                public boolean 
                validMove(int, int);
}

            

Chapter 1/Tic-Tac-Toe/TicTacToeTest.class

                public 
                synchronized 
                class TicTacToeTest {
    
                public void TicTacToeTest();
    
                public 
                static void 
                main(String[]);
}