Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Unire script lieare a intrfaccia fatta con Window Builder

    Salve a tutti, stò cercando una soluzione a questo problema, che voi sappiate esiste un tutorial che spieghi ogni componente del gestore eventi?
    Ho scritto un programma di calcolo cosi:


    codice:
    import java.util.Scanner;
    
    public class Per {
    
       public static void main(String[] args) {
          // TODO Auto-generated method stub
          
          Scanner tastiera = new Scanner(System.in);
          
          System.out.print("T?     " );
          double Tot = tastiera.nextInt();
          System.out.println("T     " + Tot);
          
          System.out.print("S?     " );
          double Sp = tastiera.nextInt();
          System.out.println("S      " + Sp);
          
          double V=Tot-Sp;
          double P=V/100;
          
          double Mx=7;
          double Sx=4;
          double Sy=9;
          double S=20;
          
          double Mod=9;
          
          System.out.println("_________________");
    
          System.out.println("Ma       " + P*Mx);
          System.out.println("So        " + P*Sx);
          System.out.println("Sc        " + P*Sy);
          System.out.println("St         " + P*S);
    
          System.out.println("_________________");
          System.out.println("Modifiche Standard  " + (Tot/100)*Mod);
          }
    }

    e ho creato con Window builder un interfaccia cosi:


    codice:
    import java.awt.EventQueue;
    
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JButton;
    import javax.swing.JTextField;
    
    
    public class PROVA {
    
       private JFrame frame;
       private JTextField textField;
       private JTextField textField_1;
    
       /**
        * Launch the application.
        */
       public static void main(String[] args) {
          EventQueue.invokeLater(new Runnable() {
             public void run() {
                try {
                   PROVA window = new PROVA();
                   window.frame.setVisible(true);
                } catch (Exception e) {
                   e.printStackTrace();
                }
             }
          });
       }
    
       /**
        * Create the application.
        */
       public PROVA() {
          initialize();
       }
    
       /**
        * Initialize the contents of the frame.
        */
       private void initialize() {
          frame = new JFrame();
          frame.setBounds(100, 100, 450, 300);
          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          frame.getContentPane().setLayout(null);
          
          JLabel lblNewLabel = new JLabel("STAMPA RISULTATI");
          lblNewLabel.setBounds(12, 105, 408, 137);
          frame.getContentPane().add(lblNewLabel);
          
          JButton btnNewButton = new JButton("OK");
          btnNewButton.setBounds(294, 53, 113, 25);
          frame.getContentPane().add(btnNewButton);
          
          textField = new JTextField();
          textField.setBounds(27, 26, 116, 22);
          frame.getContentPane().add(textField);
          textField.setColumns(10);
          
          textField_1 = new JTextField();
          textField_1.setBounds(27, 54, 116, 22);
          frame.getContentPane().add(textField_1);
          textField_1.setColumns(10);
          
          JLabel lblNewLabel_1 = new JLabel("T");
          lblNewLabel_1.setBounds(155, 28, 113, 20);
          frame.getContentPane().add(lblNewLabel_1);
          
          JLabel lblS = new JLabel("S");
          lblS.setBounds(155, 58, 113, 20);
          frame.getContentPane().add(lblS);
       }
    }

    Ora vorrei che all'avvio del programma, funzionasse cosi:
    Nel textField "T" inserisco un valore che scelgo int
    Nel textField "S" lo stesso
    e che premendo il Button "OK"
    I risultati vengano Printati nel Label

    Qualcuno può consigliarmi un tutorial che mostri proprio questo "cioè da programma di calcolo a interfaccia che stampa inserendo dei valori e dando "OK" o può scrivermelo? vi ringrazio molto in anticipo.
    Window Builder.jpg

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Quote Originariamente inviata da desiderio Visualizza il messaggio
    Salve a tutti, stò cercando una soluzione a questo problema, che voi sappiate esiste un tutorial che spieghi ogni componente del gestore eventi?
    Sì, ci sono tutorial che spiegano come utilizzare i componenti grafici, come gestire gli eventi (penso tu abbia un po' mischiato i termini), ma anche come usare i layout per disporre i componenti nella finestra, e altro.

    Quote Originariamente inviata da desiderio Visualizza il messaggio
    Ho scritto un programma di calcolo cosi:
    [...]
    Per quanto riguarda la classe "Per" ti consiglierei di usare nomi più chiari per le variabili. Questo non solo se fai leggere ad altri il codice, che così appare quasi incomprensibile, ma anche per te che in futuro potresti non ricordare a cosa ti stavi riferendo .

    La classe che gestisce l'interfaccia grafica invece hai detto di averla creata con un programma apposta. Può essere comodo ma in questo modo ti porti dietro una serie di problematiche: il codice è poco pulito e molto ridondante, perché ogni componente è aggiunto indipendentemente dagli altri.
    Inoltre impostare il layout a null e posizionare in modo assoluto i componenti viene sempre sconsigliato: ti esponi a vari problemi e ottieni un'interfaccia grafica per nulla flessibile.

    Quindi a meno che tu non voglia avere solo questa singola interfaccia, e non ti curi neanche troppo del risultato, io ti consiglierei di abbandonare Window builder e di scrivere il codice "a mano".
    Potresti comunque usarlo come strumento di supporto, ma io lo trovo superfluo. Per avere un'interfaccia come quella che hai creato non c'è bisogno di sapere awt e swing a fondo, ti basta imparare poco.
    Poi se segui i tutorial, forum, libri, puoi arrivare a un livello più avanzato, e creare ad esempio un'utility carina o un qualche gioco (magari non troppo complicato all'inizio) .

    Quote Originariamente inviata da desiderio Visualizza il messaggio
    Ora vorrei che all'avvio del programma, funzionasse cosi:
    Nel textField "T" inserisco un valore che scelgo int
    Nel textField "S" lo stesso
    e che premendo il Button "OK"
    I risultati vengano Printati nel Label
    Questo è relativamente semplice. Dico relativamente perché per leggere il testo dai JTextField e aggiungere un ascoltatore al pulsante ci vuole davvero poco, ma se vuoi gestire il programma bene dovresti perlomeno controllare l'input inserito dall'utente, visto che vuoi che i textfield contengano valori interi.
    Puoi farlo gestendo un'eventuale eccezione e mandando un messaggio di errore all'utente, è il modo più facile.
    Oppure potresti forzare il componente a ricevere solo valori corretti. Questo è un po' più complicato, puoi usare un JFormattedTextField con un filtro, o un componente come JSpinner (che non è proprio uguale però).
    Infine, visto che vuoi avere un output su più righe, sarebbe meglio utilizzare una JTextArea al posto di una JLabel.

    Quote Originariamente inviata da desiderio Visualizza il messaggio
    Qualcuno può consigliarmi un tutorial che mostri proprio questo "cioè da programma di calcolo a interfaccia che stampa inserendo dei valori e dando "OK" o può scrivermelo? vi ringrazio molto in anticipo.
    In quanto a scriverti il codice completo, beh va contro lo spirito del forum. Se non vuoi farlo tu però puoi cercare nella sezione offro lavoro.
    Ma molti qui possono aiutarti a scrivere il codice !
    Per quanto riguarda il tutorial, non penso ne esista uno per "passare da un programma basato su console a uno con interfacce grafiche". Tra l'altro è quello che è stato chiesto anche altre volte.

    Ti posterei una risposta data in un altro forum, dove c'è il link a vari tutorial per imparare a creare da zero un'interfaccia grafica, aggiungere i componenti, gestire gli eventi, tutto quello che dicevo sopra.
    E' in inglese ma non preoccuparti, è davvero facile da seguire, basta anche una conoscenza "scolastica". Inoltre sono i tutorial e la documentazione ufficiali, quindi di assoluta fiducia.
    Se invece vuoi materiale in italiano comunque ne trovi se cerchi su Google...

    Qui c'è il link. Se serve aiuto chiedi pure
    Ultima modifica di Ansharja; 03-12-2016 a 14:28

  3. #3
    Grazie mille.

  4. #4
    Posso chiederti un'altra cosa?
    In Python la scriverei cosi come la scrivo in Java?

    codice:
    def V(x): return (x/3.0/52.0)*99
    
    A=10
    
    B=V(A)
    
    print B
    Grazie.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Quote Originariamente inviata da desiderio Visualizza il messaggio
    Posso chiederti un'altra cosa?
    In Python la scriverei cosi come la scrivo in Java?

    codice:
    def V(x): return (x/3.0/52.0)*99
    
    A=10
    
    B=V(A)
    
    print B
    Grazie.
    Ti ha già risposto qualcuno dall'altra parte

  6. #6
    Grazie, sucusami ma l'ho messo in entrambi perchè sull'altro non mi rispondevano al precedente sms, starò più attento.

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.