KEMBAR78
Java GUI Development Guide | PDF | Java (Programming Language) | Object Oriented Programming
0% found this document useful (0 votes)
68 views17 pages

Java GUI Development Guide

The document provides an overview of developing user interfaces using Java. It discusses learning GUI programming concepts like components, layout, event-based programming and graphics. It then covers introductory Java topics like why Java is used, Java materials, key differences from C++, compiling Java code, creating Java applications and applets, and upcoming GUI and Java topics to be covered.

Uploaded by

Mong Kuo Su
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
68 views17 pages

Java GUI Development Guide

The document provides an overview of developing user interfaces using Java. It discusses learning GUI programming concepts like components, layout, event-based programming and graphics. It then covers introductory Java topics like why Java is used, Java materials, key differences from C++, compiling Java code, creating Java applications and applets, and upcoming GUI and Java topics to be covered.

Uploaded by

Mong Kuo Su
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 17

Developing User Interfaces

(DUI)

Chris North
cs3724: HCI
GUI Development: Goals
1. Learn general GUI programming concepts
• GUI components
• Layout
• Event-based programming
• Graphics
• Animation
2. Learn Java
• Swing
• Layout managers
• Listerners
• 2D graphics
• Threads

Then: can learn other languages quickly


• VB, C#, Xwin, Java 49
Intro to Java
Why Java?
Java materials
• Java 2 = sdk 1.2 or better
• http://java.sun.com/j2se/
• Documentation:
• http://java.sun.com/docs/
• Tutorials, reference, API

• Borland JBuilder 6
• http://www.borland.com/jbuilder/personal/
• Free! Cross between VB and VC++
Java differences
• Basic statements identical to C++
• Object-oriented only!
• No .h files
• main() is inside a class
• No global variables
• No pointers (object references only)
• No delete: automatic garbage collection
• Single inheritance only, “interfaces”
• Applet/application
• GUI: AWT, Swing
• Packaging
• Error Handling, exceptions (try, catch)
• E.g. Array bounds checking
• Security
• Components: beans
Java compiling
• Code:
• hello.java (text file)
• Compile:
• javac hello.java
• Creates: hello.class (byte code)
• Run:
• java hello
• Java virtual machine, interpets/compiles (machine code)
• Packaging: jar
• Or use JBuilder, like VC++
Java Applications
• Run from command line
• hello.java:
class hello {
public static void main(String[] args){
System.out.println(“Hello World!”);
}
}

• javac hello.java
• java hello
Hello World!
Typically create objects
• hello.java:
class hello {
public static void main(String[] args){
// Create and use objects
hello h = new hello();

}
public hello(){ // Constructor

}

}
Many Classes
• Compile each separately
• Can be main( ) in any/all classes
• hello.java:
class hello {
goodbye g;
public static void main(String[] args){

}
• goodbye.java:
class goodbye {
public static void main(String[] args){

}
Hmmm…
• dir
hello.class
goodbye.class
blah.class
foo.class
bar.class
areyouawakein.class
• Java ???
• RunMe.bat:
java hello
JBuilder
Java Applets
• Run in a web browser
• hello.java:
import javax.swing.*;
class hello extends JApplet {
public void init(){
getContentPane().add(
new JLabel(“Hello World!”) );
}
}
• javac hello.java
Hello World!
• appletviewer hello
Java Applets in HTML
• hello.html:
<html><body>
<applet code=“hello.class”
height=100 width=200>
Need java.
</applet>
</body></html>
hello.html

• Put hello.html and


hello.class on website
Hello World!
• Java plug-in
Applet Methods
• init( ) - initialization
• start( ) - resume processing (e.g. animations)
• stop( ) - pause
• destroy( ) - cleanup
• paint( ) - redraw stuff (‘expose’ event)
Applet Security
• No read/write on client machine
• Can’t execute programs on client machine
• Communicate only with server
• “Java applet window” Warning

• Certificates
Upcoming Java Topics
• GUIs: Swing, AWT, MVC
• Event handling, listeners
• Graphics
• Animation, threads
• Components, JavaBeans
• Databases, JDBC

You might also like