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

    [JAVA] Problemi con Layout e JApplet

    Ciao a tutti!
    Sto tentando di scrivere un codice che sia in grado di darmi come output alcune risposte sulle date, ma sono fermo alla parte grafica. Per fare questa JApplet, ho provato a definirmi 2 JPanel, uno che contenesse i JButton ed un altro che contenesse i campi di input/output:
    codice:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    
    import java.lang.*;
    import java.util.*;
    
    import java.util.Calendar;
    
    public class myCalendar5 extends JApplet {
    
        JButton[] bottone;
        JPanel pannelloBottoni;
        JPanel pannelloCampi;
        Container pannelloApplet;
    
    //	FROM myCalendar (START)
        public JTextField ggStart = new JTextField(10);
        public JTextField mmStart = new JTextField(10);
        public JTextField yyStart = new JTextField(10);
    
        public JTextField ggEnd = new JTextField(10);
        public JTextField mmEnd = new JTextField(10);
        public JTextField yyEnd = new JTextField(10);
    
    //	FROM myCalendar (END)
    
    //	Labels della data iniziale
        public JLabel gS = new JLabel("Giorno iniziale:");
        public JLabel mS = new JLabel("Mese iniziale:");
        public JLabel yS = new JLabel("Anno iniziale:");
    
    //	Labels della data finale
        public JLabel gE = new JLabel("Giorno finale:");
        public JLabel mE = new JLabel("Mese finale:");
        public JLabel yE = new JLabel("Anno finale:");
    
    //	Label TestoOutput
    
        public JLabel Output = new JLabel("Risultato:");
        public JTextField testoOutput = new JTextField(20);
    
        public void init() {
    	// Definisco il layout dell'applet: 
    
    	pannelloApplet = getContentPane();
    	pannelloApplet.setLayout(new BorderLayout());
    
    	// inseriremo i 6 bottoni non direttamente dell'applet, 
    	// ma in un pannello che verra' inserito nel centro dell'
    	// applet. Costruiamo il pannello: 
    
    	pannelloBottoni = new JPanel();
    
    	// dispongo i 6 bottoni in una griglia 3 x 2:
    	pannelloBottoni.setLayout(new GridLayout(3, 2));
    	// definisco il colore di fondo del pannelloBottoni:
    	pannelloBottoni.setBackground(Color.black);
    
    	// definisco un array di 6 bottoni.
    	bottone = new JButton[6];
    
    	// inizializzo i 6 bottoni e li aggiungo al pannelloBottoni.
    	// Etichetta dei bottoni:
    	String[] nomeBottone = {"bott. 1", "bott. 2", "bott. 3", 
    				"bott. 4", "bott. 5", "bott. 6"};
    
    	// Colore di sfondo dei bottoni: 
    	Color[] coloreBottone = {Color.red, Color.white, Color.yellow,
    				 Color.cyan, Color.green, Color.magenta};
    
    	for (int i = 0; i < bottone.length; i++) {
    	    bottone[i] = new JButton(nomeBottone[i]);
    	    bottone[i].setBackground(coloreBottone[i]);
    	    pannelloBottoni.add(bottone[i]);
    	}
    
    	// inserisco il pannelloBottoni a sud dell'applet: 
    	pannelloApplet.add(pannelloBottoni, BorderLayout.SOUTH);
        }
    
    //	Definisco il pannello e gli Item che dovrà contenere:
    	JPanel pannelloCampi = new JPanel();
    	pannelloCampi.setLayout(new FlowLayout());
    
    //	Inserisco in pannelloCampi la data iniziale, quella finale ed il testo di output:	(ORA ANCHE LE LABEL)
    //   Data START
    	pannelloCampi.add(gS);
    	pannelloCampi.add(ggStart);
    
    	pannelloCampi.add(mS);
    	pannelloCampi.add(mmStart);
    
    	pannelloCampi.add(yS);
    	pannelloCampi.add(yyStart);
    
    //   Data END
    	pannelloCampi.add(gE);
    	pannelloCampi.add(ggEnd);
    
    	pannelloCampi.add(mE);
    	pannelloCampi.add(mmEnd);
    
    	pannelloCampi.add(yE);
    	pannelloCampi.add(yyEnd);
    
    //   OutPut
    	pannelloCampi.add(testoOutput);
    
    	// inserisco il pannelloCampi a nord dell'applet:
    	pannelloApplet.add(pannelloCampi, BorderLayout.NORTH);
    }
    Ora, in compilazione mi da un listone di errori,ma non capisco dove possa essere il problema,se qualcuno ci capisce qualcosa sarebbe disposto ad illuminarmi?
    Vi ringrazio in partenza!
    Gato

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA] Problemi con Layout e JApplet

    Originariamente inviato da fpertegato
    codice:
        public void init() {
            ........
    
    	for (int i = 0; i < bottone.length; i++) {
    	    bottone[i] = new JButton(nomeBottone[i]);
    	    bottone[i].setBackground(coloreBottone[i]);
    	    pannelloBottoni.add(bottone[i]);
    	}
    
    	// inserisco il pannelloBottoni a sud dell'applet: 
    	pannelloApplet.add(pannelloBottoni, BorderLayout.SOUTH);
        }  <------ chiude il init() !!!
    
    //	Definisco il pannello e gli Item che dovrà contenere:
    	JPanel pannelloCampi = new JPanel();
    	pannelloCampi.setLayout(new FlowLayout());
    
    //	Inserisco in pannelloCampi la data iniziale, quella finale ed il testo di output:	(ORA ANCHE LE LABEL)
    //   Data START
    	pannelloCampi.add(gS);
    	pannelloCampi.add(ggStart);
    La graffa indicata chiude il init(), pertanto ha istruzioni fuori dai metodi/costruttori! Ed è ovviamente un errore.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Aaaah, ecco che cos'era, grazie!!!
    Stavo diventando matto...
    Gato

  4. #4
    Ah, un'altra cosa: secondo te come mi conviene fare per avere in output tutti i TextField incolonnati?
    Pensavo ad un GridLayout, secondo te può andare?
    Gato

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da fpertegato
    come mi conviene fare per avere in output tutti i TextField incolonnati?
    Pensavo ad un GridLayout, secondo te può andare?
    GridLayout potrebbe andare bene. Ma tutte le celle le fa della stessa dimensione e potrebbe non piacerti. Con GridBagLayout hai più controllo ma ovviamente è (un po') più complicato da usare per via dei GridBagConstraints che devi gestire.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    GridBagLayout? Non lo conosco...io intanto son andato avanti con il GridLayout, ma ora mi faccio una ricerca per conoscerlo! Tu conosci qualche link che lo spieghi bene?
    Ps.scusa se rispondo un po' a salti, ma non ho la possibilità di usare internet a casa!
    Gato

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da fpertegato
    Tu conosci qualche link che lo spieghi bene?
    Innanzitutto il tutorial Sun: How to Use GridBagLayout
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Grazie!!
    Ora vado a vederlo..
    Gato

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.