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![]()

Rispondi quotando