Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [JAVA] problema con le swing

    Sto cercado di fare una finestra con le swing ma mi sono fermato qua:

    codice:
    import javax.swing.*;
    import javax.swing.JWindow.*;
    
    class finestraColorata {
    	public static void main(String[] args) {
    		finestra FNJ = new finestra("Ciao gianni", 400, 500);
    		System.out.println("Pio");
    	}
    }
    class finestra extends JFrame {
    	private JButton btn;
    	private JLabel lb;
    	
    	public finestra (String str, int W, int H) {
    		setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
    		setSize(W,H);
    		setTitle(str);
    		
    		Container cnt = getContentPane(); //primo errore
    		cnt.setLayout (new GridLayout (1, 2)); //secondo  errore
    		btn = new JButton ("Pulsante");
    		cnt.add (btn);
    		lb = new JLabel ("Etichetta", SwingConstants.CENTER);
    		cnt.add (lb);
    		setVisible (true);
    	}
    }
    perché?

    Grazie
    Wami agency
    Io odio tutti gli up-loads!

  2. #2
    mi sono fermato qua
    *SNIP*
    perché?
    Se non lo sai tu...
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  3. #3
    Devi importare java.awt.*
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  4. #4
    import javax.swing.JWindow.*;
    Non esiste JWindow.*
    JWindow e' una classe.
    Che tra l'altro non usi, mi sembra...
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  5. #5
    In questo modo funziona:

    codice:
    import javax.swing.*;
    import java.awt.*;
    
    
    class finestraColorata {
    	public static void main(String[] args) {
    		finestra FNJ = new finestra("Ciao gianni", 400, 500);
    		System.out.println("Pio");
    	}
    }
    
    class finestra extends JFrame {
    	private JButton btn;
    	private JLabel lb;
    	
    	public finestra (String str, int W, int H) {
    		setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
    		setSize(W,H);
    		setTitle(str);
    		
    		getContentPane().setLayout (new GridLayout (1, 2));
    		btn = new JButton ("Pulsante");
    		getContentPane().add(btn);
    		lb = new JLabel ("Etichetta", SwingConstants.CENTER);
    		getContentPane().add(lb);
    		setVisible (true);
    	}
    }
    Il metodo "getContentPane" viene esteso da JFrame che a sua volta lo eredita dal package "awt", che naturalmente devi importare.

    Ciao

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da anatroccolo
    Il metodo "getContentPane" viene esteso da JFrame che a sua volta lo eredita dal package "awt", che naturalmente devi importare.

    Ciao
    Il motivo per cui deve importare il package awt non è proprio questo: lo deve importare perchè nel suo codice fa uso della classe GridLayout, la quale fa parte di tale package. Se non facesse uso di alcuna classe di questo package (praticamente non succederà mai), non sarebbe necessario importarlo.

    Tra l'altro, getContentPane() è un metodo di JWindow (package swing) e non delle classi del package awt.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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 © 2025 vBulletin Solutions, Inc. All rights reserved.