Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    313

    problema con ActionListener

    ho scritto il seguente programma utilizzando il package swing,event ect.Ho un problema con ActionListener nel senso che ho creato un barra
    in cui ci sono due menu dove un menu contiene anche l'opzione esci.Quando clicco su Esci vorrei chiudere la finestra,ma non ci sono
    come fare??
    Inoltre vorrei dividere la finestra in due sotto pannelli,in cui uno
    fa comparire un immagine e l'altro un immagine modificata..GRAZIE

    package swingtest;

    import javax.swing.*;
    import java.awt.HeadlessException;
    import java.awt.event.*;
    import java.awt.*;

    public class FinestraSwing extends JFrame{

    private JMenuBar barra = new JMenuBar();
    private JMenu file = new JMenu("file");
    private JMenu effect = new JMenu("effect");
    private JMenuItem Esci = new JMenuItem("Esci");






    /* Costruttore della classe*/
    public FinestraSwing() throws HeadlessException {
    super("Mia finestra");
    setSize(800,600);
    barra.add(file);
    barra.add(effect);
    file.add("Esci");





    Esci.addActionListener(new ascoltaButton());
    }
    public class ascoltaButton implements ActionListener{

    public void actionPerformed(ActionEvent e) {


    System.exit(0);

    }

    }



    public static void main(String[] args) throws HeadlessException {
    FinestraSwing finestraSwing1 = new FinestraSwing();

    finestraSwing1.setVisible(true);

    }

    }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    L'errore è qui:
    codice:
    file.add("Esci");
    
    // Correzione
    file.add(Esci);  // Senza le virgolette!!
    Per il secondo problema dovresti cambiare il LayoutManager del ContentPane, utilizzando, per esempio, un GridLayout con 1 riga e 2 colonne:
    codice:
    public FinestraSwing() ... {
       getContentPane().setLayout( new GridLayout(1, 2) );
    }
    Così hai il LayoutManager adatto per contenere i due pannelli, che dovrai creare e manipolare (costituendo 2 classi distinte, per esempio).


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