1 / 23

Java Intro

Java Intro. Chris North cs3724: HCI. Presentations. john randal, tom shultz Vote: UI Hall of Fame/Shame?. Quiz. Visualization design principles: show me the data Increase info density Overview first, zoom&filter, details on demand … How to map data to graphics?

zayit
Download Presentation

Java Intro

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java Intro Chris North cs3724: HCI

  2. Presentations • john randal, • tom shultz • Vote: UI Hall of Fame/Shame?

  3. Quiz • Visualization design principles: • show me the data • Increase info density • Overview first, zoom&filter, details on demand • … • How to map data to graphics? • 1. Data items become marks • 2. Data values map to mark attributes

  4. More Quiz • Multi-dimensional data? • multiple attributes • Types of scale in multi-dim data? • # points • # attributes • ranges of data values • 3 multi-dim visualizations? • par coords • Spotfire: mapping, brush&link, DQ • Tablelens: graphical table

  5. Data Scale • # of attributes (dimensionality) • # of items • # of possible values (e.g. bits/value)

  6. Spotfire • Multiple views: brushing and linking • Dynamic Queries • Details window

  7. TableLens (Eureka by Inxight) • Visual encoding of cell values, sorting • Details expand within context

  8. Parallel Coordinates (XmdvTool)

  9. Par coords: 10-100 attrs, <1000 points • Tablelens: 10-100 attrs, 1000, more by grouping • Spotfire: 10 attrs, more w/ DQ, 100,000 pts

  10. Homework #2: Info. Vis. Tools • Get some data: • Tabular, >=5 attributes (columns), >=500 items (rows) • Use 2 visualization tools + Excel: • Spotfire, TableLens, Parallel Coordinates • Mcbryde 104c • 2 page report: • Discoveries in data • Comparison of tools • Due: • Feb 19: A-K • Feb 21: L-Z

  11. Technologies • VisualBasic • Fast prototyping • Help stinks • Lack of control, multi-threading, POWER! • Code tends to be ugly, variation, arbitrary • Java • Power • Lots to learn • Slow development, except jbuilder? • Complexity • Tons of code • Help is good

  12. Java materials • Java 2 = sdk 1.2 or better • http://java.sun.com/j2se/ • Documentation: • http://java.sun.com/docs/ • Tutorials, reference, API • Sams “Teach yourself Java2 in 21 days” • Borland JBuilder 6 • http://www.borland.com/jbuilder/personal/ • Free! Cross between VB and VC++

  13. Java differences • Basic statements identical to C++ • Object-oriented only! • No .h files • Garbage collection: no delete • No pointers (object references only) • GUI: AWT, Swing • Applet/application • Single inheritance, interfaces • Packaging • No global vars • Error Handling, exceptions (try, catch) • E.g. Array bounds checking • Security • Objects, components

  14. Java compiling • Code: • myclass.java (text file) • Compile: • javac myclass.java • Creates: myclass.class (byte code) • Run: • java myclass • Java virtual machine, interpets/compiles (machine code) • Packaging: jar • Or use JBuilder, like VC++

  15. Java Applications • Run from command line, like .exe • HelloWorldApp.java: Class helloWorld { public static void main(String[] args){ system.out.println(“Hello World!”); } } • javac HelloWorldApp.java • Java HelloWorldApp Hello World! • Can be main( ) in any/all classes

  16. Java Applets • Run in a web browser, like .ocx control • HelloWorldApplet.java: Import java.awt.* public Class helloWorld extends javax.swing.JApplet { public void init(){ setBackground(Color.white); } public void paint(Graphics g){ g.setColor(Color.black); g.drawString(“Hello World!”, 10,10); } } • javac HelloWorldApplet.java • appletviewer HelloWorldApplet Hello World!

  17. Java Applets • HelloWorldApplet.html: <html><body> <applet code=“HelloWorldApplet.class” height=100 width=200> Need java. </applet> </body></html> • Put .html and .class on website • Java plug-in Hello World!

  18. Applet Methods • init( ) - initialization • start( ) - resume processing (e.g. animations) • stop( ) - pause • destroy( ) - cleanup • paint( ) - redraw stuff (‘expose’ event)

  19. Applet Security • No read/write on client machine • Can’t execute programs on client machine • Communicate only with server • “Java applet window” Warning • Certificates

  20. JBuilder

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

  22. Next • Midterm: feb 26, tues Presentations: proj1 design or UI critique • Next Tues: mohamed hassoun, aaron dalton • Next Thurs: nadine edwards, steve terhar

  23. Project 2: Java • Teams due today • Get started on design • 0: form teams of 3 (feb 14) • 1: design (feb 28) • 2: initial implementation (mid march) • 3: final implementation (early April)

More Related