OOP (Java): Simple/ OOP (Java) Objectives – –give some simple examples of Java applications and one applet 2. Simple Java Programs Semester 2,
OOP (Java): Simple/2 2 Contents 1.Steps in Writing a Java Application 2. Hello.java 3.A Better Programming Environment? 4. Comparison.java 5.Steps in Writing a Java Applet 6. WelcomeApplet.java
OOP (Java): Simple/ Steps in Writing a Java Appl. Foo.java text file holding the application javac Foo.java call the Java compiler Foo.class class file holding Java bytecodes java Foo execute the class using the Java runtime system (the JVM)
OOP (Java): Simple/ Hello.java import java.io.*; public class Hello { public static void main(String args[]) { System.out.println(“Hello Andrew”); } } // end of class
OOP (Java): Simple/2 5 Compile & Run
OOP (Java): Simple/2 6 Notes import imports pre-defined classes from the java.io package – –* means “all classes” All Java applications must have a main() function (method) – –static means the method is ‘inside’ the class – –public means the method can be called from outside the class – –args[] stores command line arguments (not used here) continued
OOP (Java): Simple/2 7 The Java file (e.g. Hello.java ) must contain a public class with the file’s name (e.g. Hello class). continued
OOP (Java): Simple/2 8 System.out is the standard output stream – –like cout (C++) or stdout (C) System.out.println() is the main print function (method) in Java. Hello main() calls System.out.println(…) writes to screen via output stream
OOP (Java): Simple/ A Better Programming Environment? When first learning Java, it is best to use a simple programming environment – –it forces you to understand how the language works I write/compile/execute my programs using a simple configuable text editor called Notepad++ – –see continued
OOP (Java): Simple/2 10 Useful Notepad++ features – –it will format Java code automatically – –colour-coded display of code – –it is possible to add calls to javac, java, appletviewer to the Notepad++ menu no need to leave the editor to compile/run – –there is an optional window that show the output from running Java code
OOP (Java): Simple/2 11
OOP (Java): Simple/2 12 Notepad++ Macro Menu Read the Notepad++Java.pdf document at the course Website
OOP (Java): Simple/ Comparison.java import javax.swing.JOptionPane; // GUI dialogs public class Comparison { public static void main( String args[] ) { String firstNumber,secondNumber,result; int number1,number2; // read user numbers firstNumber = JOptionPane.showInputDialog( "Enter first integer:"); secondNumber = JOptionPane.showInputDialog( "Enter second integer:" ); :
OOP (Java): Simple/2 14 // convert numbers number1 = Integer.parseInt( firstNumber ); number2 = Integer.parseInt( secondNumber ); result = ""; if ( number1 == number2 ) result = number1 + " == " + number2; if ( number1 != number2 ) result = number1 + " != " + number2; if ( number1 number2 ) result = result + "\n" + number1 + " > " + number2; if ( number1 <= number2 ) result = result + "\n" + number1 + " <= " + number2 :
OOP (Java): Simple/2 15 if ( number1 >= number2 ) result = result + "\n" + number1 + " >= " + number2; // Display results JOptionPane.showMessageDialog( null, result, "Comparison Results", JOptionPane.INFORMATION_MESSAGE ); } // end of main() } // end of Comparison class
OOP (Java): Simple/2 16 Compile & Run $ javac Comparison.java $ java Comparison $
OOP (Java): Simple/2 17 Notes The Comparison class is just a single main() function (method) continued
OOP (Java): Simple/2 18 showInputDialog() and showMessageDialog() are simple (but quite flexible) methods for reading/writing input in dialog boxes – –defined inside the JOptionPane class continued
OOP (Java): Simple/2 19 Notice the use of familiar C/C++ control structures (e.g. if, while ) and data types (e.g. int, double ) “...” + “...” means concatenation (put strings together) String is a pre-defined class for strings. int is a built-in type (just like C’s int).
OOP (Java): Simple/2 20 Calling Methods Methods are defined in classes. Syntax for calling a method: Class.method-name or object.method-name – –e.g. JOptionPane.showMessageDialog(...); this calls the showMessageDialog( ) method in the class JOptionPane Classes start with an upper case letter.
OOP (Java): Simple/2 21 The Integer Class int is a C-like built-in type Integer is a Java class for integers – –used when integer methods are required Integer.parseInt() converts a string to int
OOP (Java): Simple/2 22 Classes as Libraries One way of using a class is as a library for useful methods. One way of using a class is as a library for useful methods. –the JOptionPane class has many methods for creating different kinds of dialog boxes; –the Integer class has many methods for manipulating integers
OOP (Java): Simple/ Steps in Writing a Java Applet AFoo.java text file holding the applet javac AFoo.java call the Java compiler AFoo.class class file holding Java bytecodes appletviewer AFoo.html AFoo.html Web page that calls AFoo.class execute the applet using the Java runtime system (the JVM)
OOP (Java): Simple/2 24 execute the applet using the Java runtime system (the JVM) AFoo.classAFoo.html Web page that calls AFoo.class browser downloads Web page and Java class Using a browser For Java 2, the Java Plug-in is required, or use Opera or Firefox
OOP (Java): Simple/ WelcomeApplet.java import javax.swing.JApplet; import java.awt.Graphics; public class WelcomeApplet extends JApplet { public void paint(Graphics g) { g.drawString(“Welcome Andrew”, 25,25); } }
OOP (Java): Simple/2 26 WelcomeApplet.html Welcome Andrew [Java Welcome applet runs here]
OOP (Java): Simple/2 27 Compile & Run $ javac WelcomeApplet.java $ appletviewer WelcomeApplet.html
OOP (Java): Simple/2 28 Notes The structure of an applet is quite different from a Java application – –there is no main() function – –the “top-level” class must inherit from JApplet or Applet I will not be discussing applets in this subject.
OOP (Java): Simple/2 29 Browser Execution Microsoft IE does not directly support Java 2. A common solution is to use the Java plugin, available from Sun – –a drawback is that it requires the Web page containing the applet to contain more complicated tags (and JavaScript code) so that the applet can run inside IE continued
OOP (Java): Simple/2 30 A better solution is to use the Opera browser: – –free from – –it comes with JRE 1.6, the latest version of the Java Runtime Environment, or it can be linked to the JRE already on your machine – –there is no need for a Java plugin – –Opera is very fast, small-size, and supports many networking standards continued
OOP (Java): Simple/2 31 Load WelcomeApplet.html