java swing
Upcoming SlideShare
Loading in...5
×
 

java swing

on

  • 3,073 views

 

Statistics

Views

Total Views
3,073
Views on SlideShare
3,071
Embed Views
2

Actions

Likes
0
Downloads
161
Comments
0

1 Embed 2

http://www.slideshare.net 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

java swing java swing Presentation Transcript

  • 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