Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [JAVA] HELP Esercizio Esame

    Mi aiutate a sviluppare i punti di questo esercizio?

    Costruire un’applicazione che mostra una finestra (che all’inizio deve avere dimensioni
    250x250) contenente un pannello colorato, due campi di testo, due bottoni ed una label
    contenente la scritta “Chi cerca trova”.

    1) la pressione del primo bottone ha presenta la scritta “Inizia” e attiva una funzione che
    definisce in maniera random (vedere la classe java.util.Random) un punto interno al
    pannello: nel seguito questo punto verrà chiamato “bersaglio”.

    2) I click del mouse sul pannello identificano un punto. Se questo punto ha distanza dal
    bersaglio maggiore di D1 intorno al punto viene disegnato un quadratino nero.
    Se questo punto ha distanza dal bersaglio compresa tra D1 e D2 intorno al punto viene
    disegnato un quadratino verde. Se questo punto ha distanza dal bersaglio compresa tra D1
    e D2 intorno al punto viene disegnato un quadratino blu. Se questo punto ha distanza dal
    bersaglio minore di D3 intorno al punto viene disegnato un quadratino rosso, e nella label
    appare la scritta “hai vinto”.

    3) I valori di D1 e D2 vengono letti dalle due text area. All’avvio dell’applicazione D1 è
    posto a 100, D2 a 50. Quando si scrive il valore di D1 viene verificato che tale valore sia
    maggiore di D2: se non lo è viene ripristinato il valore precedente. Quando si scrive il
    valore di D2 viene verificato che tale valore sia maggiore di D3 e minore di D1: se non lo
    è viene ripristinato il valore precedente.

    4) Il valore di D3 viene richiesto tramite un Dialog Box all’avvio dell’applicazione.

    5) Il layout della struttura deve essere “liquido” ovvero permettere riaggiustamenti
    automatici di dimensione al variare della dimensione della finestra.

    6) Il secondo bottone ha la scritta “mi arrendo” disegna un cerchio viola sul punto
    bersaglio e scrive “hai perso” sulla label

    6) Il programma deve terminare quando la finestra principale viene chiusa.

    7) L’applicazione deve essere documentata tramite javadoc. La documentazione deve
    essere prodotta e consegnata.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Più che una richiesta di aiuto, sembra una richiesta di "fatemelo voi". Hai provato a scrivere del codice?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797

    Re: [JAVA] HELP Esercizio Esame

    Originariamente inviato da cagnaluia
    Mi aiutate a sviluppare i punti di questo esercizio?

    Costruire un’applicazione che mostra una finestra (che all’inizio deve avere dimensioni
    250x250) contenente un pannello colorato, due campi di testo, due bottoni ed una label
    contenente la scritta “Chi cerca trova”.

    1) la pressione del primo bottone ha presenta la scritta “Inizia” e attiva una funzione che
    definisce in maniera random (vedere la classe java.util.Random) un punto interno al
    pannello: nel seguito questo punto verrà chiamato “bersaglio”.

    2) I click del mouse sul pannello identificano un punto. Se questo punto ha distanza dal
    bersaglio maggiore di D1 intorno al punto viene disegnato un quadratino nero.
    Se questo punto ha distanza dal bersaglio compresa tra D1 e D2 intorno al punto viene
    disegnato un quadratino verde. Se questo punto ha distanza dal bersaglio compresa tra D1
    e D2 intorno al punto viene disegnato un quadratino blu. Se questo punto ha distanza dal
    bersaglio minore di D3 intorno al punto viene disegnato un quadratino rosso, e nella label
    appare la scritta “hai vinto”.

    3) I valori di D1 e D2 vengono letti dalle due text area. All’avvio dell’applicazione D1 è
    posto a 100, D2 a 50. Quando si scrive il valore di D1 viene verificato che tale valore sia
    maggiore di D2: se non lo è viene ripristinato il valore precedente. Quando si scrive il
    valore di D2 viene verificato che tale valore sia maggiore di D3 e minore di D1: se non lo
    è viene ripristinato il valore precedente.

    4) Il valore di D3 viene richiesto tramite un Dialog Box all’avvio dell’applicazione.

    5) Il layout della struttura deve essere “liquido” ovvero permettere riaggiustamenti
    automatici di dimensione al variare della dimensione della finestra.

    6) Il secondo bottone ha la scritta “mi arrendo” disegna un cerchio viola sul punto
    bersaglio e scrive “hai perso” sulla label

    6) Il programma deve terminare quando la finestra principale viene chiusa.

    7) L’applicazione deve essere documentata tramite javadoc. La documentazione deve
    essere prodotta e consegnata.
    hahaha siamo nello stesso corso ... se mi dai la mail te lo mando, l'ho fatto l'altro giorno

  4. #4
    uhahuauhhuauhhuauhauhuaaaaha.. nn so un ca@@o...




    MSN: cagnaluia@hotmail.com




    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;


    public class Finestra extends JFrame
    {
    private JTextField primo = new JTextField("");
    private JTextField secondo = new JTextField("");
    private JButton b1 = new JButton();
    private JButton b2 = new JButton();
    private JLabel etichetta = new JLabel("Chi cerca trova");
    private JPanel pannellocolorato = new JPanel();

    public Finestra()
    {
    JFrame f = new JFrame("Esercizio Esame");

    JPanel pannello1 = new JPanel();
    JPanel pannello2 = new JPanel();
    JPanel pannello3 = new JPanel();


    f.getContentPane().setLayout(new GridLayout(1,4));

    pannello1.setLayout(new GridLayout(2,1));
    pannello2.setLayout(new GridLayout(2,1));
    pannello3.setLayout(new GridLayout(1,1));

    pannello1.add(primo);
    pannello1.add(secondo);
    pannello2.add(b1);
    pannello2.add(b2);
    pannello3.add(etichetta);

    f.getContentPane().add(pannellocolorato);
    f.getContentPane().add(pannello1);
    f.getContentPane().add(pannello2);
    f.getContentPane().add(pannello3);

    f.setLocation(40,40);
    f.setSize(250,250);
    f.setDefaultCloseOperation(EXIT_ON_CLOSE);
    f.setVisible(true);


    }



    public static void main(String argv[]){

    new Finestra();

    }



    }


    questo l'ho appena fatto..

    crea la finestra.. vediamo un pò come proseguire.

    intanto mi manca il discorso COLORE..

  5. #5
    che più o meno viene così


  6. #6
    ...
    crea la finestra.. vediamo un pò come proseguire.

    intanto mi manca il discorso COLORE..

    ok, è setBackground(color.GREEN);


    passo al punto 1....

  7. #7

  8. #8
    ok.. Passando al punto 1

    dovrei associare una funzione all'evento click del bottone Inizia che definisca a random un punto interno al pannello, punto chiamato bersaglio.

    ..

    ..
    .
    ..
    //aggiungo un ascoltatore al bottone b1

    b1.addActionListener(new DisegnaRandom());
    }
    --------------------



    //e implemento la classe della funzione sull'ascoltarore

    public class DisegnaRandom implements ActionListener
    {
    public void actionPerformed(ActionEvent e)
    {
    //codice
    //codice.....
    }
    }


    il problema è... come recupero ora le dimesioni del pannellocolorato? su questo metodo di una nuova classe?

  9. #9
    b1.addActionListener(new DisegnaRandom(pannellocolorato));
    }


    public class DisegnaRandom implements ActionListener
    {
    JPanel pannello;
    DisegnaRandom(JPanel pannellocolorato)
    {
    pannello = pannellocolorato;
    }
    public void actionPerformed(ActionEvent e)
    {
    int lunghezza=0;
    int altezza=0;

    }





    grazie a Bako...

  10. #10
    vabè!


    ora come gli controllo il cursore del mouse?


    Voglio dire:
    - ?devo capire se il cursore è sopra l'applicazione java o se non c'è.
    - ?devo capire se il cursore oltre che ad essere sopra l'applicazione java, sia sopra al pannello verde!
    - se clicca sopra al pannello verde, devo ricavare le coordinate, altrimenti nn accade nulla....



Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.