Lezione 7 -
Costruzione di interfacce grafiche in Java
Tutti i programmi usati in questa lezione sono disponibili .
In questa lezione abbiamo parlato di:
Esercizio fatto nella lezione:sorgente
import java.awt.*;
import javax.swing.*;
public class Tasto extends JApplet {
Display disegno;
public void init(){
disegno = new Display();
getContentPane().add(disegno, BorderLayout.CENTER);
JButton ridisegna = new JButton("Ridisegna");
getContentPane().add(ridisegna, BorderLayout.SOUTH);
}
class Display extends JPanel {
public void paintComponent(Graphics g){
super.paintComponent(g);
g.drawString("CiaoATutti",5,25);
}
}
}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Tasto1 extends JApplet implements ActionListener {
Display disegno;
Color c;
public void init(){
disegno = new Display();
getContentPane().add(disegno, BorderLayout.CENTER);
JButton ridisegna = new JButton("Ridisegna");
ridisegna.addActionListener(this);
getContentPane().add(ridisegna, BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent evt) {
c= new Color((int)(Math.random()*256),(int)(Math.random()*256),(int)(Math.random()*256));
disegno.repaint();
}
class Display extends JPanel {
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(c);
g.drawString("CiaoATutti",5,25);
}
}
}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Tasto2 extends JApplet implements ActionListener {
Display disegno;
Color c;
JButton cancella,ridisegna;
boolean cancellaDisegno;
public void init(){
disegno = new Display();
cancellaDisegno=false;
getContentPane().add(disegno, BorderLayout.CENTER);
ridisegna = new JButton("Ridisegna");
ridisegna.addActionListener(this);
cancella = new JButton("Cancella");
cancella.addActionListener(this);
getContentPane().add(ridisegna, BorderLayout.SOUTH);
getContentPane().add(cancella, BorderLayout.NORTH);
}
public void actionPerformed(ActionEvent evt) {
if(evt.getSource()==ridisegna) {
c= new Color((int)(Math.random()*256),(int)(Math.random()*256),(int)(Math.random()*256));
disegno.repaint();
} else {
cancellaDisegno=true;
disegno.repaint();
}
}
class Display extends JPanel {
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(c);
if(!cancellaDisegno)g.drawString("CiaoATutti",5,25);
else cancellaDisegno=false;
}
}
}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Tasto3 extends JApplet implements ActionListener {
Display disegno;
Color c;
JButton cancella,rosso,verde,blu;
JPanel b;
boolean cancellaDisegno;
public void init(){
disegno = new Display();
cancellaDisegno=false;
getContentPane().add(disegno, BorderLayout.CENTER);
b = new JPanel();
rosso = new JButton("Rosso");
rosso.addActionListener(this);
b.add(rosso);
verde = new JButton("Verde");
verde.addActionListener(this);
b.add(verde);
blu = new JButton("Blu");
blu.addActionListener(this);
b.add(blu);
getContentPane().add(b, BorderLayout.SOUTH);
cancella = new JButton("Cancella");
cancella.addActionListener(this);
getContentPane().add(cancella, BorderLayout.NORTH);
}
public void actionPerformed(ActionEvent evt) {
if(evt.getSource()==cancella){
cancellaDisegno=true;
disegno.repaint();
} else {
if(evt.getSource()==verde)c=Color.green;
if(evt.getSource()==rosso)c=Color.red;
if(evt.getSource()==blu)c=Color.blue;
disegno.repaint();
}
}
class Display extends JPanel {
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(c);
if(!cancellaDisegno)g.drawString("CiaoATutti",5,25);
else cancellaDisegno=false;
}
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Mouse extends JApplet {
Display disegno;
public void init(){
disegno = new Display();
getContentPane().add(disegno, BorderLayout.CENTER);
}
class Display extends JPanel implements MouseListener{
int x,y;
boolean inizio;
int lunghezza,larghezza;
Display(){
addMouseListener(this);
inizio=true;
}
public void mousePressed(MouseEvent evt) {
inizio = false;
x = evt.getX(); // x-coordinate where user clicked.
y = evt.getY();
repaint();
}
public void mouseEntered(MouseEvent evt) { }
public void mouseExited(MouseEvent evt) { }
public void mouseClicked(MouseEvent evt) { }
public void mouseReleased(MouseEvent evt) { }
public void paintComponent(Graphics g){
if(inizio){
larghezza=getSize().width;
lunghezza=getSize().height;
g.setColor(Color.black);
g.fillRect(0,0,larghezza,lunghezza);
} else {
g.setColor(Color.red);
g.fillRect(x,y,10,10);
}
}
}
}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Tasto4 extends JApplet implements ActionListener,MouseMotionListener {
Display disegno;
Color c;
JButton cancella,rosso,verde,blu;
JPanel b;
boolean cancellaDisegno;
int x,y;
int lunghezza,larghezza;
public void init(){
disegno = new Display(this);
cancellaDisegno=false;
getContentPane().add(disegno, BorderLayout.CENTER);
b = new JPanel();
rosso = new JButton("Rosso");
rosso.addActionListener(this);
b.add(rosso);
verde = new JButton("Verde");
verde.addActionListener(this);
b.add(verde);
blu = new JButton("Blu");
blu.addActionListener(this);
b.add(blu);
getContentPane().add(b, BorderLayout.SOUTH);
cancella = new JButton("Cancella");
cancella.addActionListener(this);
getContentPane().add(cancella, BorderLayout.NORTH);
}
public void actionPerformed(ActionEvent evt) {
if(evt.getSource()==cancella){
cancellaDisegno=true;
disegno.repaint();
} else {
if(evt.getSource()==verde)c=Color.green;
if(evt.getSource()==rosso)c=Color.red;
if(evt.getSource()==blu)c=Color.blue;
cancellaDisegno = true;
disegno.repaint();
}
}
public void mouseDragged(MouseEvent evt) {
x = evt.getX(); // x-coordinate where user clicked.
y = evt.getY();
disegno.repaint();
}
public void mouseMoved(MouseEvent evt) { }
class Display extends JPanel {
Tasto4 t;
Display(Tasto4 t1){
t=t1;
addMouseMotionListener(t);
}
public void paintComponent(Graphics g){
g.setColor(c);
if(!t.cancellaDisegno) {
g.setColor(t.c);
g.fillRect(t.x,t.y,1,1);
} else {
t.cancellaDisegno=false;
t.larghezza=getSize().width;
t.lunghezza=getSize().height;
g.setColor(Color.black);
g.fillRect(0,0,t.larghezza,t.lunghezza);
}
}
}
}