• Nie Znaleziono Wyników

Ćwiczenie 11 sem.2

N/A
N/A
Protected

Academic year: 2021

Share "Ćwiczenie 11 sem.2"

Copied!
3
0
0

Pełen tekst

(1)

/* Ćwiczenie 11 sem.2

I. Rysowanie z wykorzystaniem interfejsu myszy

*/

import java.awt.Color;

import java.awt.Graphics;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.util.Random;

public class Mysz extends javax.swing.JFrame implements MouseListener { boolean prawy, lewy, środkowy;

Color kolor = Color.white;

Random r = new Random();

int x, y;

public Mysz() { //konstruktor klasy Mysz initComponents();

setSize(500, 500); //zmiana rozmiaru okna ramki addMouseListener(this);

}

public void paint (Graphics g) { g.setColor(kolor);

g.fillRect(0, 0, getWidth(), getHeight());

if (lewy) { // instrukcja ustawiająca kolor i rysująca koło g.setColor(Color.red);

g.fillOval(x, y, 80, 80);

}

if (prawy) { // instrukcja ustawiająca kolor i rysująca prostokąt g.setColor(Color.green);

g.fillRect(x, y, 80, 80);

}

if (środkowy) { // instrukcja ustawiająca kolor i rysująca wycinek koła g.setColor(Color.blue);

g.fillArc(x, y, 80, 80, 90, 135);

} }

public void mouseClicked(MouseEvent e) { } public void mousePressed(MouseEvent e) { x = e.getX();

y = e.getY();

lewy = e.getButton() == MouseEvent.BUTTON1; // wciśnięto lewy przycisk myszy prawy = e.getButton() == MouseEvent.BUTTON3; // wciśnięto lewy przycisk myszy środkowy = e.getButton() == MouseEvent.BUTTON2; // wciśnięto środkowy przycisk myszy if (e.isControlDown()) { //kliknięcie myszą z wciśniętym klawiszem Ctrl - kolor = new Color(r.nextInt(256), r.nextInt(256), r.nextInt(256));

}

repaint();

}

public void mouseReleased(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { }

public static void main(String args[]) { //

}}

(2)

/* Ćwiczenie 11 sem.2

II. Animacja z wykorzystaniem klasy Timer i interfejsu myszy

*/

import java.awt.Color;

import java.awt.Graphics;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.util.Random;

import javax.swing.Timer;

public class Skoczek extends javax.swing.JFrame implements ActionListener, MouseListener { Random r = new Random();

Color kolor = Color.yellow;

int x, y;

Timer timer = new Timer(500, this); // zegar tykający co 500 ms public Skoczek () { // konstruktor klasy Skoczek

initComponents();

setSize(500, 500);

setBackground(Color.white);

timer.start(); // uruchomienie zegara addMouseListener(this);

}

public void paint (Graphics g) {

g.clearRect(0, 0, getWidth(), getHeight()); //wypełnienie obszaru grafiki tłem g.translate(x, y); //przesunięcie obszaru grafiki

g.setColor(kolor);

g.fillOval(0, 0, 50, 50);

g.setColor(Color.black);

g.fillOval(10, 15, 6, 6); // oczy g.fillOval(35, 15, 6, 6);

g.drawArc(10, 10, 30, 30, -140, 110); // uśmiech }

public void actionPerformed(ActionEvent e) { x = r.nextInt(getWidth() - 60);

y = r.nextInt(getHeight() - 80);

kolor = new Color(r.nextInt(256), r.nextInt(256), r.nextInt(256));

repaint();

}

public void mouseClicked(MouseEvent e) { } public void mousePressed(MouseEvent e) { if (e.getButton() == MouseEvent.BUTTON1) { timer.start();

}

if (e.getButton() == MouseEvent.BUTTON3) { timer.stop();

} }

public void mouseReleased(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public static void main(String args[]) { }

}

(3)

/* Ćwiczenie 11 sem.2

III. Animacja poklatkowa z wykorzystaniem klasy Timer

*/

import java.awt.Color;

import java.awt.Graphics;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.ImageIcon;

import javax.swing.Timer;

public class Obrazki extends javax.swing.JFrame implements ActionListener {

ImageIcon[] rys = new ImageIcon[17]; // tablica przechowująca obrazki – klatki filmu int nr = 0; // numer wyświetlanego obrazka

Timer timer = new Timer(200, this); //zegar tykający co 200 ms public Obrazki () { // .konstruktor klasy Obrazki

initComponents();

setSize(400, 300);

setBackground(Color.white);

timer.start();

for (int n = 0; n < 17; n++) {

rys[n] = new ImageIcon("T" + (n + 1) + ".gif");

} }

public void paint (Graphics g) {

g.clearRect(0, 0, getWidth(), getHeight());

rys[nr].paintIcon(this, g, 100, 50);

}

public void actionPerformed(ActionEvent e) { nr++;

if (nr > 16) { nr = 0;

}

repaint();

}

public static void main(String args[]) { } }

Cytaty

Powiązane dokumenty

Badania prowadzone są na podstawie pomiarów XRD, wymagają kompleksowerego opracowania dyfraktogramów, w tym przeprowadzenia (w oparciu o posiadane w Pracowni XRD

Polega ona na pomiarze absorpcji promieniowania podczerwonego o różnej długości fali przez badaną próbkę znajdującą się na drodze wiązki.. Spektroskopia w podczerwieni

Praca skrzynek mieszających, przy zmienionych parametrach powietrza ciepłego:. 30

Konsekwencją proporcjonalności zmiany długości ciała do jego długości początkowej jest to, że dwie krzywe rozszerzalności przedstawione na rys.5 dotyczące wymiarów

[r]

[r]

[r]

[r]