SPRAWOZDANIE z labolatorium 6 - kartka świąteczna
Tatar gr. 22_1
1)Kod programu:
package KartkaPack;
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.util.*;
public class KartkaClass extends Applet implements MouseListener, MouseMotionListener{
int i=0;
Font a = new Font ("Monospaced", Font.ITALIC, 30);
public void init(){
setSize(500,600);
// Dimension appletSize = this.getSize();
// int x=appletSize.width;
// System.out.println(x);
addMouseListener(this);
addMouseMotionListener(this);
Timer Timer1=new Timer();
Task1 T1= new Task1();
T1.g =getGraphics();
Timer1.schedule(T1,0,1000);
Timer Timer2=new Timer();
Task2 T2= new Task2();
T2.g =getGraphics();
Timer2.schedule(T2,500,1000);
}
public void paint(Graphics g){
setBackground(Color.green);
}
public void menu2() {
Graphics g=getGraphics();
g.setColor(Color.yellow);
g.fillRect(0, 150, 100, 50);
g.setColor(Color.blue);
g.drawString("Życzenia", 20, 179);
}
public void zyczenia() {
int y=250;
Graphics g=getGraphics();
g.setColor(Color.green);
g.fillRect(140,100, 500,500);
g.setColor(Color.blue);
g.setFont(a);
g.drawString("Najlepsze", 190, y);
g.drawString("życzenia", 190, y+30);
g.drawString("Bożonarodzeniowe", 190, y+60);
g.drawString("i Noworoczne!", 190, y+90);
}
public void obrazek() {
Graphics g=getGraphics();
Graphics2D g2= (Graphics2D) g;
g2.setStroke(new BasicStroke(3));
g.setColor(Color.green);
g.fillRect(140,100, 500,500);
g.setColor(Color.blue);
g.drawLine(310, 150, 260, 220);
g.drawLine(310, 150, 360, 220);
g.drawLine(260, 220, 290, 220);
g.drawLine(330, 220, 360, 220);
g.drawLine(290, 220, 190, 330);
g.drawLine(330, 220, 430, 330);
g.drawLine(270, 330, 190, 330);
g.drawLine(340, 330, 430, 330);
g.drawLine(270, 330, 140, 500);
g.drawLine(340, 330, 480, 500);
g.drawLine(260, 500, 140, 500);
g.drawLine(360, 500, 480, 500);
g.setColor(Color.black);
g.fillRect(260,500, 100,50);
}
public void menu3() {
Graphics g=getGraphics();
g.setColor(Color.yellow);
g.fillRect(0, 250, 140, 50);
g.setColor(Color.blue);
g.drawString("Obrazek", 20, 279);
}
public void menu1() {
Graphics g=getGraphics();
g.setColor(Color.orange);
g.fillRect(0, 150, 100, 50);
g.setColor(Color.red);
g.drawString("Życzenia", 20, 179);
g.setColor(Color.orange);
g.fillRect(0, 250, 140, 50);
g.setColor(Color.red);
g.drawString("Obrazek", 20, 279);
}
public class Task1 extends TimerTask{
Graphics g;
public void run(){
g.setColor(Color.blue);
g.fillRect(0, 0, 500, 70);
g.setColor(Color.red);
g.setFont(a);
g.drawString("WESOŁYCH ŚWIĄT", 130, 45);
}}
public class Task2 extends TimerTask{
Graphics g;
public void run(){
g.setColor(Color.YELLOW);
g.fillRect(0, 0, 500, 70);
g.setColor(Color.red);
g.setFont(a);
g.drawString("WESOŁYCH ŚWIĄT", 130, 45);
}}
@Override
public void mouseDragged(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
Graphics g=getGraphics();
int x=e.getX();
int y=e.getY();
if(y<200)
{
if(y>150)
{
if(x<100)
{
menu2();
}
else
{
menu1();
}
}
else
{
menu1();
}
}
else
{
if(y<300)
{
if(y>250)
{
if(x<150)
{
menu3();
}
else
{
menu1();
}
}
else
{
menu1();
}
}
else
{
menu1();
}
}
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
int x=e.getX();
int y=e.getY();
if(y<200)
{
if(y>150)
{
if(x<100)
{
zyczenia();
}
else
{
menu1();
}
}
else
{
menu1();
}
}
else
{
if(y<300)
{
if(y>250)
{
if(x<150)
{
obrazek();
}
else
{
menu1();
}
}
else
{
menu1();
}
}
else
{
menu1();
}
}
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
menu1();
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
int x=e.getX();
int y=e.getY();
if(x<100){
if(y>150){
if(y<200){
menu1();
}
}
}
}
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
}
Opis działania i użytych funkcji:
Poprzez użycie klasy Timer, napis "wesołych świąt" mruga. Dzięki użyciu interfejsów myszy, przyciski umieszczone na ekranie podświetlają się po najechaniu na nie, a przez naciśnięcie wywolują żądaną akcję. Wykorzystanie obiektów graficznych pozwala na rysowanie kształtów oraz ich kolorowanie.