|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 1218
|
[Java] help disegnare rettangolo
ragazzi devo disegnare un rettangolo all'interno di una finestre con uno smile....
per adesso ho fatto la finestra con lo smile: Codice:
package javaapplication2; import javax.swing.JFrame; import javax.swing.*; import java.awt.*; import javax.swing.JFrame; public class Main { public static void main(String[] args) { JFrame finestra = new JFrame(); Tela pannello = new Tela(); finestra.add(pannello); finestra.setSize(600,300); finestra.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); finestra.setVisible(true); } } Codice:
package javaapplication2; import java.awt.*; // disegna uno smile public class Smile { //caratteristiche dell'oggetto double xs, ys; double dims; // pone lo smile nella posizione 0, 0 public Smile () { xs=0; ys=0; dims=1; } /** Costruttore , costruisce lo smile * @param x coordinata x del punto in alto a sinistra * @param y coordinata y del punto in alto a sinistra * @param dimensione dimensione del quadrato contente lo smile */ public Smile (double xp, double yp, double dimensione) { xs=xp; ys=yp; dims=dimensione; } /** rendering della faccina * Per ottenere il rendering devo * passare la ampiezza e la altezza massima * della finestra dove disegnare * * */ public void draw (int xa, int ya, Graphics g) { int x=(int) (xs * xa); int y=(int) (ys * ya); // per mantenere la faccina quadrata e magari dentro lo schermo // prendo la dimensione minima int dim= (int)(xa>ya?ya:xa); g.drawOval( x, y, dim, dim ); //faccia g.drawOval( x+dim/4, y+dim/4, dim/6, dim/4 ); //occhio sinistro g.drawOval( x+5*dim/8, y+dim/4, dim/6, dim/4 ); //occhio destro g.drawArc ( x+dim/4, y+dim/2, dim/2, dim/3, 0, -185); //bocca } /** stabilisce la posizione dello smile * @param xp coordinata x * @param yp coordinata y */ public void setPos (double xp, double yp) { xs=xp; ys=yp; } /**dimensione dello smile * @param dim dimensione della faccina */ public void setGrandezza (double dimensione) { dims=dimensione; } /** Restituisce la dimensione dello smile * @return dim grandezza dell'oggetto in pixel */ public double getGrandezza () { return dims;} } Codice:
package javaapplication2; import java.awt.Graphics; import javax.swing.JPanel; public class Tela extends JPanel { Smile Damiano; public Tela() { Damiano=new Smile(); } public void paintComponent(Graphics g) { super.paintComponent(g); int x=getWidth(); int y=getHeight(); Damiano.draw(x,y,g); } } oltre allo smile vorrei che venisse fuori un rettangolo tipo vignetta con scritto una frase...in più vorrei colorare lo smile... come si fa?? mi aiutate please???
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 1218
|
up!
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 1218
|
up please
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:01.