elc 310 day 21. © 2004 pearson addison-wesley. all rights reserved10-2 agenda questions? capstone...

25
ELC 310 Day 21

Upload: mikaela-soward

Post on 16-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

ELC 310

Day 21

Page 2: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-2

Agenda• Questions?• Capstone Proposals Overdue

4 Submitted 3 Accepted, 1 in negotiations Proposal should be in correct format (see guidelines in WebCT)

• Capstone progress reports overdue• Problem set 4 partially corrected

1 A, 1 B and 2 C’s Not doing some of the problems really hurts your score

• Problem set 5 Parts A & B Each worth 50 Points Due November 22 and Dec 2 respectively

• Exam #3 November 22 Chap 7, 8 & 9 25 M/C Available 7AM-7PM, Passwords will be e-mailed Sunday

• Discussion on Exception Handling

Page 3: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

Chapter 10

Exceptions

Page 4: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-4

Exceptions

• Exception handling is an important aspect of object-oriented design

• Chapter 10 focuses on:

the purpose of exceptions exception messages the try-catch statement propagating exceptions the exception class hierarchy GUI mnemonics and tool tips more GUI components and containers

Page 5: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-5

Outline

Exception Handling

The try-catch Statement

Exception Propagation

Exception Classes

I/O Exceptions

Tool Tips and Mnemonics

Combo Boxes

Scroll Panes and Split Panes

Page 6: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-6

Exception Handling

• An exception is an object that defines an unusual or erroneous situation Divide by zero Index out of bounds Can’t find a file Security violation

• Exceptions are “thrown” and “caught” Catching an exception allows you to recover from the problem

• An error is similar to an exceptions except that errors are generally unrecoverable

• There are 3 things you can do with an exception Ignore it Handle it where it happens Handle at some other point in the program

Page 7: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-7

Uncaught (ignored) Exceptions• Uncaught exceptions cause program termination

Produces a message• What exception occured• Where the exception occurred

• Example Zero.java Exception in thread "main"

java.lang.ArithmeticException: / by zeroÏÏ§Ï at Zero.main(Zero.java:17)

Message includes • Information about the exception

– Method Exception.getmessage()• Call stack trace

– Method, file and line number– Method Exception.printStackTrace()

• Since the exceptions was not “caught”, the program terminated and the message was passed to the 0/S as output

Page 8: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-8

Outline

Exception Handling

The try-catch Statement

Exception Propagation

Exception Classes

I/O Exceptions

Tool Tips and Mnemonics

Combo Boxes

Scroll Panes and Split Panes

Page 9: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-9

try-catch

• Try-catch allows the program to catch and handle an exception when it is thrown Fix the problem try { block of code}

catch (exception) { code to handle the exception}

• If the code in the try block does not produce an exception the catch block is skipped

try Block

catch handler

No exception

exception

Page 10: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-10

Try-Catch

• Examples ProductCodes.java ProductCodes1.java

• Since the exceptions are caught and handled, the processing of the program does not terminate till the user explicitly terminates the program

• The “finally” clause Optional after a try-catch

try Block

catch handler

No exception

exception

FinallyBlock

Page 11: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-11

Outline

Exception Handling

The try-catch Statement

Exception Propagation

Exception Classes

I/O Exceptions

Tool Tips and Mnemonics

Combo Boxes

Scroll Panes and Split Panes

Page 12: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-12

Exception Propagation

• If an exception is not caught and handled, control moves to the method that called the method that threw the exception.

• You can handle the exception at the higher level Called “propagating the exception” The exception will propagate ‘up’ the stack till

• It is handled

• Or, it forces the program to terminate

• Example Propagation.java ExceptionScope.java

Page 13: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-13

Exception Propagation

• The exceptions moves up the stack of calling methods

doIt

helpMe

helpMe();

obj.doIt();

main

ExceptionthrownException

thrownExceptionThrown

Exceptionoccurred

Page 14: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-14

Outline

Exception Handling

The try-catch Statement

Exception Propagation

Exception Classes

I/O Exceptions

Tool Tips and Mnemonics

Combo Boxes

Scroll Panes and Split Panes

Page 15: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-15

Exception Class Hierarchy

• Throwable class is parent of error and exception class

• You can define your own exceptions Inheriting from an Exception class

Page 16: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-16

Creating your own exception

• Example CreatingExceptions.java OutOfRangeException.java

• Checked and Unchecked Exceptions Checked exceptions must be caught or explicitly thrown

by listing in the “throws” clause An unchecked exception requires no throws clause

• RunTimeException class (and it descendants) are the only unchecked exceptions in JAVA

Page 17: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-17

Outline

Exception Handling

The try-catch Statement

Exception Propagation

Exception Classes

I/O Exceptions

Tool Tips and Mnemonics

Combo Boxes

Scroll Panes and Split Panes

Page 18: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-18

I/O Exceptions

• I/O is JAVA is treated as a Stream Ordered sequence of bytes from a source to a destination Read from input streams Write to output streams

• Three standard I/O streams System.in > Input (keyboard) System.out > Output (monitor) System.err >Output for error messages (monitor)

• I/O streams throws IOexception Checked exception

• Example TestData.java test.dat TestData1.java test2.dat

Page 19: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

ELC 310

Day 23

Page 20: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-20

Agenda• Questions?• Capstone progress due• Student Evaluation• Problem set 5 Parts A Corrected

Good results• Problem set 5 Part B

DUE Dec 2 • Exam #3 Corrected

Poor results 1 A, 2 C’s and 1 D

• Discussion on Tool tips and Mnemonics Advanced GUI components

• Tool Tips and Mnemonics• Combo Boxes• Scroll Panes and Split Panes

• Next is Recursion, generally a difficult subject for CS students Read ahead!

Page 21: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-21

Tool tips and Mnemonics• Tool tip

Short Line of text that appears when ever the cursor is in top of the Swing component

Works with all Swing Components (J*) *.setTooTipText (“A message”);

• Mnemonic Hot key (ALT-”a key”) *.setMnemonic (‘C’); Underlines letter

• Disabling components *.setEnabled( false); Grays out component

• Examples Lightbulb.java LightBulbPanel.java LightBulbControls.java

Page 22: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-22

Combo boxes

• Combo Boxes create “Drop Down” menus• Defined in JComboBox Class• Two ways to add items to the drop down

Using the constructor *.addItem(“the item”);

• Can also use ImageIcon

• Can be editable or uneditable Default is uneditable

• New object URL Url(“protocol”, “host”, ‘file”

• New interface AudioClip

• *.loop(); *.play(); *.stop();

• Example JukeBox.java JukeBoxControls.Java

Page 23: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-23

Scroll Panes

• For Images and Information that is too large to fit in the assigned area

• Provides Scroll bars to navigate through the larger information or image

• Defined in JScrollPane class• Example

TransmitMap.java

Page 24: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-24

Split panes

• Panel that displays twp components separated by a movable divider bar Horizontal

• Left, right

Vertical• Top, bottom

• Defined in JSplitPane class• Example

ListPanel.java PickImage.java

Page 25: ELC 310 Day 21. © 2004 Pearson Addison-Wesley. All rights reserved10-2 Agenda Questions? Capstone Proposals Overdue  4 Submitted  3 Accepted, 1 in negotiations

© 2004 Pearson Addison-Wesley. All rights reserved 10-25

Summary

• Chapter 10 has focused on:

• the purpose of exceptions

• exception messages

• the try-catch statement

• propagating exceptions

• the exception class hierarchy

• GUI mnemonics and tool tips

• more GUI components and containers