PDA

View Full Version : [Java] help disegnare rettangolo


IspiCiosa
14-03-2008, 22:53
ragazzi devo disegnare un rettangolo all'interno di una finestre con uno smile....

per adesso ho fatto la finestra con lo smile:


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);


}

}






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;}

}



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);

}
}



chi mi dą una mano??

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???

IspiCiosa
15-03-2008, 09:17
up!

IspiCiosa
16-03-2008, 14:09
up please