Presentation is loading. Please wait.

Presentation is loading. Please wait.

Events Chapter Six. Old (procedural) vs. OOPS Programs §OOPS programs react to the users demands §Anytime/anyplace §EVENT = “An Action taken by a user”

Similar presentations


Presentation on theme: "Events Chapter Six. Old (procedural) vs. OOPS Programs §OOPS programs react to the users demands §Anytime/anyplace §EVENT = “An Action taken by a user”"— Presentation transcript:

1 Events Chapter Six

2 Old (procedural) vs. OOPS Programs §OOPS programs react to the users demands §Anytime/anyplace §EVENT = “An Action taken by a user” l Program waits (LOOKS) for an event to happen l when it does the program handles the event.

3 Event Program §Button event §Scrollbar event §key pressed event §any other event program “Looks” for §in a LOOP … l ActionListener l AdjustmentListener

4 Mouse drag Handle it Key Press Mouse Click Example Loop Event

5 FirstEvent Program Import java.awt.*; import applet.Applet; import.awt.event.*; // new one here -Events public class FirstEvent extends Applet implements AdjustmentListener { // NEW “implements” NOT inherit but use //some of AdjustmentListener’s neat stuff

6 Private Scrollbar slider; private int sliderValue = 0; public void init( ) { slider = new Scrollbar (Scrollbar.HORIZONTAL, 0,1,0, 100); add(slider); slider.addAdjustmentListener(this); }

7 Public void paint (Graphics g) { g.drawString(“Current value is “ + sliderValue, 100,100); } public void adjustmentValueChanged (AdjustmentEvent e) { sliderValue = slider.getValue( ); repaint( ); }

8 Breakdown on the “New” stuff §What the program does l displays a scrollbar l User can move mouse to slider and “Operate” it l Program shows “where/what numeric position slider is on” Range 0 - 100 initial value 0 width of thumb is one pixel and bar is horizontal

9 More new stuff §repaint ( ) ; // call to library “redraw stuff” §sliderValue = slider.getValue ( ); //New §// call to method in library that gives numeric value of where/what number (position slider bar is at currently) User can and usually does move it with mouse. §Slider.addAdjustmentListener(this); //New §//current address (this) passed to slider

10 More New stuff §public void init ( ); // reserved used to display initial screen (The bar in original position) §Public void paint( Graphics g) { // You should have seen before §public void adjustmentValueChanged (AdjustmentEvent e) { // an object e holds the new value of the event handleing method (for the scrollbar)

11 Scope (revisited) §Where a variable can be used (can have value) §Where a variable is declared is where it has scope §local ones can only be used within the method they are created

12 §Class Demo extends Applet {… §private int x; §private void methodOne( ) { l int a; // a is local l x = 42; l // etc more stuff we don’t care about l } l private void methodTwo ( ) { int b; // b is local b =x; }

13 The AWT (only note in text windows 95 NOT totally compatible with JDK) §Very few problems in this course except with some browsers some times

14 An event driven example (in text page 71) Import java.awt.*; import applet.Applet; import.awt.event.*; // new one here -Events public class WindowBlind extends Applet implements AdjustmentListener {

15 Private Scrollbar slider; private int sliderValue ; public void init( ) { slider = new Scrollbar (Scrollbar.VERTICAL, 0,1,0, 100); add(slider); slider.addAdjustmentListener(this); }

16 public void paint (Graphics g) { showStatus (“Scrollbar value is “ + sliderValue); g.drawRect(40, 80, 60, 100); g.fillRect(40, 80, 60, sliderValue); } public void adjustValueChanged(AdjustmentEvent e) { sliderValue = slider.getValue ( ); repaint ( ); }

17 New stuff NOT really a lot this time Class WindowBlind is just another name we made up could have been aardvark but WindowBlind seems a better name Other methods standard ones NOT new Vertical not horizontal scrollbar this program The adjustmentValueChanged is the same as the old example with HORIZONTAL scrollbar

18 Adding Labels (TEXT) on the screen Import java.awt.*; import applet.Applet; import.awt.event.*; // new one here -Events public class LabelDemo extends Applet implements AdjustmentListener { private Scrollbar bar1, bar2; private in bar1Value = 0; private in bar2Value = 0;

19 Public void init ( ) { label title1, title2; // local scope title1 = new Label (“up:”); add(title1); bar1 = new Scrollbar(Scrollbar.HORIZONTAL,0,1,0,100); add(bar1); bar1.addAdjustmentListener(this);

20 title2 = new Label (“ down:”); add(title2); bar2 = new Scrollbar(Scrollbar.HORIZONTAL,0,1,0,100); add(bar2); bar2.addAdjustmentListener(this); // NOTE just copied with editor this whole slide with minor changes from last slide save keying in all again

21 // some new stuff (labels) public void paint (Graphics g) { g.drawString(“Up value is “ + barValue, 100, 100); g.drawString(“DOWN value is “ + bar2Value, 100. 150) ; } public void adjustmentValueChanged(AdjustmentEvent e) { bar1Value = bar1.getValue( ); bar2Value = bar2.getValue( ); repaint( ); } }

22 Inches to Centimeters Import java.awt.*; import applet.Applet; import.awt.event.*; // new one here -Events public class inchesToCm extends Applet implements AdjustmentListener { Private Scrollbar slider; private int sliderValue = 0;

23 public void init( ) { slider = new Scrollbar (Scrollbar.HORIZONTAL, 0,1,0, 100); add(slider); slider.addAdjustmentListener(this); } public void paint (Graphics g) { float cmEquivalent; cmEquivalent = sliderValue * 2.54f; g.drawstring(“ Inches =“+ slider.getValue + “ Cm =“ + cmEquivalent, 100, 100); }

24 public void adjustmentValueChanged(AdjustmentEvent e) { sliderValue = (float) slider.getValue( ) / 10; repaint ( ); }

25 Import java.awt.*; import applet.Applet; import.awt.event.*; // new one here -Events public class ScrollbarValues extends Applet implements AdjustmentListener { Private Scrollbar slider; private int currentX = 1; private int currentY = 5;

26 Public void init( ) { slider = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 100); add(slider); slider.addAdjustmentValueChanged(AdjustmentEvent e) Graphics g = getGraphics( ); currentX = slider.getValue( ); g.drawLine( 0, currentY, currentX, currentY); currentY = currentY + 5; }


Download ppt "Events Chapter Six. Old (procedural) vs. OOPS Programs §OOPS programs react to the users demands §Anytime/anyplace §EVENT = “An Action taken by a user”"

Similar presentations


Ads by Google