Java Faccina.. Newbie..

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Quasar88
Prode Principiante
Messaggi: 98
Iscrizione: lunedì 28 aprile 2008, 10:06

Java Faccina.. Newbie..

Messaggio da Quasar88 »

Ciao a tt..

Ho appena cominciato il corso java.. Vengo dal linguaggio C..

Ho da fare questo esecizio:
http://www.dsi.unive.it/~mp/esercizi.html

Ora nn vi chiedo di darmi la soluzione.. X il disegno della faccina ci sto mettendo una vita.. Per farlo disegno cerchi per la faccia e gli occhi rettangolo x il fumetto e un triangolo sempre per il fumetto..
Sto diventando pazzo per raggruppare le figure cn le coordinate in modo da fare venire fuori stà faccina..

Ecco il mio codice:

import javax.swing.*;
import java.awt.*;
import java.awt.geom.Ellipse2D;

class Face extends JComponent {
public void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;

Ellipse2D.Double face = new Ellipse2D.Double(100,100,100,100);
g2.setColor(Color.YELLOW);
g2.fill(face);
g2.draw(face);

Ellipse2D.Double eyes = new Ellipse2D.Double(130,130,10,10);
g2.draw(eyes);
g2.setColor(Color.BLUE);
g2.fill(eyes);
g2.translate(40,0);
g2.fill(eyes);
g2.draw(eyes);

Rectangle r = new Rectangle(180,80,100,50);
g2.draw(r);
g2.setColor(Color.RED);
g2.fill(r);


}
}

class Smile {
public static void main(String[] args) {
JFrame frame = new JFrame();

frame.setSize(400,400);
frame.setTitle("Cerchio");;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Face f = new Face();
frame.add(f);
frame.setVisible(true);

}
}

E' incompleto.. Ho capito xò cm si fà ma è da impazzire. esiste qualke altro modo più veloce per farlo almeno per trovare prima le coordinate..?
O x fare i bordi..

Grazie
Avatar utente
369
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3452
Iscrizione: giovedì 5 luglio 2007, 15:02
Località: Napoli
Contatti:

Re: Java Faccina.. Newbie..

Messaggio da 369 »

Non è che devi semplicemente aprire l'immagine della faccina? Io non lo vedo specificato...anche se è un pò troppo facile (rotfl)
Quasar88
Prode Principiante
Messaggi: 98
Iscrizione: lunedì 28 aprile 2008, 10:06

Re: Java Faccina.. Newbie..

Messaggio da Quasar88 »

369 ha scritto: Non è che devi semplicemente aprire l'immagine della faccina? Io non lo vedo specificato...anche se è un pò troppo facile (rotfl)
L'ho pensato anch'io a parte ke nn lo saprei ancora fare.. Xò dice "è disegnata una smiley".. Quindi immagino ke debba crearla.. Qualke consiglio per farlo..??

I bordi cm diavolo si fanno agli oggetti..?? IO ho fatto un cerchio blu grande e uno giallo sopra:-D..
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: Java Faccina.. Newbie..

Messaggio da Zoff »

Quasar88 ha scritto:
369 ha scritto: Non è che devi semplicemente aprire l'immagine della faccina? Io non lo vedo specificato...anche se è un pò troppo facile (rotfl)
L'ho pensato anch'io a parte ke nn lo saprei ancora fare.. Xò dice "è disegnata una smiley".. Quindi immagino ke debba crearla.. Qualke consiglio per farlo..??

I bordi cm diavolo si fanno agli oggetti..?? IO ho fatto un cerchio blu grande e uno giallo sopra:-D..
Non ricordo che ci siano metodi particolari per i bordi ma puoi benissimo far eil bordo di un cerchio con una circonferenza...

Disegni il cerchio con drawFillOval() e il bordo con drawOval()....

Bello come esercizio se la devi disegnare d acodice, o meglio, più che bello simpatico :D
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Quasar88
Prode Principiante
Messaggi: 98
Iscrizione: lunedì 28 aprile 2008, 10:06

Re: Java Faccina.. Newbie..

Messaggio da Quasar88 »

Zoff ha scritto:
Quasar88 ha scritto:
369 ha scritto: Non è che devi semplicemente aprire l'immagine della faccina? Io non lo vedo specificato...anche se è un pò troppo facile (rotfl)
L'ho pensato anch'io a parte ke nn lo saprei ancora fare.. Xò dice "è disegnata una smiley".. Quindi immagino ke debba crearla.. Qualke consiglio per farlo..??

I bordi cm diavolo si fanno agli oggetti..?? IO ho fatto un cerchio blu grande e uno giallo sopra:-D..
Non ricordo che ci siano metodi particolari per i bordi ma puoi benissimo far eil bordo di un cerchio con una circonferenza

...

Disegni il cerchio con drawFillOval() e il bordo con drawOval()....

Bello come esercizio se la devi disegnare d acodice, o meglio, più che bello simpatico :D

Ho capito il bordo cm circonferenza giusto..?? Speravo mi diceste un modo per calcolare bene coordinate di occhi bocca ecc.. Invece bisogna fare tt in maniera artigianaleXD
Quasar88
Prode Principiante
Messaggi: 98
Iscrizione: lunedì 28 aprile 2008, 10:06

Re: Java Faccina.. Newbie..

Messaggio da Quasar88 »

Dopo lungo bestemmiare ho finalmente finito sta faccina..

Siccome nessuno m ha saputo dire un modo più veloce(forse nn cè) ho fatto cn quello ke sapevo.. Ecco il codice completo:

import javax.swing.*;
import java.awt.*;
import java.awt.geom.Ellipse2D;
import java.awt.Polygon;

class Face extends JComponent {
public void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;

Color LIGHTBLUE = new Color(0.0F,0.4F,1.0F);
Color LIGHTORANGE = new Color(1.0F,0.7F,0.5F);
Color DARKORANGE = new Color(0.8F,0.7F,0.5F);

//bordo faccia
Ellipse2D.Double f = new Ellipse2D.Double(95,95,110,110);
g2.setColor(LIGHTBLUE);
g2.fill(f);
g2.draw(f);

//faccia
Ellipse2D.Double face = new Ellipse2D.Double(100,100,100,100);
g2.setColor(LIGHTORANGE);
g2.fill(face);
g2.draw(face);

//occhi
Ellipse2D.Double eye1 = new Ellipse2D.Double(120,130,20,20);
g2.draw(eye1);
g2.setColor(LIGHTBLUE);
g2.fill(eye1);

Ellipse2D.Double eye2 = new Ellipse2D.Double(160,130,20,20);
g2.draw(eye2);
g2.setColor(LIGHTBLUE);
g2.fill(eye2);

//pupille
Ellipse2D.Double e1 = new Ellipse2D.Double(125,135,10,10);
g2.draw(e1);
g2.setColor(DARKORANGE);
g2.fill(e1);

Ellipse2D.Double e2 = new Ellipse2D.Double(165,135,10,10);
g2.draw(e2);
g2.setColor(DARKORANGE);
g2.fill(e2);

//fumetto
Rectangle r = new Rectangle(210,70,120,50);
g2.draw(r);
g2.setColor(Color.MAGENTA);
g2.fill(r);

Polygon t = new Polygon();
t.addPoint(250,100);
t.addPoint(300,100);
t.addPoint(210,150);
g2.draw(t);
g2.setColor(Color.MAGENTA);
g2.fill(t);

//messaggio
g2.setColor(Color.WHITE);
g2.drawString("Hi There", 242, 100);
g2.setColor(Color.BLUE);
g.drawArc(125,130,50,50,220,360-260);

}
}

class Smile {
public static void main(String[] args) {
JFrame frame = new JFrame();

frame.setSize(500,500);
frame.setTitle("Cerchio");;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Face f = new Face();
frame.add(f);
frame.setVisible(true);

}
}
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti