Creazione JFrame e JButton dal Main della Classe

di il
6 risposte

Creazione JFrame e JButton dal Main della Classe

Ciao a tutti!!!
Sono nuovo di questo Forum e sono alle primissime armi con java
Vorrei chiedere a qualcuno se potrebbe scrivermi la parte di codice per creare ed utilizzare una finestra ed un bottone partendo dal Main
Grazie in anticipo!!!

6 Risposte

  • Re: Creazione JFrame e JButton dal Main della Classe

    FrancescoIP ha scritto:


    Vorrei chiedere a qualcuno se potrebbe scrivermi la parte di codice per creare ed utilizzare una finestra ed un bottone partendo dal Main
    Domanda un pelino vaga nel senso che dovresti precisare come vuoi disporre il pulsante, con quali criteri di posizionamento/dimensionamento. Presumo non conosci i layout manager, giusto? Cosa conosci di Swing? Qualcosa o ... proprio zero?
  • Re: Creazione JFrame e JButton dal Main della Classe

    Si infatti non conosco i layout manager e propio poco di swing poichè ho sempre trascinato i JButton dalla palette e mai creati con vero e proprio codice....
    dimmi tu come posizionare e dimensionare JButton e JFrame, su questo so ancora zero
    sono nelle tue mani....
  • Re: Creazione JFrame e JButton dal Main della Classe

    FrancescoIP ha scritto:


    si infatti non conosco i layout manager e propio poco di swing poichè ho sempre trascinato i JButton dalla palette e mai creati con vero e proprio codice....
    dimmi tu come posizionare e dimensionare JButton e JFrame, su questo so ancora zero
    sono nelle tue mani....
    Un esempio basilare:
    import java.awt.FlowLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.SwingUtilities;
    
    public class SempliceFrame extends JFrame {
        public SempliceFrame() {
            super("Semplice Frame");
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            setSize(300, 300);
            setLayout(new FlowLayout());
    
            JButton pulsante = new JButton("Pulsante");
            add(pulsante);
        }
    
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    new SempliceFrame().setVisible(true);
                }
            });
        }
    }

    Per i layout manager (e Swing in generale), se non hai problemi con l'inglese puoi vedere il tutorial ufficiale:
    Trail: Creating a GUI With JFC/Swing


    Per qualunque dubbio, usa pure il forum.
  • Re: Creazione JFrame e JButton dal Main della Classe

    Grazie mille andbin per il tuo aiuto, visto che siamo in argomento mi potresti delucidare il modo di come cambiare le dimensioni e la posizione del pulsante all' interno della finestra sempre attraverso il codice
  • Re: Creazione JFrame e JButton dal Main della Classe

    FrancescoIP ha scritto:


    Grazie mille andbin per il tuo aiuto, visto che siamo in argomento mi potresti delucidare il modo di come cambiare le dimensioni e la posizione del pulsante all' interno della finestra sempre attraverso il codice
    Ma proprio questo è l'argomento (molto grosso) che dovresti affrontare! Non è questione (solo) di come cambiare le dimensioni.

    In AWT/Swing ci sono due strade per disporre i componenti:

    1) Usare il posizionamento "assoluto" togliendo il layout manager da un "contenitore". Ovvero: contenitore.setLayout(null); A quel punto ogni componente aggiunto nel contenitore va posizionato e dimensionato esplicitamente con setBounds o con l'accoppiata setLocation e setSize.
    Questo però NON è buono in generale. Perché vai a creare interfacce grafiche non facilmente ridimensionabili (ti tocca molto lavoro in tal senso), complicate da gestire e con codice sicuramente più lungo e complesso.

    2) Usare i layout manager. Ogni layout manager però ha i suoi proprio criteri e logiche. Ogni componente non ha solo la dimensione "fisica", quella che si vede a video (gestibile con i metodi detti prima) ma ha anche altre 3 dimensioni: la dimensione "minima", "massima" e "preferita". Ciascun layout manager, a seconda dei criteri ed eventuali suddivisioni in aree, può usare nessuna, una, alcune o tutte di queste tre dimensioni.

    Il FlowLayout che hai visto prima rispetta il "preferred size" dei componenti. FlowLayout fa "fluire" i componenti eventualmente su più righe e per default (come l'ho usato) è centrato orizzontalmente.
    Quindi se volessi cambiare le dimensioni di quel pulsante:

    pulsante.setPreferredSize(new Dimension(100, 80));

    (Dimension è in java.awt)

    Ma anche qui la questione è: perché devi cambiare le dimensioni? Ci possono essere casi e scenari appropriati. Altri no. Ma sono cose da valutare volta per volta.

    L'argomento, come ho detto, è molto ampio. Rimboccati le maniche, come si dice.
  • Re: Creazione JFrame e JButton dal Main della Classe

    Andbin molte grazie per le dritte lo so c' è molto da imparare la strada è lunga ed i tuoi aiuti molto utili servono proprio per "accorciare" la strada

    Vorrei chiederti ancora un aiuto io ho fatto una finestra con un immagine a schermo intero e vorrei sovrapporre a questa immagine i pulsanti ed i textfield che ho in un altra finestra era propio per questo l' intento iniziale ma come potrai leggere nei messaggi precedenti non sapevo neanche creare un bottone con del codice.... quindi ora che ho capito come fare i pulsanti vorrei inserire i comandi delle due finestre e due classi main nella stessa finestra ma non so come fare....
Devi accedere o registrarti per scrivere nel forum
6 risposte