Källkoden för /anders.enges/java/java5.asp
<!--#include file="../inc/navstuff.asp" -->
<p> Nedan tar jag upp de vanligaste händelserna i awt. Jag tar upp en åt
gången. För varje steg är de nya raderna markerade med <b>fetstil</b>.</p>
<h4>Utgångsprogrammet</h4>
<div class="code">
import java.awt.*;<br />
import java.applet.*;<br />
<br />
<br />public class Applet1 extends Applet<br />
{<br />
  Label label1 = new Label("text för labeln");<br />
  Button button1 = new Button("text för knappen");<br />
  Checkbox check1 = new Checkbox("en checkbox");<br />
  CheckboxGroup grp = new CheckboxGroup();<br />
  Checkbox check2 = new Checkbox("ett",grp,false);<br />
  Checkbox check3 = new Checkbox("två",grp,true);<br />
  Choice choice1 = new Choice();<br />
  List list1 = new List();<br />
  TextField text1 = new TextField("skriv här");<br />
  TextArea area1 = new TextArea("text", 10,30);<br />

  public void init()<br />
  {<br />
     this.add(label1);<br />
     this.add(button1);<br />
     this.add(check1);<br />
     this.add(check2);<br />
     this.add(check3);<br />
     this.add(choice1);<br />
     choice1.add("en rad");<br />
     choice1.add("en till rad");<br />
     choice1.add("en tredje rad");<br />
     this.add(list1);<br />
     list1.add("en rad");<br />
     list1.add("en till rad");<br />
     list1.add("en tredje rad");<br />
     this.add(text1);<br />
     this.add(area1);<br />
  }<br />
}<br />
</div>
<p>Resultat:</p>
<applet code=Applet8.class name=Applet8 width=300 height=300>
</applet>

<h4>Klick för knappar</h4>
<div class="code">
import java.awt.*;<br />
import java.applet.*;<br />
<b>import java.awt.event.*;</b><br />

<br />
<br />public class Applet1 extends Applet <b>implements ActionListener</b><br />
{<br />
  Label label1 = new Label("text för labeln");<br />
  Button button1 = new Button("text för knappen");<br />
  Checkbox check1 = new Checkbox("en checkbox");<br />
  CheckboxGroup grp = new CheckboxGroup();<br />
  Checkbox check2 = new Checkbox("ett",grp,false);<br />
  Checkbox check3 = new Checkbox("två",grp,true);<br />
  Choice choice1 = new Choice();<br />
  List list1 = new List();<br />
  TextField text1 = new TextField("skriv här");<br />
  TextArea area1 = new TextArea("text", 10,30);<br />
<br />
  <b>public void actionPerformed(ActionEvent e)<br />
  {<br />
    if (e.getSource() == button1)<br />
    {<br />
      // gör något<br />
      label1.setText("HEPP");<br />
    }<br />
  }<br /></b>
<br />
  public void init()<br />
  {<br />
     this.add(label1);<br />
     this.add(button1);<br />
     this.add(check1);<br />
     this.add(check2);<br />
     this.add(check3);<br />
     this.add(choice1);<br />
     choice1.add("en rad");<br />
     choice1.add("en till rad");<br />
     choice1.add("en tredje rad");<br />
     this.add(list1);<br />
     list1.add("en rad");<br />
     list1.add("en till rad");<br />
     list1.add("en tredje rad");<br />
     this.add(text1);<br />
     this.add(area1);<br />
     this.add(area1);<br />
     <b>button1.addActionListener( this );</b><br />
  }<br />
}<br />
</div>
<p>Resultat:</p>
<applet code=Applet9.class name=Applet9 width=300 height=300>
</applet>

<h4>Händelser för Choice, List, Checkbox mm</h4>
<div class="code">
import java.awt.*;<br />
import java.applet.*;<br />
<b>import java.awt.event.*;</b><br />

<br />
<br />public class Applet1 extends Applet <b>implements ItemListener</b><br />
{<br />
  Label label1 = new Label("text för labeln");<br />
  Button button1 = new Button("text för knappen");<br />
  Checkbox check1 = new Checkbox("en checkbox");<br />
  CheckboxGroup grp = new CheckboxGroup();<br />
  Checkbox check2 = new Checkbox("ett",grp,false);<br />
  Checkbox check3 = new Checkbox("två",grp,true);<br />
  Choice choice1 = new Choice();<br />
  List list1 = new List();<br />
  TextField text1 = new TextField("skriv här");<br />
  TextArea area1 = new TextArea("text", 10,30);<br />
<br />
  <b>public void itemStateChanged(ItemEvent e)<br />
  {<br />
    if (e.getSource() == choice1)<br />
    {<br />
      area1.setText("choice1: " + choice1.getSelectedItem());<br />
    }<br />
    if (e.getSource() == check1)<br />
    {<br />
      area1.setText("check1: " + check1.getState());<br />
    } <br />
  }</b><br />
<br />

  public void init()<br />
  {<br />
     this.add(label1);<br />
     this.add(button1);<br />
     this.add(check1);<br />
     this.add(check2);<br />
     this.add(check3);<br />
     this.add(choice1);<br />
     choice1.add("en rad");<br />
     choice1.add("en till rad");<br />
     choice1.add("en tredje rad");<br />
     this.add(list1);<br />
     list1.add("en rad");<br />
     list1.add("en till rad");<br />
     list1.add("en tredje rad");<br />
     this.add(text1);<br />
     this.add(area1);<br />
     this.add(area1);<br />
     <b>choice1.addItemListener( this );</b><br />
     <b>check1.addItemListener( this );</b><br />

  }<br />
}<br />
</div>
<p>Resultat:</p>
<applet code=Applet10.class name=Applet10 width=300 height=300>
</applet>


<h4>Händelser för TextField och TextArea</h4>
<div class="code">
import java.awt.*;<br />
import java.applet.*;<br />
<b>import java.awt.event.*;</b><br />

<br />
<br />public class Applet1 extends Applet <b>implements TextListener</b><br />
{<br />
  Label label1 = new Label("text för labeln");<br />
  Button button1 = new Button("text för knappen");<br />
  Checkbox check1 = new Checkbox("en checkbox");<br />
  CheckboxGroup grp = new CheckboxGroup();<br />
  Checkbox check2 = new Checkbox("ett",grp,false);<br />
  Checkbox check3 = new Checkbox("två",grp,true);<br />
  Choice choice1 = new Choice();<br />
  List list1 = new List();<br />
  TextField text1 = new TextField("skriv här");<br />
  TextArea area1 = new TextArea("text", 10,30);<br />
<br />
  <b>public void textValueChanged(TextEvent e)<br />
  {<br />
    if (e.getSource() == text1)<br />
    {<br />
      area1.setText("text1: " + text1.getText());<br />
    }<br />
  }</b><br />
<br />

  public void init()<br />
  {<br />
     this.add(label1);<br />
     this.add(button1);<br />
     this.add(check1);<br />
     this.add(check2);<br />
     this.add(check3);<br />
     this.add(choice1);<br />
     choice1.add("en rad");<br />
     choice1.add("en till rad");<br />
     choice1.add("en tredje rad");<br />
     this.add(list1);<br />
     list1.add("en rad");<br />
     list1.add("en till rad");<br />
     list1.add("en tredje rad");<br />
     this.add(text1);<br />
     this.add(area1);<br />
     this.add(area1);<br />
     <b>text1.addTextListener( this );</b><br />
  }<br />
}<br />
</div>
<p>Resultat:</p>
<applet code=Applet11.class name=Applet11 width=300 height=300>
</applet>

<h4>Flera olika händelser i samma program</h4>
<div class="code">
import java.awt.*;<br />
import java.applet.*;<br />
<b>import java.awt.event.*;</b><br />

<br />
<br />public class Applet1 extends Applet <b>implements ActionListener, ItemListener, TextListener</b><br />
{<br />
  Label label1 = new Label("text för labeln");<br />
  Button button1 = new Button("text för knappen");<br />
  Checkbox check1 = new Checkbox("en checkbox");<br />
  CheckboxGroup grp = new CheckboxGroup();<br />
  Checkbox check2 = new Checkbox("ett",grp,false);<br />
  Checkbox check3 = new Checkbox("två",grp,true);<br />
  Choice choice1 = new Choice();<br />
  List list1 = new List();<br />
  TextField text1 = new TextField("skriv här");<br />
  TextArea area1 = new TextArea("text", 10,30);<br />
<br />
  <b>public void actionPerformed(ActionEvent e)<br />
  {<br />
    if (e.getSource() == button1)<br />
    {<br />
      // gör något<br />
      label1.setText("HEPP");<br />
    }<br />
  }<br /></b>
<br />
  <b>public void itemStateChanged(ItemEvent e)<br />
  {<br />
    if (e.getSource() == choice1)<br />
    {<br />
      area1.setText("choice1: " + choice1.getSelectedItem());<br />
    }<br />
    if (e.getSource() == check1)<br />
    {<br />
      area1.setText("check1: " + check1.getState());<br />
    } <br />
  }</b><br />
<br />
  <b>public void textValueChanged(TextEvent e)<br />
  {<br />
    if (e.getSource() == text1)<br />
    {<br />
      area1.setText("text1: " + text1.getText());<br />
    }<br />
  }</b><br />
<br />

  public void init()<br />
  {<br />
     this.add(label1);<br />
     this.add(button1);<br />
     this.add(check1);<br />
     this.add(check2);<br />
     this.add(check3);<br />
     this.add(choice1);<br />
     choice1.add("en rad");<br />
     choice1.add("en till rad");<br />
     choice1.add("en tredje rad");<br />
     this.add(list1);<br />
     list1.add("en rad");<br />
     list1.add("en till rad");<br />
     list1.add("en tredje rad");<br />
     this.add(text1);<br />
     this.add(area1);<br />
     this.add(area1);<br />
<br />
     <b>button1.addActionListener( this );</b><br />
     <b>choice1.addItemListener( this );</b><br />
     <b>check1.addItemListener( this );</b><br />
     <b>text1.addTextListener( this );</b><br />
<br />
  }<br />
}<br />
</div>
<p>Resultat:</p>
<applet code=Applet12.class name=Applet12 width=300 height=300>
</applet>
<h4>Glömde du inte Scrollbar?</h4>
<p>Jag överlåter åt er att själva lista ut hur man fångar upp "scrollhändelser" för en scrollbar. Det är
en variant på samma tema, och allt finns beskrivet i hjälpen.</p>


<h4>Värdena på de olika kontrollerna</h4>
<p>I senare skede måste vi säkert kunna både kontrollera och sätta värdena för de olika komponenterna.
Nedan har jag satt ut de vanligaste metoderna för kontrollerna</p>

<table border="1">
<tr><td><b>Klass</b></td><td><b>Sätta värde</b></td><td><b>Få värde</b></td><td><b>Datatyp</b></td></tr>
<tr><td>Label</td><td><i>label</i>.setText(<i>texten</i>)</td><td><i>label</i>.getText()</td><td>String</td></tr>
<tr><td>Button</td><td><i>button</i>.setText(<i>texten</i>)</td><td><i>button</i>.getText()</td><td>String</td></tr>
<tr><td>Checkbox</td><td><i>checkbox</i>.setState(<i>boolean</i>)</td><td><i>checkbox</i>.getState()</td><td>boolean</td></tr>
<tr><td>Choice</td><td><i>choice</i>.select(<i>int eller String</i>)</td><td><i>checkbox</i>.getSelectedItem()</td><td>String</td></tr>
<tr><td>List</td><td colspan="3">Som Choice</td></tr>
<tr><td>Choice</td><td><i>choice</i>.select(<i>int eller String</i>)</td><td><i>checkbox</i>.getSelectedItem()</td><td>String</td></tr>
<tr><td>TextField</td><td><i>text</i>.setText(<i>texten</i>)</td><td><i>text</i>.getText()</td><td>String</td></tr>
<tr><td>TextArea</td><td><i>text</i>.setText(<i>texten</i>)</td><td><i>text</i>.getText()</td><td>String</td></tr>
<tr><td>Scrollbar</td><td><i>scroll</i>.setValue(<i>int</i>)</td><td><i>scroll</i>.getValue()</td><td>int</td></tr>
</table>

<!--#include file="../inc/footer.asp" -->