JAVA vizsgafeladat B csoport

Előző téma megtekintése Következő téma megtekintése Go down

JAVA vizsgafeladat B csoport

Témanyitás  bk on 2009-06-07, 07:16

Kód:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class vizsga {
  public static void main (String args[]) {
    new Jel ();
  }
}

class Jel extends JFrame implements ActionListener {
  private Container cp = getContentPane(); //visszaadja a keret tartalompaneljet (JFrame osztaly)
  private Toolkit tk = Toolkit.getDefaultToolkit(); //Toolkit osztaly, kornyezetfuggo metodusok kepernyokezeleshez, nyomtatashoz
  private JPanel jpC;
  private JelPanel jpDraw;
  private JButton btStart, btStop, btReset, btExit;
  private Timer timer;
  private int mx, my, ido = 0, delay = 50, melyik = 0;

  public Jel() {
    setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); // mi tortenjen, ha megprobaljuk becsukni a keretet (JFrame)

    setBounds(100, 100, 800, 500);
    setTitle("B csoport - Bojtos Károly");

    //a rajzpanel
    jpDraw = new JelPanel();
    cp.add(jpDraw);

    //a vezerlopanel
    jpC = new JPanel(new FlowLayout());
    jpC.add(btStart = new JButton("Start"));
    jpC.add(btStop = new JButton("Stop"));
    jpC.add(btReset = new JButton("Reset"));
    jpC.add(btExit = new JButton("Exit"));
    cp.add(jpC, "North");

    btStart.addActionListener(this);
    btStop.addActionListener(this);
    btReset.addActionListener(this);
    btExit.addActionListener(this);

    show();

    timer = new Timer(delay, this);
    timer.start();
  }

  public void actionPerformed(ActionEvent ev) {
    if (ev.getSource() == timer) {
      ido++;
      jpDraw.myDraw();
    }
    if (ev.getSource() == btExit) {
      timer.stop();
      System.exit(0);
    }
    if (ev.getSource() == btStart) timer.start();
    if (ev.getSource() == btStop) timer.stop();
    if (ev.getSource() == btReset) jpDraw.Resetelek();
  }

  class JelPanel
      extends JPanel implements MouseMotionListener {
    int drawX, drawX2, drawY, drawY2, mxD, myD;
    Color bgColor = new Color(0, 0, 0);
    Color grColor = new Color(200, 0, 0);
    Color drColor = new Color(255, 255, 0);

    public JelPanel() {
      addMouseMotionListener(this);
    }

    public void Resetelek() {
      repaint();
    }

    protected void paintComponent(Graphics g) {
      super.paintComponent(g);

      int j, k;
      mxD = getWidth();
      myD = getHeight();
      setBackground(bgColor);

      g.setColor(grColor);
      for (j = 0; j < mxD; j += 5)
        for (k = 0; k < myD; k += 5)
          g.drawLine(j, k, j, k);
      for (j = 0; j < mxD; j += 50) g.drawLine(j, 0, j, myD);
      for (j = 0; j < myD; j += 50) g.drawLine(0, j, mxD, j);

      drawY = drawY2 = myD / 2;
      drawX = drawX2 = 0;
    }

    public void myDraw() {
      Graphics g = getGraphics();
      g.setColor(drColor);
      g.drawLine(drawX, drawY, drawX2, drawY2);
      drawX = drawX2++;
      drawY = drawY2;
      if (drawX2 >= mxD) repaint();
    }

    public void mouseMoved(MouseEvent e) {
      if (e.getY() > drawY2)++drawY2;
      else--drawY2;
    }

    public void mouseDragged(MouseEvent e) {}
  }
}

bk

Hozzászólások száma : 22
Registration date : 2008. Oct. 14.

Felhasználó profiljának megtekintése

Vissza az elejére Go down

Előző téma megtekintése Következő téma megtekintése Vissza az elejére


 
Permissions in this forum:
Nem válaszolhatsz egy témára ebben a fórumban.