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

    problemi con i pannelli

    Ciao a tutti
    E' da poco che smanetto con la grafica in java e ho qualche problema. Sto implementando un editor di testo e mi sono bloccato nella fase di creazione del menù per la codifica dei caratteri. Ne vorrei fare uno simile al notepad. Ho usato un jframe e come configurazione ho usato un BorderLayout. Il pannello di North serve per le etichette, quello East Center e West sono i pannelli nei quali ho aggiunto i Jlist per modificare dimensione, stile e tipo di carattere, in quello di South vorrei mettere un'etichetta per dare un'idea di come veràà modificato il carattere, come il menù per la modifica dei caratteri di notepad. Il problema è che quest'ultimo pannello viene nasscosto quasi interamente dagli altri. Ho provato a settare le dimensioni di tuti ma nulla, Ecco come ho implementato il tutto


    public class MenuCarattere extends JFrame {

    JList listaFont, listaDimensioni, listaEffetti;
    Panel pannelloScroll1, pannelloScroll2, pannelloScroll3, pannelloEtichette, pannelloEsempio;
    JLabel tipoCarattere, stile, punti, esempio;
    JScrollPane scroll1, scroll2, scroll3;
    String font[]= {"ciao", "coap", "ddddd", "dsssaee", "deeeeerf", "sddd", "ewwwq"};
    String dimensioni[]= {"1", "2", "3", "10", "11", "12", "13", "14", "15", "16", "17", "18"};
    String effetti[]={"Normale", "Grassetto", "Corsivo", "GrassettoCorsivo"};



    public MenuCarattere() {

    super("Menù Carattere");

    setBounds(100, 0, 400, 350);
    setLayout(new BorderLayout());


    getContentPane().add("North",createPannelloEtichet te());
    getContentPane().add("West",createPannelloScroll1( ));
    getContentPane().add("Center",createPannelloScroll 2());
    getContentPane().add("East",createPannelloScroll3( ));
    getContentPane().add("South",createPannelloEsempio ());



    }


    protected Panel createPannelloScroll1(){

    listaFont = new JList();
    scroll1 = new JScrollPane(listaFont);
    pannelloScroll1 = new Panel ();


    listaFont.setListData(font);
    scroll1.setPreferredSize(new Dimension(80, 100));


    pannelloScroll1.add(scroll1);


    return pannelloScroll1;

    }



    protected Panel createPannelloScroll2(){


    listaDimensioni = new JList();
    scroll2 = new JScrollPane(listaDimensioni);
    pannelloScroll2 = new Panel ();


    listaDimensioni.setListData(dimensioni);
    scroll2.setPreferredSize(new Dimension(50, 100));

    pannelloScroll2.add(scroll2);


    return pannelloScroll2;
    }


    protected Panel createPannelloScroll3(){

    listaEffetti = new JList();
    scroll3 = new JScrollPane(listaEffetti);
    pannelloScroll3 = new Panel ();

    listaEffetti.setListData(effetti);
    scroll3.setPreferredSize(new Dimension(90, 100));


    pannelloScroll3.add(scroll3);


    return pannelloScroll3;


    }


    protected Panel createPannelloEtichette(){

    pannelloEtichette = new Panel ();

    tipoCarattere = new JLabel(" Tipo di carattere");
    stile = new JLabel("Punti");
    punti = new JLabel("Stile ");
    esempio = new JLabel("Vuoto");


    pannelloEtichette.setLayout(new BorderLayout(90, 10));


    pannelloEtichette.add("West",tipoCarattere);
    pannelloEtichette.add("Center",stile);
    pannelloEtichette.add("East",punti);


    return pannelloEtichette;

    }



    protected Panel createPannelloEsempio(){

    pannelloEsempio = new Panel ();
    pannelloEsempio.setSize(50, 50);
    pannelloEsempio.setLayout(new BorderLayout());


    JLabel etichetta = new JLabel("Esempio");

    pannelloEsempio.add(etichetta);



    return pannelloEsempio;
    }


    }



    GRAZIE A TUTTI

  2. #2
    codice:
    public class MenuCarattere extends JFrame
    {
     JList listaFont, listaDimensioni, listaEffetti;
     Panel pannelloScroll1, pannelloScroll2, pannelloScroll3, pannelloEtichette, pannelloEsempio;
     JLabel tipoCarattere, stile, punti, esempio;
     JScrollPane scroll1, scroll2, scroll3;
     String font[]= {"ciao", "coap", "ddddd", "dsssaee", "deeeeerf", "sddd", "ewwwq"};
     String dimensioni[]= {"1", "2", "3", "10", "11", "12", "13", "14", "15", "16", "17", "18"};
     String effetti[]={"Normale", "Grassetto", "Corsivo", "GrassettoCorsivo"};
    
     public MenuCarattere()
     {
      super("Menù Carattere");
    
      setBounds(100, 0, 400, 350);
      setLayout(new BorderLayout());
     
      getContentPane().add("North",createPannelloEtichette());
      getContentPane().add("West",createPannelloScroll1());
      getContentPane().add("Center",createPannelloScroll2());
      getContentPane().add("East",createPannelloScroll3());
      getContentPane().add("South",createPannelloEsempio()); 
     }
    
     protected Panel createPannelloScroll1()
     {
      listaFont = new JList();
      scroll1 = new JScrollPane(listaFont);
      pannelloScroll1 = new Panel ();
    
      listaFont.setListData(font);
      scroll1.setPreferredSize(new Dimension(80, 100));
    
      pannelloScroll1.add(scroll1);
    
      return pannelloScroll1;
     }
    
     protected Panel createPannelloScroll2()
     { 
      listaDimensioni = new JList();
      scroll2 = new JScrollPane(listaDimensioni);
      pannelloScroll2 = new Panel ();
    
      listaDimensioni.setListData(dimensioni);
      scroll2.setPreferredSize(new Dimension(50, 100));
    
      pannelloScroll2.add(scroll2);
    
      return pannelloScroll2;
     }
    
     protected Panel createPannelloScroll3()
     {
      listaEffetti = new JList();
      scroll3 = new JScrollPane(listaEffetti);
      pannelloScroll3 = new Panel ();
    
      listaEffetti.setListData(effetti);
      scroll3.setPreferredSize(new Dimension(90, 100));
    
      pannelloScroll3.add(scroll3);
    
    
      return pannelloScroll3;
     }
    
     protected Panel createPannelloEtichette()
     {
      pannelloEtichette = new Panel ();
    
      tipoCarattere = new JLabel(" Tipo di carattere");
      stile = new JLabel("Punti");
      punti = new JLabel("Stile ");
      esempio = new JLabel("Vuoto");
    
      pannelloEtichette.setLayout(new BorderLayout(90, 10));
    
      pannelloEtichette.add("West",tipoCarattere);
      pannelloEtichette.add("Center",stile);
      pannelloEtichette.add("East",punti); 
    
      return pannelloEtichette;
     }
    
     protected Panel createPannelloEsempio()
     {
      pannelloEsempio = new Panel ();
      pannelloEsempio.setSize(50, 50);
      pannelloEsempio.setLayout(new BorderLayout());
    
      JLabel etichetta = new JLabel("Esempio");
      pannelloEsempio.add(etichetta);
      return pannelloEsempio;
     }
    }
    Il programma si posta sempre cosi tra i tag code.. Cmq, hai provato ad organizzarti con GridbagLayout?? Se poi non mi ricordo male non é una buona idea mettere 1 pannello per ogni punto cardinale.. Cmq ti consiglio un IDE per la creazione di Gui in Java... Se vuoi fare delle cose veramente carine..

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

    Moderazione

    Magari, i quesiti su Java, postali nel forum Java.
    E specifica il linguaggio nel titolo, come richiesto dai regolamento interni.

    Sposto.


    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

  4. #4

    scuami

    hai ragione scusami

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.