Visualizzazione dei risultati da 1 a 2 su 2

Discussione: java e layout

  1. #1

    java e layout

    ciao

    non riesco ad utilizzare il layout a scheda con swing.
    se non utilizzo swing funziona perfettamente, come mai???

    la classe con swing riesco a compilarla ma quanto la eseguo mi da un errore
    questa č la classe con swing :


    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.lang.Object;

    public class scheda extends JFrame implements ActionListener{

    private JPanel tabs;
    private JPanel cards;
    private CardLayout layout;

    private JButton first;
    private JButton previous;


    public scheda() {

    super("prova layout a scheda");


    layout = new CardLayout();

    setLayout(layout);


    tabs = new JPanel();


    first = new JButton("<<");
    tabs.add(first);

    add("primo", tabs);


    cards = new JPanel();

    previous = new JButton("<");
    cards.add(previous);

    add("secondo", cards);


    first.addActionListener(this);
    previous.addActionListener(this);

    pack();
    setSize(500, 360);
    setVisible(true);


    }


    public void actionPerformed(ActionEvent e)
    {
    String selected = e.getActionCommand();

    if(selected.equals("<<")) { layout.show(this, "secondo"); }

    if(selected.equals("<")) { layout.show(this, "primo"); }


    }





    public static void main(String argv[]) {

    scheda frame = new scheda();
    frame.show();

    }
    }




    questa invece č l'altra che funziona perfettamente:







    import java.awt.*;
    import java.awt.event.*;
    import java.lang.Object;

    public class javaCenterFrame extends Frame implements ActionListener{

    private Panel tabs;
    private Panel cards;
    private CardLayout layout;

    private Button first;
    private Button last;
    private Button previous;


    public javaCenterFrame() {

    super("javaCenter v1.0");


    layout = new CardLayout();

    setLayout(layout);


    tabs = new Panel();

    first = new Button("<<");
    tabs.add(first);
    previous = new Button("<");
    tabs.add(previous);

    add("North", tabs);

    first.addActionListener(this);
    previous.addActionListener(this);


    cards = new Panel();


    last = new Button("pulsante last");
    last.addActionListener(this);

    cards.add(last);


    add("Center", cards);

    //addWindowListener(this);

    pack();
    setSize(500, 360);
    setVisible(true);


    }

    public void actionPerformed(ActionEvent e)
    {
    String selected = e.getActionCommand();

    if(selected.equals("<<")) { layout.show(this, "Center"); }

    if(selected.equals("<")) { layout.show(this, "North"); }
    if(selected.equals("pulsante last")) { layout.show(this, "North"); }

    }





    public static void main(String argv[]) {

    javaCenterFrame frameprimo = new javaCenterFrame();


    }
    }



    grazie
    ciao

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    devi usare getContentPane().add

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.