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

    Aiuto CardLayout Java

    Salve a tutti

    sto creando il mio primo programma in Java con l'utilizzo del CardLayout.
    Non riesco a capire per quale motivo aggiungendo vari componenti quali JRadioButton JButton ecc... una volta lanciata l'applicazione questi non sono visibili .
    Spero che qualcuno sappia aiutarmi
    vi ringrazio in anticipo
    questo è il codice :
    [CODE]
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.JFrame;
    import javax.swing.JButton;

    public class App extends JFrame
    {
    //-----------------------------------------------------------
    // Dichiarazione delle variabili
    //-----------------------------------------------------------
    JPanel cards;
    JLabel label;
    JLabel prova ;
    JButton avanti ;
    JPanel contentPane = new JPanel();
    JPanel contentPane1 = new JPanel();
    JPanel contentPane2 = new JPanel();
    CardLayout carte;
    ButtonGroup scelta;
    JRadioButton n1;
    JRadioButton n2;
    JRadioButton n3;
    JRadioButton n4 ;
    //-----------------------------------------------------------------
    // Metodo atto alla visualizzazione dei componenti grafici ( GUI )
    //-----------------------------------------------------------------

    public static void AppGUI()
    {

    JFrame frame = new JFrame();

    App canne = new App();
    canne.initializeComponent(frame.getContentPane(), frame);

    frame.setTitle("Prima");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
    frame.setLocation(new Point(350, 300));
    frame.setSize(new Dimension(350, 215));
    frame.setResizable(false);
    frame.setVisible(true);

    }
    //-----------------------------------------------------------
    // Inizializzazione di tutti i componenti
    //-----------------------------------------------------------
    public void initializeComponent(Container pane, JFrame frame)
    {
    //-----------------------------------------------------------------
    contentPane.setLayout(null);
    contentPane1.setLayout(null);
    contentPane2.setLayout(null);
    JLabel label = new JLabel("Prima applicazione");
    JLabel prova = new JLabel("Secondo JPanel");
    JLabel prova1 = new JLabel("Terzo JPanel");
    JButton avanti = new JButton("Avanti");
    JButton avanti_0 = new JButton("Avanti");
    CardLayout carte = new CardLayout();
    ButtonGroup scelta = new ButtonGroup();
    JRadioButton n1 = new JRadioButton("Nessuna");
    JRadioButton n2 = new JRadioButton("Qualcosa");
    JRadioButton n3 = new JRadioButton("boh");
    JRadioButton n4 = new JRadioButton("aaa");

    //----------------------------------------------------------------
    //Aggiungo i componenti alle schede
    //----------------------------------------------------------------
    //-------------------
    //Aggingo JRadioButton al ButtonGroup
    //-------------------
    scelta.add(n1);
    scelta.add(n2);
    scelta.add(n3);
    scelta.add(n4);
    //-------------------
    addComponent(contentPane, label, 0,0,300,18);
    addComponent(contentPane, avanti, 250,145,83,28);
    addComponent(contentPane, n1, 0, 30, 260, 15);
    addComponent(contentPane, n2, 0, 60, 250, 15);
    addComponent(contentPane, n3, 0, 90, 250, 15);
    addComponent(contentPane, n4, 0, 120, 250, 15);
    addComponent(contentPane1, avanti_0, 250,145,83,28);
    addComponent(contentPane1, prova, 10, 10, 300, 18);
    addComponent(contentPane2, prova1, 10, 10, 300, 18);

    //---------------------------------------------------------------------------
    //Aggiungo i pannelli ad un nuovo pannello con un layout a schede (CardLayout)
    //----------------------------------------------------------------------------
    cards = new JPanel(new CardLayout());
    cards.add(contentPane, "primo");
    cards.add(contentPane1, "secondo");
    cards.add(contentPane2, "terzo");
    pane.add(cards, BorderLayout.PAGE_START);


    //-----------------------------------------------------------------------------
    // Implementazione della gestione degli eventi dei pulsanti
    //-----------------------------------------------------------------------------
    avanti.setActionCommand("secondo");
    avanti_0.setActionCommand("terzo");
    Listener l = new Listener();
    avanti.addActionListener(l);
    avanti_0.addActionListener(l);
    }
    public class Listener implements ActionListener
    {

    public void actionPerformed( ActionEvent e )
    {
    CardLayout cl = (CardLayout)(cards.getLayout());
    String temp = e.getActionCommand();
    System.out.println("temp = " + temp);
    cl.show(cards, temp);
    }
    }
    //----------------------------------------------------------------------------------
    // Agginge componenti ai vari pannelli decidendone la posizione assoluta su di esso
    //----------------------------------------------------------------------------------
    public void addComponent(Container container,Component c,int x,int y,int width,int height)
    {
    c.setBounds(x,y,width,height);
    container.add(c);
    }
    //-----------------------------------------------------------
    // Rende eseguibile il programma
    //-----------------------------------------------------------
    public static void main(String[] args)
    {
    javax.swing.SwingUtilities.invokeLater(new Runnable()
    {
    public void run()
    {
    AppGUI();
    }
    });
    }
    }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Ho modificato il titolo della discussione per renderlo un po' più conforme al regolamento.
    Titoli troppo generici sono da evitare.


    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

  3. #3
    Oops...
    mi dispiace, non capiterà più

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.