[JAVA]Metodo per visualizzare JButton?

LightSoul94

Utente Attivo
256
16
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:

BAT

Moderatore
Staff Forum
Utente Èlite
8,347
3,555
CPU
Neurone solitario
Dissipatore
Ventaglio azionato a mano
Scheda Madre
Casalinga
RAM
Molto molto volatile
GPU
Binoculare integrata nel cranio
PSU
Pastasciutta, pollo e patatine al forno
Net
Segnali di fumo e/o tamburi
OS
Windows 10000 BUG
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);
 
  • Like
Reactions: LightSoul94

BAT

Moderatore
Staff Forum
Utente Èlite
8,347
3,555
CPU
Neurone solitario
Dissipatore
Ventaglio azionato a mano
Scheda Madre
Casalinga
RAM
Molto molto volatile
GPU
Binoculare integrata nel cranio
PSU
Pastasciutta, pollo e patatine al forno
Net
Segnali di fumo e/o tamburi
OS
Windows 10000 BUG
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]
 

LightSoul94

Utente Attivo
256
16
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!
 

Entra

oppure Accedi utilizzando

Discussioni Simili

Hot: Sei vaccinato? [sondaggio anonimo]

  • Primo ciclo vaccinale completo (1-2 dosi)

    Voti: 105 66.9%
  • Fatta 1a dose, in attesa della 2a

    Voti: 18 11.5%
  • Sono prenotato per la 1a dose

    Voti: 9 5.7%
  • Non so se vaccinarmi

    Voti: 7 4.5%
  • Non ho intenzione di vacciarmi

    Voti: 18 11.5%
  • Fatta anche la terza dose

    Voti: 0 0.0%