Programação Progressiva

Fórum para dúvidas dos sites: Programação Progressiva, Java Progressivo, C Progressivo


Você não está conectado. Conecte-se ou registre-se

efeito matrix em um rodapé de um jframe

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1 efeito matrix em um rodapé de um jframe em Sab Ago 03, 2013 6:46 pm

boa tarde! sou novo no forum e espero ser ajudado. estou há 9 meses no universso java netbens, e como diz no rodapé no netbens 6.1, desejo por este efeito para uma aplicação, só que no inicio do projeto eu não sei onde inserir o código que precisa ser analizado e corrigido. peço aos Senhores Programadores que corrijam meu código e me digam onde inseri-lo no projeto. segue abaixo o inicio e o código. P;s: o código eu ganhei.

INICIO.

/*
* matrixadministracao.java
*
* Created on 2 de Agosto de 2013, 06:29
*/



/**
*
* @author  Junior
*/
public class matrixadministracao extends javax.swing.JFrame {

   /** Creates new form matrixadministracao */
   public matrixadministracao() {
       initComponents();
   }

   /** This method is called from within the constructor to
    * initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is
    * always regenerated by the Form Editor.
    */
   @SuppressWarnings("unchecked")
   // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
   private void initComponents() {

       setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

       javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
       getContentPane().setLayout(layout);
       layout.setHorizontalGroup(
           layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
           .addGap(0, 400, Short.MAX_VALUE)
       );
       layout.setVerticalGroup(
           layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
           .addGap(0, 300, Short.MAX_VALUE)
       );

       pack();
   }// </editor-fold>                        

   /**
   * @param args the command line arguments
   */
   public static void main(String args[]) {
       java.awt.EventQueue.invokeLater(new Runnable() {
           public void run() {
               new matrixadministracao().setVisible(true);
           }
       });
   }

   // Variables declaration - do not modify                    
   // End of variables declaration                  

}


CÓDIGO



import java.awt.*;  
import java.util.*;  
import javax.swing.*;  
 
@SuppressWarnings("serial")  
public class matrixRain extends JFrame {  
private static final int FONT_SIZE = 20;  
private static final int NUMBER_OF_REPEATS = 5;  
private static final String TEXT = new String("あ     た        
ア        カ                                  サ    ザ      ジ    
ズ       ゼ       ゾ           シ    ス      セ   ソ    キ   ク   ケ   コ   イ  ウ   エ    オ   ジャ な");  
private static JPanel panel = new JPanel(null);  
private static Random random = new Random();  
private static JLabel label[] = new JLabel[NUMBER_OF_REPEATS];  
 
public matrixRain() {          
  this.add(panel);  
  panel.setBackground(Color.BLACK);  
}  
public void scroll() {  
     //array to hold x coordinates for the labels  
   int[] random_x = new int[NUMBER_OF_REPEATS];  
   //create an infinite loop  
   while (true) {  
       //initialise all the labels to random characters  
       for (int i = 0; i < NUMBER_OF_REPEATS; i++) {  
        int character_initial = random.nextInt(TEXT.length());  
         random_x[i] = random.nextInt(panel.getWidth() / FONT_SIZE) - 1;  
         label[i] = new JLabel("" + TEXT.charAt(character_initial));  
         panel.add(label[i]);  
         label[i].setFont(new Font("monospaced", Font.PLAIN, FONT_SIZE));  
       label[i].setForeground(new Color(0, 255, 0));  
    }  
   // change the text of the labels and their position  
   for (int j = 0; j < (panel.getHeight() / FONT_SIZE) * 2; j++) {  
       int character = random.nextInt(TEXT.length());  
       //move each character  
      for (int i = 0; i < NUMBER_OF_REPEATS; i++) {  
           label[i].setBounds(random_x[i] * FONT_SIZE, j * (FONT_SIZE / 2), FONT_SIZE, FONT_SIZE);  
           label[i].setText("" + TEXT.charAt(character));  
           label[i].setForeground(new Color(0, 255 - (j * 5), 0));      
          for (int k = 0; k < NUMBER_OF_REPEATS; k++) {  
              int character_initial = random.nextInt(TEXT.length());  
              random_x[k] = random.nextInt(panel.getWidth() / FONT_SIZE) - 1;  
               label[k] = new JLabel("" + TEXT.charAt(character_initial));  
               panel.add(label[k]);  
               label[k].setFont(new Font("monospaced", Font.PLAIN, FONT_SIZE));  
              label[k].setForeground(new Color(0, 255, 0));  
              Color colour = label[k].getForeground();  
              if (colour.getGreen() <= 80) {  
                   panel.remove(label[k]);  
                  k = (panel.getHeight() / FONT_SIZE) * 2;  
               }  
           }  
       }  
       // pause between each character  
       try {  
           Thread.sleep(15);  
       } catch (Exception e) {  
       }  
    }  
 }  
       }  
 public static void main(String[] args) {  
     matrixRain frame = new matrixRain();  
     frame.setVisible(true);  
     frame.setSize(600, 400);  
    frame.setResizable(false);  
    frame.setMinimumSize(new Dimension(300, 200));  
     frame.setLocationRelativeTo(null);  
    frame.setTitle("Matrix Code Emulator by Ricco");  
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    
     frame.scroll();  
 }  
}

Ver perfil do usuário

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum