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

    [java] Jframe con menu a tendina che cambia dimensione di un etichetta

    scusate di nuovo ma visto che non riesco a risolvere l'altro esercizio magari ci provo con un altro

    in allegato c'è il testo dell'esercizio ,,, io l'ho impostato cosìcome segue ma 1) il pannello non viene come in foto ma più piccolo
    2) non so che codice inserire nel comando AL1 per dare al menu a tendina il comando giusto per cambiare la grandezza del font
    comunque io l'ho impostato così ,, se qualcuno gentilemnte potesse dirmi cosa manca e dove ho sbagliato gli sarei infinitamente grata

    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.*;
    public class P8_prova extends JFrame {
    //le dichiarazioni private
    private JLabel etichetta;
    private JPanel panel;
    private JComboBox combobox;
    private int dimensione;

    public P8_prova() {
    getContentPane().setLayout(new BorderLayout());

    //gli oggetti vengono istanziate
    String [] numeri = {"10", "20", "30", "40"};
    combobox = new JComboBox(numeri);
    etichetta = new JLabel ("Etichetta" + dimensione);
    etichetta.setFont(new Font("Helvetica", Font.PLAIN, 40));
    panel = new JPanel();

    //installa ComboBox e etichetta nel JPanle
    panel.add(etichetta);
    panel.add(combobox);

    //registra l'AcioListener
    combobox.addActionListener(new AL1());

    //qui il componente viene installato nell'aplett
    getContentPane().add(panel,BorderLayout.SOUTH);
    getContentPane().add(etichetta, BorderLayout.NORTH);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    pack();
    setVisible(true);

    }
    public static void main (String args[]) {
    new P8_prova();
    }

    //definisce l'ActionListener
    class AL1 implements ActionListener {
    public void actionPerformed(ActionEvent e) {
    dimensione++;


    }
    }
    }
    *silvia*

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Definisci AL1 come segue:
    codice:
    class AL1 implements ActionListener { 
       JLabel lbl;
       public AL1(JLabel lbl) { this.lbl = lbl }
    
       public void actionPerformed(ActionEvent e) { 
          JComboBox jcb = (JComboBox) e.getSource();
          int valore = Integer.parseInt(jcb.getText());
          lbl.setFont( new Font("Helvetica", Font.PLAIN, valore) );
       } 
    }
    Poi nel costruttore della classe P8_prova, modifica la riga che aggiunge l'ascoltatore, in questo modo:
    codice:
    combobox.addActionListener( new AL1(etichetta) );
    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
    mmmmmmm non funziona.....
    *silvia*

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ti ho mandato via mail il codice corretto. Funziona, solo che avevamo commesso entrambi qualche piccolo errore...
    codice:
    int valore = Integer.parseInt((String) jcb.getSelectedItem());
    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.