Páginas
Download J Planet
Downloads Java
Fórum
Canal do YouTube
Página no Face
sexta-feira, 4 de janeiro de 2013
Texto Piscando em Java
-->
Programa Java que faz um texto piscar repetidamente na tela, alternando o texto com uma imagem ou cor de fundo. O usuário pode controlar a velocidade em que o texto pisca.
TextoPiscandoPanel.java
// TextoPiscandoPanel.java /* * Criado em 4 de outubro de 2010, 23:19:01 * */ package textoPiscando; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JPanel; import javax.swing.Timer; /** * * @author Andréia */ public class TextoPiscandoPanel extends JPanel implements ActionListener { private ImageIcon image; private String texto = "Java"; private boolean mostraTexto = true; private boolean mostraImagem = true; private int cont = 0; private Timer timer; private int delay = 500; public TextoPiscandoPanel() { timer = new Timer( delay, this ); timer.start(); } @Override public void paintComponent( Graphics g ) { super.paintComponent( g ); // chama o paintConponent da superclasse setBackground( Color.BLACK ); image = new ImageIcon( getClass().getResource( "jplanet_logo.png" ) ); g.setColor( new Color( 112, 206, 251 ) ); g.setFont( new Font( Font.SANS_SERIF, Font.BOLD, 96 ) ); if ( mostraTexto ) g.drawString( texto, getWidth() / 2 - 110, 180 ); else if ( mostraImagem ) g.drawImage( image.getImage(), getWidth() / 2 - image.getIconWidth() / 2, getHeight() / 2 - image.getIconHeight() / 2, image.getIconWidth(), image.getIconHeight(), this ); } // fim do metodo paintComponent public void actionPerformed( ActionEvent event ) { mostraTexto = (++cont % 2 == 0); repaint(); } // fim do metodo actionPerformed public void setValorDelay( int delay ) { timer.setDelay( delay ); } // fim do metodo getValorDelay public void setFundo( int indice ) { mostraImagem = (indice == 0); } // fim do metodo setFundo } // fim da classe TextoPiscandoPanel
TextoPiscandoFrame.java
// TextoPiscandoFrame.java /* * Criado em 5 de outubro de 2010, 00:05:37 * */ package textoPiscando; import java.awt.BorderLayout; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.ButtonGroup; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JRadioButton; /** * * @author Andréia */ public class TextoPiscandoFrame extends JFrame { private JRadioButton radioVelocidades[]; private final int TOTAL_RADIO_BUTTONS = 5; private ButtonGroup buttonGroup; private JComboBox comboFundo; private final String FUNDO[] = { "Imagem de fundo", "Cor de fundo" }; private TextoPiscandoPanel textoPiscandoPanel; private JPanel panelSul; public TextoPiscandoFrame() { super( "Texto Piscando" ); textoPiscandoPanel = new TextoPiscandoPanel(); panelSul = new JPanel(); comboFundo = new JComboBox( FUNDO ); comboFundo.addItemListener( new ItemListener() { public void itemStateChanged( ItemEvent event ) { if ( event.getStateChange() == ItemEvent.SELECTED ) textoPiscandoPanel.setFundo( comboFundo.getSelectedIndex() ); } } ); RadioButtonHandler handler = new RadioButtonHandler(); buttonGroup = new ButtonGroup(); radioVelocidades = new JRadioButton[ TOTAL_RADIO_BUTTONS ]; for ( int i = 0; i < radioVelocidades.length; i++ ) { radioVelocidades[ i ] = new JRadioButton( "" + ( i + 1 ) * 100 ); radioVelocidades[ i ].addItemListener( handler ); buttonGroup.add( radioVelocidades[ i ] ); panelSul.add( radioVelocidades[ i ] ); } radioVelocidades[ 4 ].setSelected( true ); add( comboFundo, BorderLayout.NORTH ); add( panelSul, BorderLayout.SOUTH ); add( textoPiscandoPanel ); } // fim do construtor private class RadioButtonHandler implements ItemListener { public void itemStateChanged( ItemEvent event ) { for ( int i = 0; i < radioVelocidades.length; i++ ) { if ( radioVelocidades[ i ].isSelected() ) textoPiscandoPanel.setValorDelay( Integer.parseInt( radioVelocidades[ i ].getText() ) ); } } } // executa o aplicativo public static void main( String args[] ) { TextoPiscandoFrame frame = new TextoPiscandoFrame(); // cria FontJPanel frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.setSize( 500, 400 ); // configura o tamanho do frame frame.setVisible( true ); // exibe o frame } // fim de main } // fim da classe TextoPiscandoFrame
Nenhum comentário:
Postar um comentário
Postagem mais recente
Postagem mais antiga
Página inicial
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário