Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Interfacce grafiche

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    75

    Interfacce grafiche

    Ciao ragazzi, sto cominciando a vedere le interfacce grafiche e la gestione degli eventi...però non riesco a districarmi bene in questa giungla...In particolare vorrei fare una interfaccia per un mio programmino...

    L'interfaccia che intendo costruire deve essere cosi strutturata: (va bene anche tutto su un'unica finestra):

    in pratica io devo poter scegliere tra due metodi di un mio oggetto e inviare parametri per usare o il primo o il secondo metodo (avrei pensato all'utilizzo di radiobutton unito a delle caselle di testo da cui prelevare i parametri) e poi visualizzare i risultati sulla finestra stessa in un'altro campo testuale..
    Già qui ho dei problemi, come si fa a far apparire delle caselle di testo dopo aver premuto un radiobutton??

    ringrazio chiunque mi dia un aiuto o mi segnali degli esempi...

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: Interfacce grafiche

    Originariamente inviato da gatsu85
    come si fa a far apparire delle caselle di testo dopo aver premuto un radiobutton??
    La cosa si può fare e in diversi modi:

    a) Puoi "giocare" sulla visibilità. I componenti ci sono, sono fin dall'inizio presenti in un "contenitore" e tu usi semplicemente setVisible(...) per mostrarli/nasconderli.
    b) I componenti non ci sono fin dall'inizio e li aggiungi (o rimuovi) quando serve dentro il contenitore. Qui però bisogna anche vedere se/quale layout manager è stato usato e se ne è stato usato uno, in linea di massima (salvo casi strani) basta "rivalidare" il layout invocando ilTuoContenitore.validate();
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    75
    grazie per la risposta...so che chiedo molto, ma mi potresti fare un esempio??

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da gatsu85
    mi potresti fare un esempio??
    Esempio che gestisce la "visibilità":

    codice:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    public class TestFrame extends JFrame {
        private JRadioButton radioButton1;
        private JRadioButton radioButton2;
        private JTextField textField1;
        private JTextField textField2;
    
        public TestFrame() {
            super("Test Frame");
    
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setSize(500, 400);
    
            JPanel pannello = new JPanel(new GridLayout(2,2));
    
            radioButton1 = new JRadioButton("Primo");
            radioButton2 = new JRadioButton("Secondo");
            textField1 = new JTextField("Primo text field");
            textField1.setVisible(false);
            textField2 = new JTextField("Secondo text field");
            textField2.setVisible(false);
    
            pannello.add(radioButton1);
            pannello.add(textField1);
            pannello.add(radioButton2);
            pannello.add(textField2);
    
            getContentPane().add(pannello, BorderLayout.NORTH);
    
            ButtonGroup group = new ButtonGroup();   // Per la "mutua" esclusione
            group.add(radioButton1);
            group.add(radioButton2);
    
            radioButton1.addItemListener(new ItemListener() {
                public void itemStateChanged(ItemEvent e) {
                    textField1.setVisible(radioButton1.isSelected());
                }
            });
    
            radioButton2.addItemListener(new ItemListener() {
                public void itemStateChanged(ItemEvent e) {
                    textField2.setVisible(radioButton2.isSelected());
                }
            });
    
            radioButton1.setSelected(true);   // Per attivare il primo, dopo che i listener sono registrati!
        }
    
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    TestFrame f = new TestFrame();
                    f.setVisible(true);
                }
            });
        }
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    75
    ok grazie mille, come al solito gli esempi sono molto più esplicativi...^_^

    se non ti creo troppo disturbo...potrei chiederti invece come fare ad inserire più campi testo su una sola riga? ad esempio nell'esempio che mi hai dato, se volessi fare uscire 5 campi testo quando premo il primo radiobutton e 2 quando premo il secondo?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Originariamente inviato da gatsu85
    potrei chiederti invece come fare ad inserire più campi testo su una sola riga?
    Dipende dal/i layout manager che intendi usare. In AWT/Swing per la disposizione dei componenti, l'abilità sta solo nel saper "inscatolare" componenti dentro contenitori, magari dentro altri contenitori, ecc....
    E ogni contenitore può avere un layout manager differente (o non averlo affatto).

    Originariamente inviato da gatsu85
    ad esempio nell'esempio che mi hai dato, se volessi fare uscire 5 campi testo quando premo il primo radiobutton e 2 quando premo il secondo?
    Io ho messo un JPanel nella parte NORTH del BorderLayout del content pane del JFrame.

    A questo JPanel gli ho assegnato un GridLayout con 2 x 2 celle .... giusto come esempio. Invece di mettere in una cella 1 JTextField si potrebbe mettere 1 nuovo JPanel magari con un BoxLayout orizzontale che contiene N JTextField (quindi disposti in orizzontale appunto).

    Vedi che la questione è appunto solo "inscatolare" componenti dentro altro ecc.....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java 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 © 2024 vBulletin Solutions, Inc. All rights reserved.