Your SlideShare is downloading. ×
java swing
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

java swing

2,964
views

Published on

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,964
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
172
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Developing User Interfaces (DUI) Chris North cs3724: HCI
  • 2. 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
  • 3. Intro to Java
  • 4. Why Java?
  • 5. 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++
  • 6. 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
  • 7. 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++
  • 8. 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!
  • 9. Typically create objects • hello.java: class hello { public static void main(String[] args){ // Create and use objects hello h = new hello(); … } public hello(){ // Constructor … } … }
  • 10. 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){ … }
  • 11. Hmmm… • dir hello.class goodbye.class blah.class foo.class bar.class areyouawakein.class • Java ??? • RunMe.bat: java hello
  • 12. JBuilder
  • 13. 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
  • 14. 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
  • 15. Applet Methods • init( ) - initialization • start( ) - resume processing (e.g. animations) • stop( ) - pause • destroy( ) - cleanup • paint( ) - redraw stuff (‘expose’ event)
  • 16. Applet Security • No read/write on client machine • Can’t execute programs on client machine • Communicate only with server • “Java applet window” Warning • Certificates
  • 17. Upcoming Java Topics • GUIs: Swing, AWT, MVC • Event handling, listeners • Graphics • Animation, threads • Components, JavaBeans • Databases, JDBC