[JAVA]Metodo per visualizzare JButton?

Pubblicità

LightSoul94

Utente Attivo
Messaggi
256
Reazioni
16
Punteggio
38
Salve a tutti, stavo compilando un semplice algoritmo java che apre un Frame che poi lo chiude cliccando su un JButton.

Il compilatore non mi da errori, eppure si apre il frame ma non c'è il jButton.
Ho tentato anche a renderlo visibile ma non ha funzionato:

Codice:
import javax.swing.JFrame;
import javax.swing.JButton;
public class MySoft 
{
    public static void main(String[] args) {
        JFrame frame = new JFrame("My Software");
        frame.setSize(500, 500);
        JButton button1 = new JButton("OK");
        button1.setSize(50, 50);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        button1.setVisible(true);
    }
    
}
 
Ultima modifica:
devi
1. creare un pannello
2. creare un bottone
3. aggiungere il bottone al pannello
4. aggiungere il pannello con il bottone alla finestra
5. infine rendere visibile la finestra
quindi qualcosa come

JPanel pann = new JPanel();
JButton bott = new JButton("bottone");
pann.add(bott);
frame.add(pann);

frame.setVisible(true);
 
per posizionarlo devi studiare i diversi tipi di layout che esistono in Swing;
quello predefinito è il layout "a flusso", dove le componenti vengono inserite una dietro l'altra;
poi ci sono i layout a griglia, il layout a bordi ecc. ecc.; i vari layout si possono combinare ma ci vuole pratica.
c'è anche il layout assoluto che ti permette di definire la posizione precisa in pixel, però non è consigliato.

Una guida la trovi nella sezione apposita del Java tutorial ufficiale
[url]https://docs.oracle.com/javase/tutorial/uiswing/index.html[/URL]
un'idea puoi averla nella sezione sui layout
[url]https://docs.oracle.com/javase/tutorial/uiswing/layout/index.html[/URL]
 
grazie di tutto cuore BAT00cent, senza il tuo aiuto non c'è l'avrei mai fatta!
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JPanel;
public class MySoft
{
public static void main(String[] args) {
//**Costruzione del Frame**//
JFrame frame = new JFrame("MySoft");
frame.setSize(400, 400);
frame.setLocation(800, 300);
//*Creazione del pannello**//
JPanel pann = new JPanel();
//**Creazione del bottone**//
Container pane = frame.getContentPane();
JButton button1 = new JButton("OK");
//**Inserimento bottone nel pannello**//
pane.add(button1, BorderLayout.PAGE_END);
//**Inserimento pannello con bottone nel frame**//
frame.add(pann);
//**Impostazione di visibilità degli oggetti**//
frame.setVisible(true);
frame.setVisible(true);
button1.setVisible(true);
//**Modalità di chiusura del frame**//
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

}

Ovviamente mi studierò anche gli altri metodi per il Layout, ciao!
 
Pubblicità
Pubblicità
Indietro
Top