domingo, 10 de agosto de 2014

A criação do Java


Em 1991 James Goslin,Patrick Naughton e Mike Sheridan iniciaram na Sun Microsystems, um projeto chamado Green Project, o qual tinha por objetivo prever a nova tendência do mundo digital, a qual eles acreditavam que seria a conversação entre computadores e os eletrodomésticos utilizados no cotidiano.

 Então criaram um protótipo chamado de *7(StarSeven), o qual consistia em um controle remoto, o qual conseguia controlar diversos dispositivos  aplicações.Para tanto James Gosling espeificou uma nova linguagem de programação, a qual chamou de Oak.Mas o projeto do *7, não deu certo, pois não havia estrutura no mercado para o produto.

Com a popularização da internet James Gosglin ficou encarregado de adaptar o Oak para a internet.E em 1995 o Oak foi lançado na internet e  precisou ter seu nome alterado, pois já havia uma linguagem de programação com este mesmo nome.O nome escolhido Java, que é uma expressão americana para café.

Em 1997 a Sun tentou submeter o Java aos padrões da ISO/IEC JTC1.Mas  acabou desistindo. E em 1998 surgiu o Java Community Process(JCP), o qual foi criado com o objetivo de desenvolver o Java de maneira aberta e participativa.Assim permitindo que empresas e indivíduos participassem da evolução do Java.

Para a criação da linguagem Gosling se baseou em alguns preceitos, entre eles estão:
  • Sintaxe parecida com c/c++:a similaridade com linguagens conhecidas facilitaria sua disseminação e aprendizado;
  • Garbage collector: desalocação automática de memória proporciona maior eficiência.
  • Write once, run anywhere: A portabilidade.Isso permitiria que a execução do Java fosse independente da plataforma.
  • Orientação de objetos;
Fontes:
http://www.devmedia.com.br/                            acesso em 10/08 às 13h00
http://www.marcelomoraes.com.br/                   acesso em 10/08 às 13h05
http://www.universidadejava.com.br/                 acesso em 10/08 às 13h07

segunda-feira, 30 de junho de 2014


Calculadora


Código que demonstra interface gráfica e a interação com o usuário através de botões e JTextFields

//importando os pacotes
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

//criando a classe 
class Calculadora extends JFrame implements ActionListener, TextListener
{
 //criar as minhas instâncias
 JLabel L1,L2,L3;
 JButton B1, B2, B3, B4, B5;
 JTextField T1, T2, T3;
 
 
 //criando método principal
 public static void main(String args[])
 {
  
  //criando uma instância de JFrame e instânciando o método construtor
  JFrame janela = new Calculadora();
  
  //exibindo a janela
  //Pesquisar métodos novos para visualizar
  janela.show(); 
  
  //Funcionalidades para fechar a janela
  //ouvindo a janela      adaptando o metodo
  WindowListener  J = new WindowAdapter()
  {
   
      //fechar a janela         //identificar o evento
      public void windowClosing(WindowEvent e )
      {
       System.exit(0);
      }     
  
  };
  
  //instância e método para adicionar a funcionalidade na janela
  janela.addWindowListener(J);
  
  }
  
  Calculadora()
  {
   //exibindo mensagem na barra de título
       setTitle("Calculadora");
  
      //dimensionando o tamanho da janela
      setSize(350,90); // largura e altura
  
      //definindo coordenadas no frame
      setLocation(150,150); //x e y
  
     //método para travar a janela
     setResizable(false);
  
     //cor de fundo
     getContentPane().setBackground(new Color(150,150,150));
     
     //trabalhando com o gerenciador setLayout e a classe GridLayout
     getContentPane().setLayout(new GridLayout(3,4));
     
     
     
     //Configurando as Labels
     //instanciando a JLabel 1
     L1 = new JLabel("Numero1");
     //definindo a cor da fonte
     L1.setForeground(Color.black);
     //definindo a fonte como negrito, tamanho 14
     L1.setFont(new Font("", Font.BOLD,14));
     
     //instanciando a JLabel 2
     L2 = new JLabel("Numero2");
     //definindo a cor da fonte
     L2.setForeground(Color.black);
     //definindo a fonte como negrito, tamanho 14
     L2.setFont(new Font("", Font.BOLD,14));
     
     //instanciando a JLabel 3
     L3 = new JLabel("Total");
     //definindo a cor da fonte
     L3.setForeground(Color.black);
     //definindo a fonte como negrito, tamanho 14
     L3.setFont(new Font("", Font.BOLD,14));
     
     
     //instanciando os botões e incluindo as funcionalidades de cada botão
     B1 = new JButton("+");      B1.addActionListener(this);
     B2 = new JButton("-");      B2.addActionListener(this);
           B3 = new JButton("*");      B3.addActionListener(this);
           B4 = new JButton("/");      B4.addActionListener(this);
           B5 = new JButton("Limpar"); B5.addActionListener(this);
         
           //definindo a cor da fonte
     B5.setBackground(Color.black); //cor de fundo preto
     B5.setForeground(Color.white); //cor da fonte branco
     
     //instanciando JTextField
     T1 = new JTextField();
     T2 = new JTextField();
     T3 = new JTextField();
     
     
     //desabilitando a opção de escrita
     T3.setEditable(false);
     
     //adicionando componentes na getContentPane()
     getContentPane().add(L1);
     getContentPane().add(T1);
     getContentPane().add(B1);
     getContentPane().add(B2);
     getContentPane().add(L2);
     getContentPane().add(T2);
     getContentPane().add(B3);
     getContentPane().add(B4);
     getContentPane().add(L3);
     getContentPane().add(T3);
     getContentPane().add(B5);
                
     }
  
     //validando e verificando qual componente dispara o evento
     public void actionPerformed(ActionEvent e )
     {
      //verificando se o botão de limpar foi pressionado
      if (e.getSource()==B5)
        {
         T1.setText("");
         T2.setText("");
         T3.setText("");
         return;
        }
        
        //criar as variaveis
        float n1=0;
        float n2=0;
        float result=0;
        
        //tentar pegar os valores que o usuário digitou
        try
        {
         n1 = Float.parseFloat(T1.getText());
         n2 = Float.parseFloat(T2.getText());
        }
        
        catch (NumberFormatException erro)
        {
         T3.setText("Erro");
         return;         
        }
        
        if (e.getSource()==B1)
        {  result = n1+n2; }
        
        if (e.getSource()==B2)
        {  result = n1-n2; }
        
        if (e.getSource()==B3)
        {  result = n1*n2; }
        
        if (e.getSource()==B4)
        {  result = n1/n2; }
        
        //valor numérico será transformado em texto, somando com o vazio
        T3.setText("" + result);
              
        }
        
        
        public void textValueChanged(TextEvent e)
        {
         T3.setText("Ola");
        }
        
      
     }
  
  
  
  
  
  
  
  

GUI

A interface gráfica ou GUI (Graphical User Interface) permitem interações mais aprimoradas entre o sistema e o usuário.Os componentes da GUI estão dentro do pacote java.swing e do awt.

Código simples com declaração de frames, os quais seriam as janelas:

 import java.awt.*;

//criar a classe
class Janela extends Frame
{
 //metodo principal
 public static void main(String args[])
 {
  //criando uma instancia de frame
  Frame f = new Frame();
  
  //dimensionando a janela
  f.setSize(200,300); //altura e largura
  
  //mostrando a tela
  //show ou setVisible(true)
  f.show();
  
  
 }
}