[JAVA]Piccolo Menù

elenuccia08

Nuovo Utente
3
0
Ciao a tutti ^_^ appena iscritta, non so se qui potete aiutarmi
Sto creando un piccolo jframe per settare i caratteri di un editor di testo che sto facendo per un'esame. E' a quello di notepad, ma più semplice. Con 3 jlist per scegliere dimensione, stile e font, 3 etichette, una label che mostri come viene modificato il carattere e i tasti OK e Annulla. Sono un po scarsa con la grafica, infatti quando cambio la dimensione del carattere della label i pannelli si sovrappongono, e in più non riesco a modificare la dimensione delle jlist. Questo è il codice che ho scritto, probabilmente sarà pieno di errori. Dove sbaglio? Grazie a tutti

listaDimensioni = new JList();
listaFont = new JList();
listaEffetti = new JList();

scroll1 = new JScrollPane(listaFont);
scroll2 = new JScrollPane(listaDimensioni);
scroll3 = new JScrollPane(listaEffetti);

pannelloScroll = new JPanel(new GridLayout(1, 3, 30, 20));
pannelloScrollEsterno = new JPanel();

scroll1.setPreferredSize(new Dimension(90, 100));
scroll2.setPreferredSize(new Dimension(30, 100));
scroll3.setPreferredSize(new Dimension(90, 100));

listaFont.setListData(font);
listaDimensioni.setListData(dimensioni);
listaEffetti.setListData(effetti);

pannelloScroll.add(scroll1);
pannelloScroll.add(scroll2);
pannelloScroll.add(scroll3);
pannelloScrollEsterno.add(pannelloScroll);

pannelloEtichette = new JPanel(new GridLayout(1, 3, 20, 100));

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

pannelloEtichette.add(tipoCarattere);
pannelloEtichette.add(stile);
pannelloEtichette.add(punti);
pannelloEtichette.setSize(10, 10);

pannelloEsempio = new JPanel(new GridLayout(2, 3, 10, 50));
pannelloEsempio2 = new JPanel();
pannelloEsempio3 = new JPanel();
pannelloEsempio4 = new JPanel();
//pannelloEsempio2, 3 e 4 sono pannelli vuoti creati come riempimento per
//far stare i pulsanti e l'etichetta in determinati punti
esempio = new JLabel("Esempio");

ok = new JButton("Ok");
annulla = new JButton("Annulla");

pannelloEsempio.add(pannelloEsempio2);
pannelloEsempio.add(esempio);
pannelloEsempio.add(pannelloEsempio3);
pannelloEsempio.add(pannelloEsempio4);
pannelloEsempio.add(ok);
pannelloEsempio.add(annulla);

menuCarattere = new JFrame("Menù Carattere");

content.setSize(100, 100);
content.add(pannelloScrollEsterno, BorderLayout.NORTH);
content.add(pannelloEtichette, BorderLayout.CENTER);
content.add(pannelloEsempio, BorderLayout.SOUTH);

menuCarattere.getContentPane().add(content);
 

Mr Storm

Utente Attivo
77
19
CPU
Intel Core i5 750
Scheda Madre
Asus P7P55D Deluxe
HDD
500 GB
RAM
Corsair 8GB DDR3 1600 MHz
GPU
Sapphire HD5850
Monitor
Asus VK222H 22"
PSU
OCZ ModXstream Pro 700W
OS
Windows 7 Professional x64
Potresti inserire l'intero file sorgente? Così possiamo provare a testarlo e vedere cosa può non andare :)
 

elenuccia08

Nuovo Utente
3
0
Grazie gentilissimo
scusa l'ignoranza, ma intendi tutta la classe?
Cioè vuoi che scriva tutta la classe qui? Oppure invio tutta la cartella che è nella workspace di eclipse con tutte le classi?
grazie :)
 

Mr Storm

Utente Attivo
77
19
CPU
Intel Core i5 750
Scheda Madre
Asus P7P55D Deluxe
HDD
500 GB
RAM
Corsair 8GB DDR3 1600 MHz
GPU
Sapphire HD5850
Monitor
Asus VK222H 22"
PSU
OCZ ModXstream Pro 700W
OS
Windows 7 Professional x64
Basta solamente la classe :)
 

elenuccia08

Nuovo Utente
3
0
public class MenuCarattereX extends JFrame implements ListSelectionListener, ActionListener{

JList listaFont, listaDimensioni, listaEffetti;

JPanel pannelloScroll, pannelloEtichette, pannelloScrollEsterno, pannelloEsempio,pannelloEsempio2, pannelloEsempio3,pannelloEsempio4, content, nord, centro, sud;

JLabel tipoCarattere, stile, punti, esempio;

JButton ok, annulla;

JScrollPane scroll1, scroll2, scroll3;

String font[]= {"Times New Roman","Courier", "Verdana", "System", " Roman"};
String dimensioni[]= {"1", "2", "3", "10", "11", "12", "13", "14", "15", "16", "17", "18"};
String effetti[]={"Normale", "Grassetto", "Corsivo", "Grassetto Corsivo"};
String fontPredefinito = "Times New Roman";
String effettoPredefinito = "Normale";
String dimensionePredefinita = "10";

Object sceltaFont;
Object sceltaDimensioni;
Object sceltaEffetti;

pagina p;

//TextEditor t = new TextEditor();


public MenuCarattereX() throws IOException {

super("Menù Carattere");

setBounds(100, 0, 400, 300);



content = new JPanel(new BorderLayout());
nord = createPannelloEtichette();
centro = createPannelloScroll();
sud = createPannelloEsempio();

content.add(nord, BorderLayout.NORTH);
content.add(centro, BorderLayout.CENTER);
content.add(sud, BorderLayout.SOUTH);

getContentPane().add(content);


p= new pagina();

}



protected JPanel createPannelloScroll(){


listaDimensioni = new JList();
listaFont = new JList();
listaEffetti = new JList();


listaFont.addListSelectionListener(this);
listaDimensioni.addListSelectionListener(this);
listaEffetti.addListSelectionListener(this);



scroll1 = new JScrollPane(listaFont);
scroll2 = new JScrollPane(listaDimensioni);
scroll3 = new JScrollPane(listaEffetti);

pannelloScroll = new JPanel (new GridLayout(1,3,20,20));
pannelloScrollEsterno = new JPanel();

scroll1.setPreferredSize(new Dimension(70, 100));
scroll2.setPreferredSize(new Dimension(50, 100));
scroll3.setPreferredSize(new Dimension(90, 100));


listaFont.setListData(font);
listaDimensioni.setListData(dimensioni);
listaEffetti.setListData(effetti);

pannelloScroll.add(scroll1);
pannelloScroll.add(scroll2);
pannelloScroll.add(scroll3);
pannelloScrollEsterno.add(pannelloScroll);

return pannelloScrollEsterno;

}




protected JPanel createPannelloEtichette(){


pannelloEtichette = new JPanel (new GridLayout(1,3, 20, 100));

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


pannelloEtichette.add(tipoCarattere);
pannelloEtichette.add(stile);
pannelloEtichette.add(punti);


return pannelloEtichette;

}



protected JPanel createPannelloEsempio(){

pannelloEsempio = new JPanel (new GridLayout(2,3, 20, 50));
pannelloEsempio2 = new JPanel();
pannelloEsempio3 = new JPanel();
pannelloEsempio4 = new JPanel();

esempio = new JLabel("Esempio");

ok = new JButton("Ok");
annulla = new JButton("Annulla");

ok.addActionListener(this);

pannelloEsempio2.setSize(10, 10);

pannelloEsempio.add(pannelloEsempio2);
pannelloEsempio.add(esempio);
pannelloEsempio.add(pannelloEsempio3);
pannelloEsempio.add(pannelloEsempio4);
pannelloEsempio.add(ok);
pannelloEsempio.add(annulla);


return pannelloEsempio;
}


ecco fatto, non ho messo il metodo per il ascoltatore per il funzionamento, quello funziona è la grafica che fa un po schifo :-)
Vedi un po che casino ho combinato:asd:
grazie mille
 

Entra

oppure Accedi utilizzando

Hot: E3 2021, chi ti è piaciuto di più?

  • Ubisoft

    Voti: 5 17.9%
  • Gearbox

    Voti: 0 0.0%
  • Xbox & Bethesda

    Voti: 21 75.0%
  • Square Enix

    Voti: 0 0.0%
  • Capcom

    Voti: 0 0.0%
  • Nintendo

    Voti: 4 14.3%
  • Altro (Specificare)

    Voti: 1 3.6%