1. Utwórz aplet i ustal rozmiar jego okna na 400 × 300.
Po naciśnięciu przycisku myszy wyświetlaj w lewym górnym rogu słowo „LEWY” lub w prawym dolnym rogu słowo „PRAWY”, zależnie od użytego przycisku. Tło okna apletu ma być szare, kolor napisu – czerwony, a czcionka - MONOSPACED 20 pt.
public class Napis extends JApplet implements MouseListener {
String s = "";
int x, y;
Font f = new Font("MONOSPACED", Font.BOLD, 20);
public void init() {
setBackground(Color.GRAY);
setSize(400, 300);
addMouseListener(this);
}
public void paint(Graphics g) {
g.clearRect(0, 0, getWidth(), getHeight());
g.setColor(Color.RED);
g.setFont(f);
if (x == getWidth()) {
x -= g.getFontMetrics().stringWidth(s);
}
g.drawString(s, x, y);
}
public void mouseClicked(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON1) {
s = "LEWY";
x = 0;
y = f.getSize();
}
if (e.getButton() == MouseEvent.BUTTON3) {
s = "PRAWY";
x = getWidth();
y = getHeight() - 5;
}
repaint();
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
}
2. Rysowanie kolorowych kółek
public class NewJApplet extends JApplet implements MouseListener {
int x0,y0, r=20;
boolean reset = true;
public void init() {
setBackground(Color.BLACK);
setSize(400,300);
addMouseListener(this);
}
public void paint(Graphics g) {
if (reset) {
g.clearRect(0, 0, getWidth(), getHeight());
} else {
g.setColor(new Color((int)(256*Math.random()), (int)(256*Math.random()), (int)(256*Math.random())));
g.fillOval(x0-r,y0-r,2*r,2*r);
g.setColor(Color.BLACK);
g.drawOval(x0-20, y0-20, 40, 40);
}
}
public void mouseClicked(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
x0 = e.getX();
y0 = e.getY();
reset = e.isAltDown();
repaint();
}
1 public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
}
3. Utwórz aplet, który co 0,5 s wyświetla w losowych miejscach okna Twoje imię. Wybierz dowolną czcionkę oraz kolory tła i napisu.
public class imie extends JApplet {
String s = "TOMECZEK";
int x,y;
Font f = new Font("MONOSPACED", Font.BOLD,20);
public void init() {
setBackground(Color.YELLOW);
setSize(500,500);
}
public void paint(Graphics g) {
g.clearRect(0,0,getWidth(),getHeight());
g.setColor(Color.RED);
g.setFont(f);
int dx = g.getFontMetrics().stringWidth(s);
int dy = g.getFontMetrics().getHeight();
int x = (int) ((getWidth() - dx) * Math.random());
int y = (int) ((getHeight() - dy) *Math.random());
g.drawString(s, x, y);
try {
Thread.sleep(500);
} catch (
InterruptedException e ) {}
repaint();
}
}
4. Utwórz aplet, który symuluje ruch koła o promieniu 5 poruszającego się wzdłuż kolejnych krawędzi okna. Ruch rozpoczyna się po kliknięciu myszka w oknie apletu. Kliknięcie myszką przy wciśniętym klawiszu <Shift> kończy ruch i umieszcza kółko w położeniu początkowym w lewym górnym rogu okna apletu.
public class zad4 extends JApplet implements MouseListener {
int x = 0;
int y = 0;
int r = 10;
int dx = 0;
int dy = 0;
boolean parkuj = true;
public void init() {
setBackground(Color.BLACK);
addMouseListener(this);
}
public void paint(Graphics g) {
g.clearRect(0,0, getWidth(), getHeight());
g.setColor(Color.RED);
g.fillOval(x, y, 10, 10);
if (!parkuj) {
if (x==0 && y==0)
{dx = 1; dy = 0;}
if (x==getWidth()-r && y==0)
{dx = 0; dy = 1;}
if (x==getWidth()-r && y==getHeight()-r)
{dx = -1; dy = 0;}
if (x==0 && y==getHeight()-r)
{ dx = 0; dy = -1;}
}
x+=dx; y+=dy;
try { Thread.sleep(10) ;
} catch ( InterruptedException e) {}
repaint();
}
public void mouseClicked(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
parkuj = e.isShiftDown();
if (parkuj) {
x=0; y=0;
}
repaint();
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
}
5. Utwórz aplet, który po kolejnych naciśnięciach lewego przycisku myszy stopniowo zamalowuje obszar okna (począwszy od lewej krawędzi) kolorowymi prostokątami o szerokości 30. Kolor każdego paska ma być losowym odcieniem zieleni. Naciśnięcie prawego przycisku powoduje wyczyszczenie okna apletu.
1public class zamaluj extends JApplet implements MouseListener {
int x = -30;
boolean stop;
public void init() {
addMouseListener(this);
}
public void paint(Graphics g) {
if (stop) {
g.clearRect(0,0,getWidth(),getHeight());
x=-30;
}
else if (x < getWidth()) {
g.setColor(new Color(0,(int)(256 * Math.random()),0 ));
g.fillRect(x,0,30,getHeight());
}
}
public void mouseClicked(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
stop = (e.getButton() != MouseEvent.BUTTON1);
repaint();
x+= 30;
}
public void mouseReleased(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
}
6. Tablica podająca liczby losowe z przedzialu.
package javaapplication1;
public class JavaApplication1 {
public static void main(String[] args) {
int[] t = new int[10];
int k = 0;
int l = 0;
int i;
String s = "";
int liczba = 0;
try {
k = Integer.parseInt(args[0]);
l = Integer.parseInt(args[1]);
} catch (NumberFormatException e) {
System.out.println("Błędny format liczby");
}
for (i = 0; i < 10; i++) {
t[i] = (int) (k + (l - k + 1) * Math.random());
System.out.println("t[" + (i + 1) + "]=" + t[i]);
}
System.out.println("Wartośc elementu minimalnego=" + minimum(t));
System.out.println("Liczba elementow wiekszych od sredniej=" + ilość(t));
}
static int minimum(int[] t) {
int s = t[1];
for (int i = 0; i < t.length; i++) {
if (t[i] < s) {
s = t[i];
}
}
return s;
}
static int ilość(int[] t) {
int s = 0;
int n = 0;
double średnia;
if (t.length > 0) {
for (int i = 0; i < t.length; i++) {
s += t[i];
}
średnia = s / t.length;
for (int i = 0; i < t.length; i++) {
if (t[i] > średnia) {
n++;
}
}
}
return n;
}
}