Vai al contenuto

Primario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Secondario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Sfondo: Blank Waves Squares Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Corsi di Laurea










ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.    Accetto l'uso dei cookie
-->
Foto

Aiuto Interfaccia Grafica


  • Effettua l'accesso per rispondere
Questa discussione ha avuto 3 risposta/e

#1
r.iannaccone6

r.iannaccone6

    Advanced Member

  • Utente
  • StellaStellaStella
  • 66 Messaggi:
Salve ragazzi
Ho bisogno di aiuto su questo problema.
Ho realizzato le classi Rettangolo, Quadrato e Cerchio in Java
di seguito il codice:
Classe Quadrato:
[codice-java:1h3x5n8d]public class Quadrato implements FigureInterface {
private double lato;

public Quadrato(double lato) {
this.lato = lato;
}

public double getLato() {
return lato;
}

public void setLato(double lato) {
this.lato = lato;
}

/** Metodo di calcolo dell'area del Quadrato secondo la formula A=l*l (A=Area; l=lato) **/
@Override
public double areaFigura(){
double area=lato*lato;
return area;
}

/** Metodo di calcolo del perimnetro del Quadrato secondo la formula A=l*4 (A=Area; l=lato) **/
@Override
public double perimetroFigura(){
double perimetro=lato*4;
return perimetro;
}

/** Stampa di informazioni riguardo la Figura Quadrato **/
@Override
public String toString() {
return "Quadrato{" + "lato=" + lato + '}';
}


}[/codice-java]

Classe Rettangolo:
[codice-java:1h3x5n8d]public class Rettangolo implements FigureInterface{
private double base;
private double altezza;

public Rettangolo(double base, double altezza) {
this.base = base;
this.altezza = altezza;
}

public double getBase() {
return base;
}

public void setBase(double base) {
this.base = base;
}

public double getAltezza() {
return altezza;
}

public void setAltezza(double altezza) {
this.altezza = altezza;
}

/** Metodo di calcolo dell'area del Rettangolo secondo la formula A=b*h (A=Area; b=base; h=altezza) **/
@Override
public double areaFigura(){
double area = base*altezza;
return area;

}

/** Metodo di calcolo del perimetro del Rettangolo secondo la formula P=(2*B)+(2*h) (P=Perimetro; b=base; h=altezza)**/
@Override
public double perimetroFigura(){
double perimetro=base*2+altezza*2;
return perimetro;
}

/** Stampa di informazioni riguardo la Figura Rettangolo**/
@Override
public String toString() {
return "Rettangolo{" + "base=" + base + ", altezza=" + altezza +'}';
}


}[/codice-java]

Classe Cerchio:
[codice-java:1h3x5n8d]public class Cerchio implements FigureInterface{
private double raggio;

public Cerchio(double raggio) {
this.raggio = raggio;
}

public double getRaggio() {
return raggio;
}

public void setRaggio(double raggio) {
this.raggio = raggio;
}

/** Metodo di calcolo dell'area del Cerchio secondo la formula A=r*r*PIGRECO (A=Area; r=raggio) **/
@Override
public double areaFigura(){
double area;
return area=raggio*raggio*pigreco;
}

/** Metodo di calcolo della circonferenza del Cerchio secondo la formula C=2*PIGRECO*r (C=Circonferenza; r=raggio) **/
@Override
public double perimetroFigura(){
double circ;
return circ=2*pigreco*raggio;
}

/** Stampa di informazioni riguardo la Figura Cerchio**/
@Override
public String toString() {
return "Cerchio{" + "raggio=" + raggio + '}';
}



}[/codice-java]

Inoltre ho realizzato una interfaccia semplice:
[codice-java:1h3x5n8d]public interface FigureInterface {
/** Attributo condiviso**/
final double pigreco=3.14;

/** Metodo generico di calcolo dell'area di una qualsiasi Figura**/
public double areaFigura();

/** Metodo generico di calcolo del perimetro di una qualsiasi Figura **/
public double perimetroFigura();

/** Metodo generico di stampa delle informazioni riguardo una qualsiasi Figura**/
@Override
public String toString();

}[/codice-java]

Il Main che ho realizzato è il seguente:
[codice-java:1h3x5n8d]import java.util.*;


public class ProvaFigureGeometriche{

/**
* @param args the command line arguments
*/

public static void main(String[] args) {
// TODO code application logic here

int scelta = 0;

Scanner input = new Scanner (System.in);

System.out.println("Inserisci scelta figura\n 1=Rettangolo; 2=Quadrato, 3=Cerchio");

try{
scelta= input.nextInt();
}catch(InputMismatchException ime1){
throw new InputMismatchException(ime1.getMessage());
}finally{
switch(scelta){
case 1:
System.out.println("Hai scelto = Rettangolo");

try{
System.out.println("Inserisci base ");
double bas = input.nextDouble();


System.out.println("Inserisci altezza ");
double alt = input.nextDouble();

Rettangolo ret = new Rettangolo(bas, alt);

double area1=ret.areaFigura();
double perimetro1=ret.perimetroFigura();

System.out.println(ret.toString());
System.out.println("Area Rettangolo " + area1);
System.out.println("Perimetro Rettangolo " + perimetro1);
break;

}catch(InputMismatchException ime2){
throw new InputMismatchException(ime2.getMessage());
}

case 2:
System.out.println("Hai scelto = Quadrato");
try{
System.out.println("Inserisci lato ");
double lato= input.nextDouble();

Quadrato qua=new Quadrato(lato);

double area2=qua.areaFigura();
double perimetro2=qua.perimetroFigura();

System.out.println(qua.toString());
System.out.println("Area Quadrato " + area2);
System.out.println("Perimetro Quadrato " + perimetro2);
break;
}catch(InputMismatchException ime4){
throw new InputMismatchException(ime4.getMessage());
}

case 3:
System.out.println("Hai scelto = Cerchio");

try{
System.out.println("Inserisci raggio ");

double raggio= input.nextDouble();

Cerchio cer=new Cerchio(raggio);

double area3=cer.areaFigura();
double perimetro3=cer.perimetroFigura();

System.out.println(cer.toString());
System.out.println("Area Cerchio " + area3);
System.out.println("Circonferenza Cerchio " + perimetro3);
break;
}catch(InputMismatchException ime5){
throw new InputMismatchException(ime5.getMessage());
}
}



}

}

}[/codice-java]
A questo punto vorrei realizzare una interfaccia grafica che mi permette di fare quello che faccio esattamente nella Console e proprio non riesco a farla e mi servirebbe il vostro aiuto.
Grazie in anticipo per le eventuali risposte!!!



#2
ildiabolico

ildiabolico

    Advanced Member

  • Utente
  • StellaStellaStella
  • 405 Messaggi:
Beh pr far la stessa cosa con un'interfaccia grafica devi avere le nozioni inerenti i componenti della libreria swing e della gestione "ad eventi". . . se riesci a particolarizzare la tua richiesta d'aiuto di certo insieme ce ne usciamo, non è complessa come cosa ^^
Rappresentante degli studenti al Consiglio Didattico di Ing. Informatica
Rappresentante degli studenti in Commissione Didattica di Ing. Informatica
Mail >> darioderosa89@gmail.com

#3
r.iannaccone6

r.iannaccone6

    Advanced Member

  • Utente
  • StellaStellaStella
  • 66 Messaggi:
Grazie ildiabolico per aver risposto.
La mia interfaccia GUI deve essere una finestra che contiene 3 RadioButton (Rettangolo, Quadrato e Cerchio). Inoltre deve avere due TextField per l'input dei dati dove un TextField è sempre attivo, ma che cambia label a seconda della figura (base/lato/raggio) e l'altro riguarda l'altezza dove è attivo solo se si tratta di Rettangolo. Inoltre due Bottoni dove in uno c'è scritto CalcolaPerimetro ed un area di testo con output; la stessa cosa per un bottone CalcolaArea.
Nota che i tre RadioButton sono separati ovvero se cambi in qualsiasi momento la figura, si disabilita automaticamente il RadioButton attivo l'istante precedente.
Spero di essere stato chiaro.
A risentirci

#4
ildiabolico

ildiabolico

    Advanced Member

  • Utente
  • StellaStellaStella
  • 405 Messaggi:
Per la mutua esclusività dei radio button usa il componente JGroupButton (se non ricordo male) : gestisce tutto lui quindi non devi ucciderti a settare i chekked e gli unchekked ;). In ogni caso dove non riesci? XD individua un problema e poni la domanda :D se ti facessi io l'interfaccia tu non apprenderesti nulla ;)
A presto ;)
Rappresentante degli studenti al Consiglio Didattico di Ing. Informatica
Rappresentante degli studenti in Commissione Didattica di Ing. Informatica
Mail >> darioderosa89@gmail.com




Leggono questa discussione 0 utenti

0 utenti, 0 ospiti, 0 utenti anonimi