Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25

Discussione: diagramma a barre

  1. #1

    diagramma a barre

    Salve ragazzi...
    devo sostenere un esame su java e sto studiando ed esercitandomi xò mi sembra un po difficile il progetto che devo presentare per sostenere l'esame visto che sono alle prime armi..

    il testo è il seguente:

    Scrivete un programma che contenga due frame: uno con una colonna di campi di testo contenenti numeri, e un altro che presenta gli stessi numeri sotto forma di grafico a barre. Quando l'utente modifica uno dei numeri, il grafico deve essere ridisegnato. Analogamente, quando l'utente clicca su un punto del grafico, muovere la barra più vicina sul punto dove è avvenuto il click, e modificare il frame con i numeri.

    Utilizzare il pattern OBSERVER. Memorizzare i dati in un modello, e rendere sia la vista numerica che quella grafica degli ascoltatori. Quando un numero è modificato, la vista numerica deve aggiornare il modello, che a sua volta chiederà alle viste di ridisegnarsi. Analogamente quando si clicca su un pulsante del mouse nel grafico a barre.

    Suggerimento: per gestire i click del mouse, consultate la documentazione API per l'interfaccia MouseListener. Nel vostro ascoltatore dovete intraprendere una azione all'interno del metodo mousePressed. Realizzate i rimanenti metodi dell'interfaccia in modo che non facciano nulla.

    Chi è che sa darmi una mano??risp x favore
    grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Guarda, creare 2 frame non è un grosso problema, così come non è un problema disporre una serie di text field in verticale. La questione più spinosa è il grafico, perché dipende da come deve risultare visivamente e da come deve essere implementato. Potresti decidere di creare un "tuo" unico componente che si occupa di disegnare tutte le barre oppure si potrebbe pensare di creare un nuovo componente che si occupa di una singola barra e poi disporne di più in fila tramite un apposito layout manager.
    Insomma le possibilità sono diverse, bisogna solo stabilire come deve risultare graficamente.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    io per diagramma a barre avevo pensato di disegnare semplicemente dei rettangoli con paint rectangle2D.double ecc..
    il problema che non riesco a risolvere è come far interagire le caselle di testo con il grafico...il prof dice di usare il pattern observer xò non so come fare!!
    e poi devo gestire anche i click del mouse sul grafico con mousePressed

    qualcosina l'ho scritto pero non ancora c'ho le idee ben chiare su come fare....aiuto!!!!!!!!!

  4. #4
    non c'è qualcuno che può darmi una mano??

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da andrea8985
    il problema che non riesco a risolvere è come far interagire le caselle di testo con il grafico...il prof dice di usare il pattern observer xò non so come fare!!
    Innanzitutto bisogna vedere se devi implementare il vero e proprio pattern "observer" oppure se ti basta usare il sistema di event-handling di Java basato sugli eventi e sui "listener" (che poi concettualmente è da vedere come una forma un po' più "specializzata" di pattern "observer").

    Io direi che potresti iniziare magari a realizzare la parte che contiene gli N campi di testo. Già qui si può vedere se hai problemi e quali. Perché c'è da fare un po' di cose come creare/impostare il frame, usare un determinato layout manager, creare ed inserire i vari text field.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    25
    credo che la soluzione sia questa: http://www.lorenzobettini.it/articol.../observer.html
    in pratica avrai una classe che memorizza i valori che sarà "Observable", la barra del grafico e la text area ad esso collegato saranno "Observer"( cioè implementerranno un metodo update(Observable nuovoValore) ). quando rilevi una modifica di un valore textarea o del grafico vai a modificare il valore nell'"Observable", che chiamerà il metodo update() dei suoi "Observer", che si aggiornarnano la grafica o il valore se necessario.
    Spero di non aver detto castronerie

  7. #7
    i 2 frame gia li ho creati..nel primo frame ho messo i TextField e nel secondo frame però non riesco ad aggiungere le rispettive barre perchè mi dice di inserire un componente,io invece ho disegnato con paintIcon(Component c,Graphics g,int x,int y) cercando di disegnare un rettangolo con altezza in base al corrispondente numero nel textfield. Come posso fare per inserire un grafico in una finestra??

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da andrea8985
    Come posso fare per inserire un grafico in una finestra??
    Estendi ad esempio JPanel e nel paintComponent() disegni il "tuo" grafico. Non è comunque tutto qui: dovresti anche fare in modo che in base al grafico, il componente abbia un suo "preferred" size. Più chiaramente altro per la gestione dei click con il mouse.

    Vedi qui sul tutorial della Sun.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    non riesco a disegnare le barre su un jpanel o su un jframe...come posso fare??

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da andrea8985
    non riesco a disegnare le barre su un jpanel o su un jframe...come posso fare??
    Vedi un mio esempio di disegno in JPanel in questo mio post. Lì disegnavo una sinusoide, non una barra. Ma è giusto per farti capire come si gestisce il disegno.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.