ecco tutto il codice
codice:import java.awt.*; import java.awt.event.*; import java.applet.*; public class menuconfont extends Frame { //Thread dedicato al comportamento della scritta Thread lamp=new Thread("Lampeggiante"); //Definisco oggetti di tipo MenuItem MenuItem esci=new MenuItem("Esci"); MenuItem verdana=new MenuItem("Verdana"); MenuItem timesnewroman=new MenuItem("Times New Roman"); MenuItem arial=new MenuItem("Arial"); MenuItem comicsans=new MenuItem("Comic Sans MS"); MenuItem lucida=new MenuItem("Lucida Console"); MenuItem dim10=new MenuItem("10"); MenuItem dim12=new MenuItem("12"); MenuItem dim14=new MenuItem("14"); MenuItem dim18=new MenuItem("18"); MenuItem dim20=new MenuItem("20"); MenuItem rosso=new MenuItem("Rosso"); MenuItem verde=new MenuItem("Verde"); MenuItem blu=new MenuItem("Blu"); MenuItem giallo=new MenuItem("Giallo"); MenuItem nero=new MenuItem("Nero"); //Definisco oggetti di tipo Menu Menu menu=new Menu("Menu"); Menu font= new Menu("Font"); Menu dim= new Menu("Dimensione"); Menu colore= new Menu("Colore"); //Definisco oggetti per l'interfaccia grafica di partenza MenuBar barra = new MenuBar(); Font current=new Font("Verdana",Font.PLAIN,12); Label risultato=new Label("Nessuna voce di menu cliccata"); //Aggiungo MenuBar e i Menu al Frame nel Costruttore public menuconfont() { setupEventi(); menu.add(esci); font.add(verdana); font.add(timesnewroman); font.add(arial); font.add(comicsans); font.add(lucida); dim.add(dim10); dim.add(dim12); dim.add(dim14); dim.add(dim18); dim.add(dim20); colore.add(rosso); colore.add(verde); colore.add(blu); colore.add(giallo); colore.add(nero); barra.add(menu); barra.add(font); barra.add(dim); barra.add(colore); setMenuBar(barra); add(risultato); show(); } //Associo ascoltatori a menu void setupEventi() { //Imposto dimensioni e titolo della finestra setSize(230,200); setTitle("Font e Colori"); //Assegno gli ascotatori ai menu rispettivi verdana.addActionListener(new AscoltatoreFont()); timesnewroman.addActionListener(new AscoltatoreFont()); arial.addActionListener(new AscoltatoreFont()); comicsans.addActionListener(new AscoltatoreFont()); lucida.addActionListener(new AscoltatoreFont()); dim10.addActionListener(new AscoltatoreSize()); dim12.addActionListener(new AscoltatoreSize()); dim14.addActionListener(new AscoltatoreSize()); dim18.addActionListener(new AscoltatoreSize()); dim20.addActionListener(new AscoltatoreSize()); rosso.addActionListener(new AscoltatoreColor()); verde.addActionListener(new AscoltatoreColor()); blu.addActionListener(new AscoltatoreColor()); giallo.addActionListener(new AscoltatoreColor()); nero.addActionListener(new AscoltatoreColor()); esci.addActionListener(new AscoltatoreMenu()); } class Lampeggio extends menuconfont implements Runnable { public void run() { while (true) { risultato.setVisible(false); try { Thread.sleep(1000); } catch(InterruptedException x){} risultato.setVisible(true); try { Thread.sleep(1000); } catch(InterruptedException x){} } } } public static void main(String[] arg) { Lampeggio r = (new menuconfont()).new Lampeggio(); Thread t = new Thread(r); t.start(); new menuconfont(); } /* * IMPLEMETAZIONE ASCOLTATORI MENU */ //Ascoltatore Famiglia Font class AscoltatoreFont implements ActionListener { public void actionPerformed (ActionEvent e) { current=new Font(e.getActionCommand(),Font.PLAIN,current.getSize()); risultato.setFont(current); risultato.setText("Cliccato "+e.getActionCommand()); } } //Ascoltatore Dimensione Font class AscoltatoreSize implements ActionListener { public void actionPerformed (ActionEvent e) { current=new Font(current.getFontName(),Font.PLAIN,Integer.parseInt(e.getActionCommand())); risultato.setFont(current); risultato.setText(" Cliccato "+e.getActionCommand()); risultato.setVisible(true); } } //Ascoltatore Colore Font class AscoltatoreColor implements ActionListener { public void actionPerformed (ActionEvent e) { risultato.setText(" Cliccato "+e.getActionCommand()); } } //Ascoltatore Menu Uscita class AscoltatoreMenu implements ActionListener { public void actionPerformed (ActionEvent e) { System.exit(0); } } }
c'è qualche modo migliore per far lampeggiare la label?

Rispondi quotando