Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    [Java]Problema di swing

    Sto imparando le swing e mi sono scrotto questo cod:
    codice:
     import java.*;
    import javax.swing.*;
    
    public class CPrinc extends JFrame {
    
    	public static void main(String argv[]) {
    		JFrame FPrinc = new JFrame("Prova di Java");
    		JButton BEsci = new JButton("Esci");
    		BEsci.setEnabled(true);
    		BEsci.setBounds(10, 10, 200, 150);
    		FPrinc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		FPrinc.setVisible(true);
    		FPrinc.setBounds(10, 10, 400, 300);
    		FPrinc.add(BEsci);
    		FPrinc.pack();
    	}
    
    }
    Perche nn mi visualizza il button e Ginipad mi da
    codice:
    C:\sdk\bin\javaw.exe -ea  -classpath "C:\Documents and Settings\Admin\Desktop" CPrinc
    java.lang.Error: Do not use javax.swing.JFrame.add() use javax.swing.JFrame.getContentPane().add() instead
    	at javax.swing.JFrame.createRootPaneException(JFrame.java:446)
    	at javax.swing.JFrame.addImpl(JFrame.java:472)
    	at java.awt.Container.add(Container.java:298)
    	at CPrinc.main(CPrinc.java:14)
    Exception in thread "main" 
    Process CPrinc terminated.
    Help
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  2. #2
    codice:
    import java.*;
    import javax.swing.*;
    
    public class CPrinc extends JFrame {
    
    	public static void main(String argv[]) {
    		JFrame FPrinc = new JFrame("Prova di Java");
    		JButton BEsci = new JButton("Esci");
    		BEsci.setEnabled(true);
    		BEsci.setBounds(10, 10, 200, 150);
    		FPrinc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		FPrinc.setVisible(true);
    		FPrinc.setBounds(10, 10, 400, 300);
    		FPrinc.getContentPane().add(BEsci);
    		FPrinc.pack();
    	}
    
    }
    Cosi mi da solo il bottone
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    328
    codice:
    FPrinc.add(BEsci);
    Il messaggio di errore è piuttosto esplicativo. Devi usare:

    codice:
    FPrinc.getContentPane().add(BEsci);
    Il perché, lo trovi nella documentazione di javax.swing.jframe
    Il programmatore lo vedi dal coraggio, dall'altruismo, dalla fantasia...

  4. #4
    Originariamente inviato da Pablob
    codice:
    FPrinc.add(BEsci);
    Il messaggio di errore è piuttosto esplicativo. Devi usare:

    codice:
    FPrinc.getContentPane().add(BEsci);
    Il perché, lo trovi nella documentazione di javax.swing.jframe
    ma cosi mi mostra solo il bottone
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    328
    Ed infatti tu hai creato un Frame e ci hai messo un bottone dentro. Non c'è nient'altro!

    Cos'altro vorresti vedere?
    Il programmatore lo vedi dal coraggio, dall'altruismo, dalla fantasia...

  6. #6
    ma vedo solo il bottone nn il frame dietro
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    328
    Originariamente inviato da Luc@s
    ma vedo solo il bottone nn il frame dietro
    Se vuoi vedere il Frame che contiene il button, allora perché hai usato il metodo pack()? Lo sai a che serve? Prova a commentarlo...
    Il programmatore lo vedi dal coraggio, dall'altruismo, dalla fantasia...

  8. #8
    adesso il bottone e grande tutto il form
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  9. #9
    dvx80
    Guest
    Originariamente inviato da Pablob
    Se vuoi vedere il Frame che contiene il button, allora perché hai usato il metodo pack()? Lo sai a che serve? Prova a commentarlo...
    ma di che libreria fa part il metodo pack() ??

    Non l'ho trovato ne sotto Frame ne sotto JFrame....

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    328
    Non hai definito alcun layout, quindi i componenti che aggiungi vanno ad occupare tutto lo spazio disponibile. Per esempio, aggiungi un altro Button, e vedrai che i due pulsanti si dividono lo spazio.
    Se definisci un layout per il tuo frame, per esempio un grid layout di 2X2, e aggiungi il button alla posizione 1,1 della griglia, vedrai che non occupa tutto lo spazio.


    p.s.: corri a comprarti un buon manuale
    Il programmatore lo vedi dal coraggio, dall'altruismo, dalla fantasia...

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.