Jogo da Velha com Interface Gráfica em Java





Jogo da Velha em Java - Parte 3 - Atribuindo Funcionalidades aos JButtons - NetBeans 7.1





Jogo da Velha em Java - Parte 4 - Elaborando a Lógica do Jogo - NetBeans 7.1






Jogo da Velha em Java - Parte 5 - Verificando Linhas, Colunas e Diagonais - NetBeans 7.1





Jogo da Velha em Java - Parte 6 - Atualizando e Complementando o Jogo - NetBeans 7.1





Jogo da Velha em Java - Parte 7 - Novo Jogo e Sair do Jogo - NetBeans 7.1





Jogo da Velha em Java - Parte 8 - Sobre o Jogo da Velha - NetBeans 7.1





Jogo da Velha em Java - Parte 9 - Finalizando Projeto - NetBeans 7.1






Código-Fonte do Jogo da Velha.


OBS.: Para melhor entendimento recomendasse que todos os vídeos sejam primeiramente assistidos, já que notoriamente somente copiando o código abaixo, este não rodará, já que depende da construção da Interface Gráfica pelo método de arrastar Componentes.




    boolean Jogador1Ativo = true;
    boolean Jogador2Ativo = false;
    
    int VitoriaDoJogador1 = 0;
    int VitoriaDoJogador2 = 0;
    int PartidasEmpatadas = 0;

    public JogoDaVelha() {
        initComponents();
    }
    
    
    public void JogadorAtivo() {
        
        if (Jogador1Ativo == true) {
            Jogador1Ativo = false;
            Jogador2Ativo = true;
        } else {
            Jogador1Ativo = true;
            Jogador2Ativo = false;
        }
        
        JogadorVencedor("X");
        JogadorVencedor("0");
        
    }
    
    
    
    public void JogadorVencedor(String Jogador) {
        
        
        /******************* Verificando Linhas *********************/
        if (B1.getText().equals(Jogador) &&
                B2.getText().equals(Jogador) &&
                B3.getText().equals(Jogador)) {
            
            if (B1.getText().equals("X"))
                Vencedor("Jogador 1");
            else
                Vencedor("Jogador 2");
            
        }
        
        
        if (B4.getText().equals(Jogador) &&
                B5.getText().equals(Jogador) &&
                B6.getText().equals(Jogador)) {
            
            if (B4.getText().equals("X"))
                Vencedor("Jogador 1");
            else
                Vencedor("Jogador 2");
            
        }
        
        
        if (B7.getText().equals(Jogador) &&
                B8.getText().equals(Jogador) &&
                B9.getText().equals(Jogador)) {
            
            if (B7.getText().equals("X"))
                Vencedor("Jogador 1");
            else
                Vencedor("Jogador 2");
            
        }
        
        
        /******************* Verificando Colunas *********************/
        if (B1.getText().equals(Jogador) &&
                B4.getText().equals(Jogador) &&
                B7.getText().equals(Jogador)) {
            
            if (B1.getText().equals("X"))
                Vencedor("Jogador 1");
            else
                Vencedor("Jogador 2");
            
        }
        
        
        if (B2.getText().equals(Jogador) &&
                B5.getText().equals(Jogador) &&
                B8.getText().equals(Jogador)) {
            
            if (B2.getText().equals("X"))
                Vencedor("Jogador 1");
            else
                Vencedor("Jogador 2");
            
        }
        
        
        if (B3.getText().equals(Jogador) &&
                B6.getText().equals(Jogador) &&
                B9.getText().equals(Jogador)) {
            
            if (B3.getText().equals("X"))
                Vencedor("Jogador 1");
            else
                Vencedor("Jogador 2");
            
        }
        
        
        /******************* Verificando Diagonais *********************/
        if (B1.getText().equals(Jogador) &&
                B5.getText().equals(Jogador) &&
                B9.getText().equals(Jogador)) {
            
            if (B1.getText().equals("X"))
                Vencedor("Jogador 1");
            else
                Vencedor("Jogador 2");
            
        }
        
        
        if (B3.getText().equals(Jogador) &&
                B5.getText().equals(Jogador) &&
                B7.getText().equals(Jogador)) {
            
            if (B3.getText().equals("X"))
                Vencedor("Jogador 1");
            else
                Vencedor("Jogador 2");
            
        }
        
        
        /******************* Verificando Empate *********************/
        if ( !B1.getText().equals("") &&
                !B2.getText().equals("") &&
                !B3.getText().equals("") &&
                !B4.getText().equals("") &&
                !B5.getText().equals("") &&
                !B6.getText().equals("") &&
                !B7.getText().equals("") &&
                !B8.getText().equals("") &&
                !B9.getText().equals("") ) {
            
            Vencedor("Empate");
        }
        
    }
    
    
    public void Vencedor(String JogadorVencedor) {
        
        if (JogadorVencedor.equals("Jogador 1")) {
            JOptionPane.showMessageDialog(JogoDaVelha.this, "Parabéns Jogador 1. Você venceu o Jogo!");
            VitoriaDoJogador1++;
            NumeroDeVitoriasDoJogador1.setText("Número de Vitórias: " + VitoriaDoJogador1);
            LimparCampos();
        }
        
        
        if (JogadorVencedor.equals("Jogador 2")) {
            JOptionPane.showMessageDialog(JogoDaVelha.this, "Parabéns Jogador 2. Você venceu o Jogo!");
            VitoriaDoJogador2++;
            NumeroDeVitoriasDoJogador2.setText("Número de Vitórias: " + VitoriaDoJogador2);
            LimparCampos();
        }
        
        
        if (JogadorVencedor.equals("Empate")) {
            JOptionPane.showMessageDialog(JogoDaVelha.this, "Jogo Empatado! Joguem Novamente!");
            PartidasEmpatadas++;
            NumeroDeEmpates.setText("Número de Empates: " + PartidasEmpatadas);
            LimparCampos();
        }
        
    }
    
    
    public void LimparCampos() {
        
        B1.setText("");
        B2.setText("");
        B3.setText("");
        B4.setText("");
        B5.setText("");
        B6.setText("");
        B7.setText("");
        B8.setText("");
        B9.setText("");
        
        Jogador1Ativo = true;
        Jogador2Ativo = false;
        
    }








    private void B3ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        
        if (Jogador1Ativo == true) {
            if (B3.getText().equals("")) {
                B3.setText("X");
                JogadorAtivo();
            }
        } else {
            if (B3.getText().equals("")) {
                B3.setText("0");
                JogadorAtivo();
            }
        }
        
    }                                  

    private void B1ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        
        if (Jogador1Ativo == true) {
            if (B1.getText().equals("")) {
                B1.setText("X");
                JogadorAtivo();
            }
        } else {
            if (B1.getText().equals("")) {
                B1.setText("0");
                JogadorAtivo();
            }
        }
        
        
    }                                  

    private void B2ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        
        if (Jogador1Ativo == true) {
            if (B2.getText().equals("")) {
                B2.setText("X");
                JogadorAtivo();
            }
        } else {
            if (B2.getText().equals("")) {
                B2.setText("0");
                JogadorAtivo();
            }
        }
        
        
    }                                  

    private void B4ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        
        if (Jogador1Ativo == true) {
            if (B4.getText().equals("")) {
                B4.setText("X");
                JogadorAtivo();
            }
        } else {
            if (B4.getText().equals("")) {
                B4.setText("0");
                JogadorAtivo();
            }
        }
        
    }                                  

    private void B5ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        
        if (Jogador1Ativo == true) {
            if (B5.getText().equals("")) {
                B5.setText("X");
                JogadorAtivo();
            }
        } else {
            if (B5.getText().equals("")) {
                B5.setText("0");
                JogadorAtivo();
            }
        }
        
    }                                  

    private void B6ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        
        if (Jogador1Ativo == true) {
            if (B6.getText().equals("")) {
                B6.setText("X");
                JogadorAtivo();
            }
        } else {
            if (B6.getText().equals("")) {
                B6.setText("0");
                JogadorAtivo();
            }
        }
        
    }                                  

    private void B7ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        
        if (Jogador1Ativo == true) {
            if (B7.getText().equals("")) {
                B7.setText("X");
                JogadorAtivo();
            }
        } else {
            if (B7.getText().equals("")) {
                B7.setText("0");
                JogadorAtivo();
            }
        }
        
        
    }                                  

    private void B8ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        
        if (Jogador1Ativo == true) {
            if (B8.getText().equals("")) {
                B8.setText("X");
                JogadorAtivo();
            }
        } else {
            if (B8.getText().equals("")) {
                B8.setText("0");
                JogadorAtivo();
            }
        }
        
    }                                  

    private void B9ActionPerformed(java.awt.event.ActionEvent evt) {                                   
        
        if (Jogador1Ativo == true) {
            if (B9.getText().equals("")) {
                B9.setText("X");
                JogadorAtivo();
            }
        } else {
            if (B9.getText().equals("")) {
                B9.setText("0");
                JogadorAtivo();
            }
        }
        
    }                                  

    private void NovoJogoActionPerformed(java.awt.event.ActionEvent evt) {                                         
        
        LimparCampos();
        
    }                                        

    private void SobreJogoActionPerformed(java.awt.event.ActionEvent evt) {                                          
        
         new SobreJogoDaVelha(
                 (int) getLocation().getX(),
                 (int) getLocation().getY(),
                 JogoDaVelha.this, true
         ).setVisible(true);
        
        
    }                                         

    private void SairDoJogoActionPerformed(java.awt.event.ActionEvent evt) {                                           
        
        
        System.exit(0);
        
    }



Palavras-Chaves: Novo Jogo, Sair do Jogo, Sobre o Jogo, Métodos, Programadores, Localização da Janela, Operadores Lógicos, Importações de Imagens, Jogos Digitais, Vídeos, Tutorial, Lógica de Programação, Jogador1, Jogador2, Alternância de Jogadores, Empate, Partida, Interface Gráfica, JFrame, JPanel, Componentes Gráficos, JLabel, JSeparator, JButton, JDialog, actionPerformed, Instância, Programação Orientada a Objeto (POO), Linguagem de Programação, Arrastar Componentes, Programação, Tecnologia, NetBeans 7.1, Java.


Artigos relacionados em Java:




Feito no NetBeans-7.1 | Executável

Obtendo o quadrado de um número (n) positivo através da soma dos n primeiros números ímpares em Pascal

Program NUMERO_AO_QUADRADO;
uses crt;
var
numero, quadrado, impar, i: integer;
begin

     // Site: http://programjm.blogspot.com.br/
     // Autor: João Matheus Santos Assis

     // Inicializando as variáveis.
     impar := 1;
     numero := -1;


     // Garantindo que o valor da variável número irá ser maior ou igual a zero.
     while (numero < 0) do begin
           write ('Numero: ');
           readln(numero);
     end;



     for i := 1 to numero do begin
         quadrado := quadrado + impar;
         impar := impar + 2;
     end;


     // Exibindo o resultado.
     writeln(numero ,' ao quadrado: ', quadrado);

readkey;
end.



Palavras-Chaves: Quadrado, Soma, Número, Positivo, Ímpares, Pascal.


Artigos relacionados em Pascal:





Feito no Dev-Pascal 1.9.2 | Executável


Resolvendo Sistemas de Equações do Primeiro Grau com Duas Incógnitas em Pascal

Program SISTEMA_DE_EQUACOES;
uses crt;
var
a, b, c, d, e, f : integer;
x, y : real;
begin

     // Site: http://programjm.blogspot.com.br/
     // Autor: João Matheus Santos Assis

     writeln;
  
     // Modelo Genérico do Sistema de Equação.
     writeln (' ax + by = c');
     writeln (' dx + ey = f');


     {
      Resolvendo Sistemas de Equações do Primeiro
      Grau com Duas Incógnitas em Pascal.
     }
  

     writeln;
  

     // Obtendo os valores do usuário.
     write (' a: ');
     readln (a);

     write (' b: ');
     readln (b);

     write (' c: ');
     readln (c);


     writeln; // Quebra de Linha.


     write (' d: ');
     readln (d);

     write (' e: ');
     readln (e);

     write (' f: ');
     readln (f);


     writeln; // Quebra de Linha.


     {
      Exibindo o sistema montado de acordo
      com os valores digitados pelo usuário.
     }
     writeln (' ', a ,'x + ', b ,'y = ', c);
     writeln (' ', d ,'x + ', e ,'y = ', f);
  

     writeln;
     writeln;
  

     {
      Para resolução do Sistema de Equações é utilizado
      o método da Adição, este método consiste na
      realização da soma dos respectivos termos de cada
      uma das equações, a fim de se obter uma única equação
      com apenas uma incógnita, recorrendo ao princípio
      multiplicativo da igualdade, ou seja, o sistema:

      ax + by = c (* d)
      dx + ey = f (* a)

      é equivalente à:

      adx + bdy = cd
      dax + eay = fa

      Note que ad = da.
     }
  

     y := (c * d - f * a) / (b * d - e * a);


     {
      Com o valor da incógnita y já descoberta,
      está é substituida, abaixo afim de encontrar
      o valor da incógnita x.
     }
     x := (c - b * y) / a;


     // Exibindo os valores das incógnita x e y. S = {x, y}.
     writeln ('   x: ', x :4:2);
     writeln ('   y: ', y :4:2);

readkey;
end.



Palavras-Chaves: Sistema, Equações, 1° grau, Coeficientes, Incógnitas, Termos Independentes, Método da Adição, Conjunto Solução (S), Conjunto Verdade (V), X, Y, Software aplicado à Matemática, Princípio Multiplicativo, Pascal.



Artigos relacionados em Pascal:





Feito no Dev-Pascal 1.9.2 | Executável





Manipulando a fonte e a cor do JLabel.


// Importando bibliotecas necessárias.
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;


public class ModificadorTexto extends JFrame {
    
    
    Color Cor = Color.BLACK;
    Color CorDoTexto = Color.BLACK;
    
    // Inicializando o EstiloDaFonte, TamanhoDaFonte e FonteTexto.
    int EstiloDaFonte = 0;
    int TamanhoDaFonte = 20;
    String FonteTexto = "Tahoma";
    
    String TextoDoLabel;
    
    boolean Negrito = false;
    boolean Itálico = false;
    boolean Sublinhado = false;
    String Texto = "http://programjm.blogspot.com.br/";
    
    String Fonte[] = {"Tahoma", "Arial Black", "Calibri", "Times New Roman"};
    String Tamanho[] = {"20", "22", "24", "26", "28"};
    
    
    
    // Construtor da classe ModificadorTexto.
    public ModificadorTexto() {
        
        /*
         * http://programjm.blogspot.com.br/
         * @Autor: João Matheus Santos Assis
        */
        
        // Chamando o método de Inicialização.
        initComponents();  
        
    }
    
    
    // Tratando os Eventos do ComboBox_Fonte.
    private void ComboBox_FonteItemListener(ItemEvent event) {
        
        // Obtêm a FonteTexto selecionada e chama o método setConfigurar.
        if (event.getStateChange() == ItemEvent.SELECTED) {
            FonteTexto = (String) ComboBox_Fonte.getSelectedItem();
            setConfigurar();
        }
        
    }
    
    
    // Tratando os Eventos do ComboBox_Tamanho.
    private void ComboBox_TamanhoItemListener(ItemEvent event) {
        
        // Obtêm o TamanhoDaFonte selecionado e chama o método setConfigurar.
        if (event.getStateChange() == ItemEvent.SELECTED) {
            TamanhoDaFonte = ComboBox_Tamanho.getSelectedIndex();
            /*
             * Se o SelectedIndex for 0, então 2*0+20 = 20.
             * Se o SelectedIndex for 1, então 2*1+20 = 22.
             * Se o SelectedIndex for 2, então 2*2+20 = 24.
             * Se o SelectedIndex for 3, então 2*3+20 = 26.
             * Se o SelectedIndex for 4, então 2*4+20 = 28.
             */
            TamanhoDaFonte = (2*TamanhoDaFonte+20);
            setConfigurar();
        }
        
    }
    
    
    private void Button_NegritoActionListener(ActionEvent event) {
        
        /*
         * Se Negrito e Itálico estiver ativo o EstiloDaFonte será igual a 3;
         * Se somente Negrito estiver ativo o EstiloDaFonte será igual a 1;
         * Se nem Negrito e nem Itálico estiver selecionado
         * o EstiloDaFonte será igual a 0.
         */
        
        if (Negrito == false) {
            if (Itálico == true) EstiloDaFonte = 3;
            else
                EstiloDaFonte = 1;
            Negrito = true;
            setConfigurar();
        } else {
            if (Itálico == true) EstiloDaFonte = 2;
            else
                EstiloDaFonte = 0;
            Negrito = false;
            setConfigurar();
        }
        
    }
    
    
    private void Button_ItalicoActionListener(ActionEvent event) {
        
        if (Itálico == false) {
            if (Negrito == true) EstiloDaFonte = 3;
            else
                EstiloDaFonte = 2;
            Itálico = true;
            setConfigurar();
        } else {
            if (Negrito == true) EstiloDaFonte = 1;
            else
                EstiloDaFonte = 0;
            Itálico = false;
            setConfigurar();
        }
        
    }
    
    
    private void Button_SublinhadoActionListener(ActionEvent event) {
        
        if (Sublinhado == false) {
            // Formatando o texto do Label_Visualizador utilizando recursos html.
            Label_Visualizador.setText("<html><u>" +
                    Label_Visualizador.getText() + "</u></html>");
            Sublinhado = true;
            setConfigurar();
        } else {
            Label_Visualizador.setText(Texto);
            Sublinhado = false;
            setConfigurar();
        }
        
    }
    
    
    private void Button_CorActionListener(ActionEvent event) {
        
        /* 
         * Abrindo uma caixa de diálogo que permite ao usuário 
         * selecionar uma determinada cor de forma interativa.
         */
        Cor = JColorChooser.showDialog(ModificadorTexto.this,
                "Alterar Cor da Fonte", Cor);
        
        /* 
         * Caso a cor escolhida seja válida a cor 
         * do Label_Visualizador será modificada.
         */
        if (Cor != null){
            CorDoTexto = Cor;
            Label_Visualizador.setForeground(CorDoTexto);
        }
        
    }
    
    
    private void Button_MudarTextoActionListener(ActionEvent event) {
        
        /* 
         * TextoDoLabel armazenará o texto digitado
         * pelo o usuário na caixa de diálogo.
         */
        TextoDoLabel = JOptionPane.showInputDialog(ModificadorTexto.this
                "Texto Atual: " + Texto + 
                "\n Novo Texto (Tamanho mínimo: 1 | Tamanho máximo:19): ");
        
        /* Caso o texto seja válido e atenda as exigências pedidas o 
         * texto do Label_Visualizador será atualizado.
         */
        if ( (TextoDoLabel != null) && (TextoDoLabel.length() > 0 &&
                TextoDoLabel.length() < 20)) {
            Label_Visualizador.setText(TextoDoLabel);
            Texto = TextoDoLabel;
        }
        
    }
    
    
    /* 
     * Método responsável por atualizar a Fonte do Label_Visualizador e
     * definir o texto do Label_BarraStatus.
     */
    public void setConfigurar() {
        
        /*
         * EstiloDaFonte = 0, representa o estilo simples da fonte.
         * EstiloDaFonte = 1, representa o estilo Negrito da fonte.
         * EstiloDaFonte = 2, representa o estilo Itálico da fonte.
         * EstiloDaFonte = 3, representa o estilo Negrito e Itálico da fonte.
         *
         * *******************************************************************
         * 
         * Label_Visualizador.getFont().getSize() retorna a fonte atual;
         * 
         * Label_Visualizador.getFont().isBold() retorna true se o 
         * Label_Visualizador estiver em negrito e false caso não esteja;
         * 
         * Label_Visualizador.getFont().isItalic() retorna true se o
         * Label_Visualizador estiver em itálico e false caso não esteja.
         */
        
        FonteDoTexto = new Font(FonteTexto, EstiloDaFonte, TamanhoDaFonte);
        Label_Visualizador.setFont(FonteDoTexto);
        Label_BarraStatus.setText("  Fonte [" + FonteTexto + 
                "] // Tamanho [" + Label_Visualizador.getFont().getSize() + 
                "] // Negrito[" + Label_Visualizador.getFont().isBold() + 
                "] // Itálico[" + Label_Visualizador.getFont().isItalic()+ 
                "] // Sublinhado[" + Sublinhado + "]"
       );
    }

    
    
    // Método com os componentes de inicialização.
    private void initComponents() {
        
        // Propriedade da Janela.
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // Título da Janela.
        setTitle("Modificador de Texto");
        // Desabilitando o Maximizar.
        setResizable(false);
        // Defindo 560 de largura e 200 de altura para o JFrame.
        setSize(560,200);
        // Abrindo janela no meio da tela.
        setLocationRelativeTo(null);
        
        
        // Barra de ferramenta.
        BarraFerramenta = new JToolBar();
        
        
        // O ComboBox_Fonte armazenará alguns tipos de fonte.
        ComboBox_Fonte = new JComboBox();
        // Fonte.length retorna o tamanho do vetor Fonte.
        for (int i = 0; i < Fonte.length; ++i)
            // Adicionando Itens ao ComboBox_Fonte.
            ComboBox_Fonte.addItem(Fonte[i]);
        ComboBox_Fonte.addItemListener(new ItemListener() {
            @Override
            public void itemStateChanged(ItemEvent event) {
                ComboBox_FonteItemListener(event);
            }
        });
        // Adicionando o ComboBox_Fonte à BarraFerramenta.
        BarraFerramenta.add(ComboBox_Fonte);
        
        
        
        // O ComboBox_Tamanho armazenará alguns tamanho de fonte.
        ComboBox_Tamanho = new JComboBox();
        for (int i = 0; i < Tamanho.length; ++i)
            ComboBox_Tamanho.addItem(Tamanho[i]);
        ComboBox_Tamanho.addItemListener(new ItemListener() {
            @Override
            public void itemStateChanged(ItemEvent event) {
                ComboBox_TamanhoItemListener(event);
            }
        });
        // Adicionando o ComboBox_Tamanho à BarraFerramenta.
        BarraFerramenta.add(ComboBox_Tamanho);
        
        
        
        // Adicionando o JSeparator de forma vertical à BarraFerramenta.
        BarraFerramenta.add(new JSeparator(SwingConstants.VERTICAL));
        
        
        
        // Adicionando as propriedades do Button_Negrito.
        Button_Negrito = new JButton();
        Button_Negrito.setText("N");
        // Definindo a dimensão preferrencial do Button_Negrito.
        Button_Negrito.setPreferredSize(new Dimension(50,20));
        /* 
         * O setMnemonic recebe um argumento do tipo char, 
         * desencadeando a ação do Button_Negrito quando 
         * pressionado Alt + argumento recebido (no caso, N).
         */
        Button_Negrito.setMnemonic('N');
        /* 
         * O setToolTipText exibi um texto informativo quando
         * o usuário deixa o mouse parado sobre o JButton.
         */
        Button_Negrito.setToolTipText("Negrito (Alt + N)");
        // Gerando a ação a ser realizada quando o usuário clicar no Button_Negrito.
        Button_Negrito.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent event) {
                /* 
                 * Chamando o método onde as ações desencadeada por 
                 * causa do click sobre o componente será tratado.
                 */
                Button_NegritoActionListener(event);
            }
        });
        // Adicionando o Button_Negrito à BarraFerramenta.
        BarraFerramenta.add(Button_Negrito);
        
        
        
        // Adicionando as propriedades do Button_Italico.
        Button_Italico = new JButton();
        Button_Italico.setText("I");
        Button_Italico.setPreferredSize(new Dimension(50,20));
        Button_Italico.setMnemonic('I');
        Button_Italico.setToolTipText("Itálico (Alt + I)");
        Button_Italico.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent event) {
                Button_ItalicoActionListener(event);
            }
        });
        // Adicionando o Button_Italico à BarraFerramenta.
        BarraFerramenta.add(Button_Italico);
        
        
        
        // Adicionando as propriedades do Button_Sublinhado.
        Button_Sublinhado = new JButton();
        Button_Sublinhado.setText("S");
        Button_Sublinhado.setPreferredSize(new Dimension(50,20));
        Button_Sublinhado.setMnemonic('S');
        Button_Sublinhado.setToolTipText("Sublinhado (Alt + S)");
        Button_Sublinhado.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent event) {
                Button_SublinhadoActionListener(event);
            }
        });
        // Adicionando o Button_Sublinhado à BarraFerramenta.
        BarraFerramenta.add(Button_Sublinhado);
        
        
        
        BarraFerramenta.add(new JSeparator(SwingConstants.VERTICAL));
        
        
        
        // Adicionando as propriedades do Button_Cor.
        Button_Cor = new JButton();
        Button_Cor.setText("Cor");
        Button_Cor.setToolTipText("Mudar Cor do Texto");
        Button_Cor.setPreferredSize(new Dimension(50,20));
        Button_Cor.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent event) {
                Button_CorActionListener(event);
            }
        });
        // Adicionando o Button_Cor à BarraFerramenta.
        BarraFerramenta.add(Button_Cor);
        
        
        
        BarraFerramenta.add(new JSeparator(SwingConstants.VERTICAL));
        
        
        
        // Adicionando as propriedades do Button_MudarTexto.
        Button_MudarTexto = new JButton();
        Button_MudarTexto.setText("Novo Texto");
        Button_MudarTexto.setToolTipText("Editar Texto");
        Button_MudarTexto.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent event) {
                Button_MudarTextoActionListener(event);
            }
        });
        // Adicionando o Button_MudarTexto à BarraFerramenta.
        BarraFerramenta.add(Button_MudarTexto);
        
        
        
        add(BarraFerramenta, BorderLayout.NORTH);
        
        
        
        Panel_Visualizador = new JPanel();
        // Adicionando o título ao Panel_Visualizador.
        Panel_Visualizador.setBorder(
                BorderFactory.createTitledBorder("Visualizador")
        );
        add(Panel_Visualizador, BorderLayout.CENTER);
        
        
        
        Label_Visualizador = new JLabel();
        Label_Visualizador.setText(Texto);
        Panel_Visualizador.add(Label_Visualizador);
        
        
        
        Label_BarraStatus = new JLabel();
        setConfigurar();
        // Estabelecendo a fonte do Label_BarraStatus.
        Label_BarraStatus.setFont(new Font("Tahoma", 0, 12));
        add(Label_BarraStatus, BorderLayout.SOUTH);
        
    }
    
    
    // Componentes gráficos utilizados.
    private JToolBar BarraFerramenta;
        private JComboBox ComboBox_Fonte;
        private JComboBox ComboBox_Tamanho;
        private JButton Button_Negrito;
        private JButton Button_Italico;
        private JButton Button_Sublinhado;
        private JButton Button_Cor;
        private JButton Button_MudarTexto;
        
    private JPanel Panel_Visualizador;
        private JLabel Label_Visualizador;
        
    private Font FonteDoTexto;
    
    private JLabel Label_BarraStatus;
    
    
    
    // Método principal.
    public static void main(String [] args) {
        
        /* 
         * Definindo a aparência e comportamento da interface,
         * ou seja a forma como os componentes gráficos serão
         * desenhados na tela.
         */
        
        try {
            for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(ModificadorTexto.class.getName()).log(Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            Logger.getLogger(ModificadorTexto.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            Logger.getLogger(ModificadorTexto.class.getName()).log(Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            Logger.getLogger(ModificadorTexto.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        EventQueue.invokeLater(new Runnable() {
            
            @Override
            public void run() {
                new ModificadorTexto().setVisible(true);
            }
            
        });
        
    }
   
}



Palavras-Chaves: Negrito, Itálico, Sublinhado, Tamanho da fonte, Eventos com JComboBox, Eventos com JButton, JOptionPane, JColorChooser, JButton, JToolBar, JPanel, Font, JLabel,  BorderLayout, Barra de Ferramenta, Barra de Status informando o estado da fonte, Java.


Artigos relacionados em Java:




Feito no NetBeans-7.1 | Executável


Feito no NetBeans-7.1 | Executável



Feito no NetBeans-7.1 | Executável


Feito no NetBeans-7.1 | Executável