Caminho de Navegação Java / Artigos / 11º aula de java

Java

 

Nenhuma avalição
Indique ao Ueba Indique ao BlogBlogs Indique ao Delicious Indique ao Technorati Indique ao Google Bookmarks Indique ao Newsgator
TAGS

Nenhuma tag foi definida ainda!

Defina as tags para esta página preenchendo o campo abaixo.

  • Máximo de 100 tags
  • Cada tag deve ter até 20 caracteres.
  • Separar as tags com virgula. Ex.: php, sql, html, xml, fireworks
COMENTAR

INDICAR
Nome do amigo: E-mail do amigo: Comentário:
REPORTAR ERRO Descreva o erro:

11º aula de javaPostada em: 19/05/2005

David Ramires
Por: David Ramires Nº de Visualizações: 2821.



Componentes de interface gráfica e janelas.

Há muito tempo desde os usuários se sentiam bem com uma interface baseada em 25 linhas de 80 colunas de texto como interface com seus programas. Com o avento da GUI (Graphic User Intervafce) dos sistemas operacionais e suas diversas vantagens, os usuários esperam o mesmo dos programas usados no seu dia a dia.

Este de fato é um problema para os desenvolvedores que agora precisam usar componentes visuais na interface com o usuário, e cuja aparência é dependente das plataformas em que são executados os programas.

Java evita que os programadores tenham que conhecer profundamente os Sistemas Operacionais e seus recursos de interface. Código escrito em Java utiliza classes de interface da API Java e são compilados uma única vez. A aparência final da interface é determinada pelo ambiente de execução: um determinado Sistema Operacional com seus recursos de interface e sua respectiva Máquina Virtual Java.

Tanto Applets são executadas embutidas em navegadores que já rodam em interface gráfica. Applets portanto já estão pronta para receber componentes de interface gráfica como caixas de texto, botões etc. Os programa “stand alone” também podem ter os mesmos componentes de interface gráfica a partir de “janelas”.

O JSDK vem com uma série de classes para interface gráfica em dois pacotes. Um mais antigo tem o nome de “AWT” e outro mais moderno te o nome de “Swing”, respetivamente carregados dos pacotes java.awt e javax.swing. Nós usaremos nesta aula componentes do pacote Swing.

Para criarmos um programa com uma interface de janela, o método “main” da classe principal deve criar um objeto derivado da classe JFrame que será uma janela. Janelas feitas com a classe JFrame possuem um “fundo” que contem todos os componentes. Entre os componentes pode haver um do tipo chamado JPanel (classe JPanel), que por sua vez pode conter outros componentes.

Os contêiners tem a eles associados objetos de “layout” para definir como são dispostos seus componentes internos. Há alguns tipos de “layouts” com diferentes características.

Veja o exemplo abaixo com dois arquivos, um para o programa e outro para a janela:




//////////////////////////////////////////////
// programa
class JanelaTeste

{
public static void main(String[] args)
{
Janela jan = new Janela();
jan.show();
}
}




///////////////////////////////////////////////////////
// janela


import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

class Janela extends JFrame implements ActionListener
{
JLabel texto = new JLabel(\"texto...\");
JComboBox tipo = new JComboBox();
JCheckBox negrito = new JCheckBox(\"Negrito\");
JCheckBox italico = new JCheckBox(\"Italico\");
JRadioButton pequeno = new JRadioButton(\"Pequeno\");
JRadioButton medio = new JRadioButton(\"Medio\");
JRadioButton grande = new JRadioButton(\"Grande\");
JButton ok = new JButton(\"Atualiza\");

String nome;
int tamanho;
int estilo;

public Janela() {

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

getContentPane().setLayout(new GridLayout(5,1));

JPanel jp1 = new JPanel();
jp1.setLayout(new FlowLayout());
jp1.add(texto);

getContentPane().add(jp1);

tipo.addItem(\"Serif\");
tipo.addItem(\"SansSerif\");
tipo.addItem(\"Monospaced\");

JPanel jp2 = new JPanel();
jp2.setLayout(new FlowLayout());
jp2.add(tipo);

getContentPane().add(jp2);

JPanel jp3 = new JPanel();
jp3.setLayout(new FlowLayout());
jp3.add(negrito);
jp3.add(italico);

getContentPane().add(jp3);

ButtonGroup bg = new ButtonGroup();
bg.add(pequeno);
bg.add(medio);
bg.add(grande);

JPanel jp4 = new JPanel();
jp4.setLayout(new FlowLayout());
jp4.add(pequeno);
jp4.add(medio);
jp4.add(grande);
pequeno.setSelected(true);

getContentPane().add(jp4);

ok.addActionListener(this);
getContentPane().add(ok);

atualiza();
pack();
}

public void atualiza() {
nome = (String) tipo.getSelectedItem();

estilo = 0;
if (negrito.isSelected()) {
estilo = estilo + Font.BOLD;
}
if (italico.isSelected()) {
estilo = estilo + Font.ITALIC;
}

tamanho = 24;
if (pequeno.isSelected()) {
tamanho = 24;
}
if (medio.isSelected()) {
tamanho = 36;
}
if (grande.isSelected()) {
tamanho = 48;
}

texto.setFont(new Font(nome, estilo, tamanho));
pack();
}

public void actionPerformed(ActionEvent e) {
atualiza();
}

}



Como já tinho dito, estou apenas colocando minhas aulas de java que estou tendo na facul, enquanto não aparece algum colunista de java Ok..... qualquer dúvida me avise.. valew
USUÁRIO REMOVIDO
Enviado por USUÁRIO REMOVIDO em 29 de maio de 2005 to tendo muito dificuldade com java...sou filho do pascal né!!! se eu mandar um exercicio a gente pode tentar resolve-lo?