• Home
  • Forum
  • Area Developer
  • Programmazione
  • Java

Piccolo Menù

  • Creatore Discussione Creatore Discussione Elenuccia08
  • Data di inizio Data di inizio 29 Gen 2011
E

Elenuccia08

Nuovo Utente
29 Gen 2011
4
0
0
  • 29 Gen 2011
  • #1
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);
 
S

Slyfer

Utente Attivo
4 Dic 2010
65
21
0
  • 30 Gen 2011
  • #2
Ciao, non sono riuscito a far girare il codice che hai postato....... Ho scritto queste righe di codice che mostrano una finestra dove puoi selezionare un font size e un font type. Quando cambi uno dei due valori la label di esempio cambia in accordo con i valori selezionati. Se premi il tasto "OK" viene cambiato anche il font della text area. Spero di esserti stato di aiuto.

ciao

Codice:
package it.test;

import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;

public class NotePad implements ActionListener {

	private JLabel example;
	private JTextArea foglio;
	private JComboBox fontSizeCombo;
	private JComboBox fontTypeCombo;
	private JFrame frame;

	public static void main(String[] args) {

		javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
            	NotePad notePad = new NotePad();
            	notePad.createAndShowGUI();
            }
        });
	}
	
    private void createAndShowGUI() {
        //creo la finestra
        frame = new JFrame("Notepad");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // creo il panel per il menu
        JPanel menu = new JPanel();
        
        //dimensione font
        Integer[] fontSizeList = new Integer[]{12,14,16};
        fontSizeCombo = new JComboBox(fontSizeList);
        JLabel fontSizeLabel = new JLabel("Dimensione");

        // aggiungo un listener per verificare quando viene cambiato il font size
        fontSizeCombo.addActionListener(this);
        
        menu.add(fontSizeLabel);
		menu.add(fontSizeCombo);
        
		// tipo di font
		String[] fontList = new String[]{"Arial","Verdana", "Monospace"};
        fontTypeCombo = new JComboBox(fontList);
        JLabel fontLabel = new JLabel("Carattere");
        
        // aggiungo un listener per verificare quando viene cambiato il font
        fontTypeCombo.addActionListener(this);
       
        menu.add(fontLabel);
		menu.add(fontTypeCombo);
		
		// bottone di conferma
		JButton okButton = new JButton("OK");
		okButton.setName("OK");
		okButton.addActionListener(this);
		menu.add(okButton);
		
		//label di esempio
		JPanel examplePanel = new JPanel();
		example = new JLabel("Esempio");
		example.setFont(new Font("Arial",Font.PLAIN,12));
		examplePanel.add(example);
		
		
		//foglio dove scriver
		foglio = new JTextArea(30, 30);
		foglio.setText("Lorem ipsum dolor sit amet");
		foglio.setFont(new Font("Arial",Font.PLAIN,12));
		JPanel foglioPanel = new JPanel();
		foglioPanel.add(foglio);
		
		//aggiungo i panel alla finestra
		frame.add(menu,BorderLayout.NORTH);
		frame.add(examplePanel,BorderLayout.CENTER);
		frame.add(foglioPanel,BorderLayout.SOUTH);
		
        //mostro la finestra
        frame.pack();
        frame.setVisible(true);
    }


	@Override
	public void actionPerformed(ActionEvent actionEvent) {
		Object source = actionEvent.getSource();

		String fontType = (String) fontTypeCombo.getSelectedItem();
		Integer fontSize = (Integer) fontSizeCombo.getSelectedItem();

		// verifico se ha premuto OK o ha cambiato solo le combo
		if(source instanceof JButton){
			// ha premuto ok cambio il font della text area
			foglio.setFont(new Font(fontType, Font.PLAIN, fontSize));
			frame.pack();
		}else{
			// è cambiato qualcosa, resetto il font
			example.setFont(new Font(fontType, Font.PLAIN, fontSize));
		}
		
	}

}
 
E

Elenuccia08

Nuovo Utente
29 Gen 2011
4
0
0
  • 30 Gen 2011
  • #3
Grazie mille davvero
mi hai messo anche i commenti, infatti mi sembra chiarissimo. Adesso lo adatto al mio codice e poi ti faccio sapere thanks
0
 
E

Elenuccia08

Nuovo Utente
29 Gen 2011
4
0
0
  • 30 Gen 2011
  • #4
Tutto ok
ho adattato tutto al meglio, grazie mille
Ti chiedo un'ultima cosa se posso.
Ho visto che hai dichiarato alcuni componenti private, come mai?
Io nel mio lavoro ho dichiarato tutto public
E poi un'altra cosina, l'etichetta ESEMPIO la vorrei un po più giù, ho provato a spostarla in mille modi, ma nulla. Hai qualche consiglio?
Grazie, giuro che dopo questa, sparisco
 
S

Slyfer

Utente Attivo
4 Dic 2010
65
21
0
  • 30 Gen 2011
  • #5
Ciao, in non dichiaro mai le varibili di classe public. Se ti serve che debbano essere accessibili puoi fare dei getter e dei setter.

Per quanto riguarda la label puoi mettere una rigid area. Qui è spiegato tutto

http://download.oracle.com/javase/tutorial/uiswing/layout/box.html

ciao
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

F
Piccolo Problema menù espandibile toogle
  • fpweb
  • 21 Apr 2008
  • Javascript
Risposte
6
Visite
2K
Javascript 10 Mag 2009
atahualpa
A
J
Un piccolo dubbio su Mailchimp
  • Jemusu
  • 3 Dic 2021
  • Posta Elettronica
Risposte
1
Visite
2K
Posta Elettronica 28 Dic 2021
alexhost
A
N
[Java] Piccolo jform per calcolo totale da 2 campi i double
  • nunzio.rizzo74
  • 25 Ott 2018
  • Java
Risposte
0
Visite
2K
Java 25 Ott 2018
nunzio.rizzo74
N
L
Struttura ottimale di un piccolo sito
  • lessico
  • 23 Ago 2018
  • SEO e Posizionamento
Risposte
8
Visite
2K
SEO e Posizionamento 10 Set 2018
Federico.Marcelo
[HTML] piccolo problema di impaginazione
  • Angelo Russo
  • 2 Giu 2018
  • HTML e CSS
Risposte
13
Visite
2K
HTML e CSS 4 Giu 2018
Angelo Russo
W
Piccolo sistema per gestire alcune periferiche, Java o altro linguaggio?
  • w_t
  • 23 Apr 2018
  • Java
Risposte
8
Visite
2K
Java 14 Mag 2018
Max 1
A
piccolo impianto per villetta a schiera
  • antoniopap
  • 18 Apr 2018
  • IP Cam e Videosorveglianza
Risposte
2
Visite
2K
IP Cam e Videosorveglianza 27 Ago 2018
IKOULA CLOUD
[Cerco][Gratuito]Cerco collaboratori per realizzazione piccolo gestionale Mysqli+Php
  • elpirata
  • 14 Apr 2017
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
6
Visite
3K
Offerte e Richieste di Lavoro e/o Collaborazione 31 Ago 2017
elpirata
S
[CERCO] spazio web per piccolo popup Fb, pago euro 10 ogni 1000 aperture
  • SWJ
  • 23 Nov 2016
  • Vendere e Acquistare pubblicita' online
Risposte
0
Visite
1K
Vendere e Acquistare pubblicita' online 23 Nov 2016
SWJ
S
Piccolo Script su select non funziona
  • otto9due
  • 9 Nov 2016
  • jQuery
Risposte
2
Visite
1K
jQuery 9 Nov 2016
otto9due
[PDO][PHP[MySQL] Piccolo modulo di ricerca in un sito tramite l'operatore LIKE
  • MarcoGrazia
  • 14 Nov 2015
  • Snippet PHP
Risposte
1
Visite
5K
Snippet PHP 23 Set 2022
MarcoGrazia
Redirect 301 con espressioni regolari piccolo aiutino
  • otto9due
  • 1 Ott 2015
  • Apache
Risposte
3
Visite
2K
Apache 2 Ott 2015
otto9due
G
Piccolo aiuto per php mail
  • ginebria
  • 26 Ago 2015
  • PHP
Risposte
2
Visite
1K
PHP 26 Ago 2015
marino51
D
Piccolo quesito per il mio sito
  • DavideCampesan
  • 6 Mag 2015
  • PHP
Risposte
1
Visite
1K
PHP 11 Mag 2015
filomeni
I
Piccolo roblema di compatibilità mobile.. help!
  • ilmiocaneleggenda
  • 18 Apr 2015
  • PHP
Risposte
1
Visite
2K
PHP 22 Apr 2015
ByProgrammer
B
Piccolo dilemma con impolode
  • otto9due
  • 14 Apr 2015
  • PHP
Risposte
6
Visite
1K
PHP 14 Apr 2015
otto9due
C
piccolo problema con mysql_connect()
  • cicho2004
  • 18 Feb 2015
  • PHP
Risposte
1
Visite
1K
PHP 21 Feb 2015
filomeni
P
Piccolo software per gestire gli utenti.
  • PHPMan
  • 15 Feb 2015
  • Snippet PHP
Risposte
5
Visite
4K
Snippet PHP 16 Feb 2015
IImanuII
Piccolo problemino con il formato data e immagini per gli rss
  • otto9due
  • 30 Gen 2015
  • PHP
Risposte
1
Visite
2K
PHP 30 Gen 2015
otto9due
G
Piccolo problema con il Drag&Drop
  • Gabriele94
  • 22 Dic 2014
  • jQuery
Risposte
0
Visite
1K
jQuery 22 Dic 2014
Gabriele94
G
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Area Developer
  • Programmazione
  • Java
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?