Applet 2 container and action_listener

Preview:

DESCRIPTION

Slide Applet ชุดที่ 2 จาก อาจารย์ฝน ครับ

Citation preview

Container & ActionListener

ssc

1

Container

ใหนกศกษาสราง class แบบ Applet

ชอวา ConApplet

http://202.44.47.108/~ssc/ConApplet.html

ssc

2

import java.awt.*;import javax.swing.*;

public class ConApplet extends JApplet{ public void paint(Graphics g){ }}

ssc

3

Container

ใหแสดงชอ คณออกมา

ssc

4

import java.awt.*;import javax.swing.*;

public class ConApplet extends JApplet{ public void paint(Graphics g){ g.drawString("Supaporn Simcharoen",20,450); }}

ssc

5

Container

ใหสราง Container ขนมา

ssc

6

import java.awt.*;import javax.swing.*;

public class ConApplet extends JApplet{ public void paint(Graphics g){ g.drawString("Supaporn Simcharoen",20,450); }

public void init(){ Container c = getContentPane(); c.setLayout( new FlowLayout()); }}

ssc

7

Container

สราง JLabel ขนมา 1 JLabel

ใชขอความคาวา “Show Number”

ssc

8

import java.awt.*;import javax.swing.*;

public class ConApplet extends JApplet{

private JLabel sNumLabel; public void paint(Graphics g){

! super.paint(g); g.drawString("Supaporn Simcharoen",20,450); }

public void init(){ Container c = getContentPane(); c.setLayout( new FlowLayout());

sNumLabel = new JLabel("Show Label"); c.add(sNumLabel); }}

ssc

9

import java.awt.*;import javax.swing.*;

public class ConApplet extends JApplet{

private JLabel sNumLabel; public void paint(Graphics g){

! super.paint(g); g.drawString("Supaporn Simcharoen",20,450); }

public void init(){ Container c = getContentPane(); c.setLayout( new FlowLayout());

sNumLabel = new JLabel("Show Label"); c.add(sNumLabel); }}

ssc

ประกาศตวแปรJLabel

สรางมนขนมา

ใสมนเขาไปท Container

10

Container

สราง JTextField ขนมา 1 อน

ssc

11

import java.awt.*;import javax.swing.*;

public class ConApplet extends JApplet{ private JLabel sNumLabel;

private JTextField numField; public void paint(Graphics g){

! super.paint(g); g.drawString("Supaporn Simcharoen",20,450); } public void init(){ Container c = getContentPane(); c.setLayout( new FlowLayout()); sNumLabel = new JLabel("Show Label"); c.add(sNumLabel);

numField = new JTextField(5); c.add(numField); }}

ssc

12

import java.awt.*;import javax.swing.*;

public class ConApplet extends JApplet{ private JLabel sNumLabel;

private JTextField numField; public void paint(Graphics g){

! ... } public void init(){ Container c = getContentPane(); c.setLayout( new FlowLayout()); sNumLabel = new JLabel("Show Label"); c.add(sNumLabel);

numField = new JTextField(5); c.add(numField); }}

ssc

สรางมนขนมา

ใสมนเขาไปท Container

ประกาศตวแปรJTextField

13

Container

สราง JButton ขนมา 4 ปม โดยใหเปนปม 1 , 2, +, =, และ C

ssc

14

import java.awt.*;import javax.swing.*;

public class ConApplet extends JApplet{ private JLabel sNumLabel; private JTextField numField;

private JButton btnOne,btnTwo; : ปม 1, 2

private JButton btnAdd; : ปม +

private JButton btnAnswer; : ปม =

private JButton btnClear; : ปม C ...

sscประกาศตวแปร JButton

ทงหมด

15

... numField = new JTextField(10); c.add(numField);

btnOne = new JButton(" 1 "); c.add(btnOne); btnTwo = new JButton(" 2 "); c.add(btnTwo); btnAdd = new JButton(" + "); c.add(btnAdd); btnAnswer = new JButton(" = "); c.add(btnAnswer); btnClear = new JButton(" C "); c.add(btnClear); }}

ssc

สรางพวกมนขนมา

16

Container

เมอคลกท ปม 1

ใหเลข 1 ไปแสดงท JTextField

ssc

17

import java.awt.*;import javax.swing.*;

import java.awt.event.*;

public class ConApplet extends JApplet implements ActionListener{

... public void init(){

... }

public void actionPerformed(ActionEvent event){

}}

ssc

import packet

implements class

สราง method เพอรองรบการกระทา

18

import java.awt.*;import javax.swing.*;import java.awt.event.*;

public class ConApplet extends JApplet implements ActionListener{ ... public void init(){ ...

btnOne = new JButton(" 1 "); btnOne.addActionListener(this); c.add(btnOne); } public void actionPerformed(ActionEvent event){

}}

ssc

เพมการรองรบการกระทาทปม 1

19

import java.awt.*;import javax.swing.*;import java.awt.event.*;

public class ConApplet extends JApplet implements ActionListener{ ...

public void actionPerformed(ActionEvent event){ if (event.getSource() == btnOne){ numField.setText("1"); } repaint(); }}

ssc

setText เอาไวใชสาหรบใสคาใหกลบ textField ซงจะตองเปน String

เพมในสวนของการ check การกระทาเมอกดปม 1

20

Container เมอคลกท ปม 1 อกครง

ใหเลข 1 ไปแสดงท JTextField

ตอจากเลข 1 ตวกอนหนานได

ssc

21

Container คาใบ:

วธในการดงขอมลใน textField ใช numField.getText();

ดงออกมาแลวจะไดเปน String

วธในการตอ String ใชเครองหมาย +

ssc

22

import java.awt.*;import javax.swing.*;import java.awt.event.*;

public class ConApplet extends JApplet implements ActionListener{ ... public void actionPerformed(ActionEvent event){ if (event.getSource() == btnOne){

numField.setText(numField.getText() + "1"); } repaint(); }}

ssc

23

Container

ทาใหปมเลข 2 ทางานเหมอนปมเลข 1

ssc

24

import java.awt.*;import javax.swing.*;import java.awt.event.*;

public class ConApplet extends JApplet implements ActionListener{ ... public void init(){ ...

btnTwo = new JButton(" 2 "); btnTwo.addActionListener(this); c.add(btnTwo); } public void actionPerformed(ActionEvent event){ ... }}

ssc

เพมการรองรบการกระทาทปม 2

25

import java.awt.*;import javax.swing.*;import java.awt.event.*;

public class ConApplet extends JApplet implements ActionListener{ ...

public void actionPerformed(ActionEvent event){ ... else if (event.getSource() == btnTwo){ numField.setText(numField.getText() + "2"); } repaint(); }}

ssc

เพมในสวนของการ check การกระทาเมอกดปม 2

26

Container ใหประกาศตวแปรชนด int เปนแบบ private 3 ตวคอ num1, num2 และ ans

โดยใหคาเรมตน 3 ตวน = 0

num1 ไวเกบคาตวเลขชดแรก num2 ไวเกบคาตวเลขชดทสอง ans ไวเกบคาผลลพธ

ssc

27

import java.awt.*;import javax.swing.*;

public class ConApplet extends JApplet implements ActionListener{ private JLabel sNumLabel; private JTextField numField;

private JButton btnOne,btnTwo; : ปม 1, 2

private JButton btnAdd; : ปม +

private JButton btnAnswer; : ปม =

private JButton btnClear; : ปม C

private int ans=0,num1=0,num2=0; ...

ssc

28

Container

แสดงคาของ num1, num2 และ ans

ออกมาโดยใช g.drawString

ssc

29

import java.awt.*;import javax.swing.*;

public class ConApplet extends JApplet implements ActionListener{ ... public void paint(Graphics g){

! super.paint(g); g.drawString("Supaporn Simcharoen",20,450);

g.drawString("num1="+num1,50,300); g.drawString("num2="+num2,50,350); g.drawString("ans="+ans,50,400); } ...}

ssc

30

Container เมอคลกทปม + ใหนาคาใน textField

ไปเกบไวใน num1

วธการแปลง string เปน int

ตวแปร int = Integer.parseInt( ขอมลทเปน String );

ssc

31

import java.awt.*;import javax.swing.*;import java.awt.event.*;

public class ConApplet extends JApplet implements ActionListener{ ... public void init(){ ...

btnAdd = new JButton(" + "); btnAdd.addActionListener(this); c.add(btnAdd); } public void actionPerformed(ActionEvent event){ ... }}

ssc

เพมการรองรบการกระทาทปม +

32

import java.awt.*;import javax.swing.*;import java.awt.event.*;

public class ConApplet extends JApplet implements ActionListener{ ...

public void actionPerformed(ActionEvent event){ ... else if (event.getSource() == btnAdd){ num1 = Integer.parseInt( numField.getText() ); numField.setText(""); } repaint(); }}

ssc

เพมในสวนของการ check การกระทาเมอกดปม +

33

Container

เมอคลกทปม = ใหนาคาใน textField

ไปเกบไวใน num2

นา num1 + num2 และเกบไวใน ans

ssc

34

import java.awt.*;import javax.swing.*;import java.awt.event.*;

public class ConApplet extends JApplet implements ActionListener{ ... public void init(){ ...

btnAnswer = new JButton(" = "); btnAnswer.addActionListener(this); c.add(btnAnswer); } public void actionPerformed(ActionEvent event){ ... }}

ssc

เพมการรองรบการกระทาทปม =

35

import java.awt.*;import javax.swing.*;import java.awt.event.*;

public class ConApplet extends JApplet implements ActionListener{ ...

public void actionPerformed(ActionEvent event){ ... else if (event.getSource() == btnAnswer){ num2 = Integer.parseInt( numField.getText() ); ans = num1+num2; numField.setText(""+ans); } repaint(); }}

ssc

เพมในสวนของการ check การกระทาเมอกดปม =

36

การบาน ใหนกศกษาเพมปม 3, 4, 5, 6, 7, 8, 9, 0

และใหสามารถทางานไดดงตวอยางน

http://202.44.47.108/~ssc/ConApplet_hw.html

ssc

37

Recommended