lunedì 15 marzo 2010

Grafica in java-esercizio svolto in classe-modifica con aggiunta di "numeri"-risolto problema

Si disegnino due cerchi sovrapposti di diverso colore e dimensione e poi si faccia la costruzione dei diametri del cerchio più ampio.


import javax.swing.*;
import java.awt.*;
public class DueCerchi extends JPanel{
Color colore1=Color.YELLOW;
Color colore2=Color.RED;
public void setColore1(Color c1){
colore1=c1;
}
public void setColore2(Color c2){
colore2= c2;
}
public void paintComponent(Graphics g){
g.setColor(colore1);
g.fillOval(100,150,200,200);
//x1,y1,x2,y2
//(x,y,w,h)
g.setColor(colore2);
g.fillOval(150,200,100,100);
g.drawLine(200,350,200,150);
g.drawLine(100,250,300,250);
g.drawLine(110,300,290,200);
g.drawLine(110,200,290,300);
g.drawLine(150,160,250,340);
g.drawLine(150,340,250,160);
g.drawString("1", 210, 180);
g.drawString("2", 250, 200);
g.drawString("3", 280, 240);
g.drawString("4", 280, 280);
g.drawString("5", 250, 320);
g.drawString("6", 210, 340);
g.drawString("7", 170, 330);
g.drawString("8", 140, 310);
g.drawString("9", 110, 270);
g.drawString("10", 110, 230);
g.drawString("11", 130, 200);
g.drawString("12", 170, 180);
//(x,y,w,h)
g.setColor(colore2);
g.fillOval(150,200,100,100);

}
}



import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TestaDueCerchi {
JFrame f1=new JFrame("disegno1");
DueCerchi d1=new DueCerchi();
public TestaDueCerchi(){
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f1.add(BorderLayout.CENTER,d1);
d1.setColore1(Color.YELLOW);
d1.setColore2(Color.BLUE);
//sceglie lui le dimensioni più appropiate
f1.setSize(400,600);
f1.setVisible(true);
}
public static void main(String[]args){
TestaDueCerchi d=new TestaDueCerchi();
}
}


2 commenti:

didatticaNatalizi ha detto...

Bene. Prova a scrivere per ogni casella, così creata, un numero progressivo a partire da 1; puoi usare il comando drawstring(...)....

Luigi Marzocchella ha detto...

ok...ci proverò...caso mai chiederò chiarimenti giovedì se nn ci riuscirò.