Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
HONOR Magic V6 è arrivato in Italia a 2.299,90 euro con una promessa precisa: unire 4 mm di spessore da aperto (8,75 mm chiuso nel modello White, 9 mm negli altri colori) a una batteria da 6.660 mAh, la più capiente mai vista su un pieghevole. Lo abbiamo usato per oltre una settimana in versione Red 16/512 GB per capire se lo Snapdragon 8 Elite Gen 5 tiene testa alla concorrenza anche fuori dai benchmark ufficiali
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7 punta su un display ampio e fluido, una batteria capace di accompagnare l'uso quotidiano senza ansie da ricarica e un prezzo accessibile, a partire da 179,90 euro per la versione con 64 GB di storage. Lo Snapdragon 6s 4G Gen 2 e i 4 GB di RAM della configurazione più diffusa frenano però chi cerca reattività e multitasking spinto: ecco il bilancio dopo due settimane di prova diretta
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-03-2008, 16:12   #1
IspiCiosa
Senior Member
 
Iscritto dal: Dec 2004
Messaggi: 1218
[JAVA] Help disegnare poligono scritta e smile colorati

cliccate qui

ragazzi devo fare il secondo esercizio...

quello dello smile...

aiutatemi
ora io sono riuscito a disegnare lo smile ma non capisco come fare per colorarlo e per fare il poligono con la scritta...
come cavolo si fa??

questo è il codice che ho fatto fin ora:
main:

Codice:
package javaapplication2;
        
        import javax.swing.JFrame;    
        import javax.swing.*; 
        import java.awt.*;
        
        import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Graphics;
import java.awt.Color;
        

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

}
    }
classe smile:

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


    }
classe tela:

Codice:
package javaapplication2;


import java.awt.Graphics;
import javax.swing.JPanel;
import java.awt.*;

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

    }
}
come mi devo comportare ora per fare il resto??
__________________
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.
IspiCiosa è offline   Rispondi citando il messaggio o parte di esso
Old 17-03-2008, 17:01   #2
IspiCiosa
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.
IspiCiosa è offline   Rispondi citando il messaggio o parte di esso
Old 18-03-2008, 20:34   #3
IspiCiosa
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.
IspiCiosa è offline   Rispondi citando il messaggio o parte di esso
Old 19-03-2008, 08:13   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Non so se devi fare le classi esattamente in quel modo ma io personalmente farei 1 sola classe che estende JPanel e che si occupa di realizzare l'intero disegno. Poi a quel punto basta solo usare le API di Java 2D per visualizzare linee, cerchi, testo, ecc....

Domanda: il disegno deve essere di dimensione prefissata o deve potersi ridimensionare in base alla dimensione del contenitore??
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
HP blocca anche le cartucce di inchiostr...
Acquisizione Apple: SigScalr chiude, gli...
Cooler Master HAF II 500 integra le vent...
I musulmani non dovrebbero usare le crip...
AMD Radeon 9000 pronte a sorpassare le N...
Soulframe, il nuovo gameplay chiarisce m...
La Commissione UE presenterà una ...
Niente più eliche: con due ali, i...
Waze si aggiorna con nuove funzioni IA: ...
Oltre 200 economisti ed esperti di IA la...
I migliori produttori del 2026? Facci sa...
Claude Code consuma fino a 33 mila token...
Si chiama Starfire il chip con cui Intel...
Chrome espone l'OS reale dietro ogni ric...
Intel investe altri 5 miliardi di euro p...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 06:01.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v