Duvidas Java web

12 respostas
jessica_nito

Ola pessoal sou iniciante em Java … Bom eu tenho que fazer uma calculadora … achei um script na internet mas gotaria que alguem me explicasse passo a passo os códigos e o por que dos códigos … desde então eu agradeço!

import javax.swing.<em>;

import javax.swing.event.</em>;

import java.awt.event.<em>;

import java.awt.</em>;
public class Agenda extends JFrame implements ActionListener

{

private JButton bt1,bt2,bt3,bt4,bt5,bt6,bt7,bt8,bt9,bt10;

private JPanel pn,pn1,pn2;

private JTextField tf,tf1,tf2,tf3;

private FlowLayout fl;

private String[][] agenda = new String[100][4];

private int indice=0,indic=1;

private int nome=0,end=1,tel=2,cep=3;

Agenda()

{

setSize(420,200);

setTitle("Agenda - Índice da Matriz Atual: "+ indic);
bt1 = new JButton("Nome"); 
	bt2 = new JButton("Endereco"); 
	bt3 = new JButton("Telefone"); 
	bt4 = new JButton("CEP"); 
	bt5 = new JButton("Incluir"); 
	bt6 = new JButton("Excluir"); 
	bt7 = new JButton("Editar"); 
	bt8 = new JButton("<<"); 
	bt9 = new JButton(">>"); 
	bt10 = new JButton("Sair"); 
	tf = new JTextField(""); 
	tf1 = new JTextField(""); 
	tf2 = new JTextField(""); 
	tf3 = new JTextField(""); 
	pn = new JPanel(); 
	pn1 = new JPanel(); 
	pn2 = new JPanel(); 
	fl = new FlowLayout();
	
	BorderLayout lay = new BorderLayout(); 
	getContentPane().setLayout(lay); 
	getContentPane().add(pn,BorderLayout.WEST); 
	getContentPane().add(pn1,BorderLayout.CENTER); 
	getContentPane().add(pn2,BorderLayout.SOUTH);
	
	pn.setLayout(new GridLayout(4,1)); 
	pn1.setLayout(new GridLayout(4,1)); 
	pn2.setLayout(fl); 
	
	pn.add(bt1); 
	pn.add(bt2); 
	pn.add(bt3); 
	pn.add(bt4); 
	pn1.add(tf); 
	pn1.add(tf1); 
	pn1.add(tf2); 
	pn1.add(tf3); 
	pn2.add(bt5); 
	pn2.add(bt6); 
	pn2.add(bt7); 
	pn2.add(bt8); 
	pn2.add(bt9); 
	pn2.add(bt10); 
	bt5.addActionListener(this); 
	bt6.addActionListener(this); 
	bt7.addActionListener(this); 
	bt8.addActionListener(this); 
	bt9.addActionListener(this); 
	bt10.addActionListener(this); 
	iniciar(); 
} 
public void iniciar() 
{ 
	for(int i=0;i<100;i++) 
		for(int j=0;j<4;j++) 
			agenda[i][j] = ""; 
	tf_set_enable(false); 
	bt_verificar(); 
} 
public void bt_verificar() 
{ 
	if(agenda[indice][nome] == "") 
	{ 
		bt7.setEnabled(false); 
		bt6.setEnabled(false); 
	} 
	else 
	{ 
		bt7.setEnabled(true); 
		bt6.setEnabled(true); 
	} 
} 
public void tf_set_enable(boolean x) 
{ 
	if(x) 
	{ 
		tf.setEnabled(true); 
		tf1.setEnabled(true); 
		tf2.setEnabled(true); 
		tf3.setEnabled(true); 
	} 
	else 
	{ 
		tf.setEnabled(false); 
		tf1.setEnabled(false); 
		tf2.setEnabled(false); 
		tf3.setEnabled(false); 
	} 
} 
public void set_title(String x) 
{ 
	if(x == "set") 
	{ 
		indic = indice + 1; 
		setTitle("Agenda "+ indic); 
	} 
	else 
		if(x == "++") 
		{ 
			indic++; 
			setTitle("Agenda"+ indic); 
		} 
		else 
			if(x == "--") 
			{ 
				indic--; 
				setTitle("Agenda"+ indic); 
			} 
} 
public void incluir_salvar() 
{ 
	if(bt5.getLabel() == "Salvar") 
	{ 
		for(int i=0;i<100;i++) 
			if(agenda[i][nome] == "") 
			{ 
				agenda[i][nome] = tf.getText(); 
				agenda[i][end] = tf1.getText(); 
				agenda[i][cep] = tf2.getText(); 
				agenda[i][tel] = tf3.getText(); 
				break; 
			} 
		bt5.setLabel("Incluir"); 
		tf_set_enable(false); 
	} 
	else 
	{ 
		limpar(); 
		bt5.setLabel("Salvar"); 
		tf_set_enable(true); 
	} 
} 
public void excluir() 
{ 
	agenda[indice][nome] = ""; 
	agenda[indice][end] = ""; 
	agenda[indice][cep] = ""; 
	agenda[indice][tel] = ""; 
} 
public void editar() 
{ 
	if(bt7.getLabel() == "Salvar") 
	{ 
		agenda[indice][nome] = tf.getText(); 
		agenda[indice][end] = tf1.getText(); 
		agenda[indice][cep] = tf2.getText(); 
		agenda[indice][tel] = tf3.getText(); 
		bt7.setLabel("Editar"); 
		tf_set_enable(false); 
	} 
	else 
	{ 
		bt7.setLabel("Salvar"); 
		tf_set_enable(true); 
	} 
} 
public void voltar() 
{ 
	if(indice == 0) 
	{ 
		indice = 0; 
		set_title("set"); 
		JOptionPane.showMessageDialog(null, "Inicio da Agenda"); 
	} 
	else 
		if(indice > 0) 
		{ 
			indice--; 
			tf.setText(agenda[indice][nome]); 
			tf1.setText(agenda[indice][end]); 
			tf2.setText(agenda[indice][cep]); 
			tf3.setText(agenda[indice][tel]); 
			set_title("--"); 
		} 
} 
public void avancar() 
{ 
	if(indice == 99) 
	{ 
		indice = 99; 
		set_title("set"); 
		JOptionPane.showMessageDialog(null, "Fim da Agenda"); 
	} 
	else 
		if(indice < 99) 
		{ 
			indice++; 
			tf.setText(agenda[indice][nome]); 
			tf1.setText(agenda[indice][end]); 
			tf2.setText(agenda[indice][cep]); 
			tf3.setText(agenda[indice][tel]); 
			set_title("++"); 
		} 
} 
public void limpar() 
{ 
	tf.setText(""); 
	tf1.setText(""); 
	tf2.setText(""); 
	tf3.setText(""); 
} 
public void actionPerformed(java.awt.event.ActionEvent e) 
{ 
	if(e.getSource() == bt5) 
	{ 
		incluir_salvar(); 
		bt_verificar(); 
	} 
	else 
		if(e.getSource() == bt6) 
		{ 
			excluir(); 
			limpar(); 
			bt_verificar(); 
		} 
		else 
			if(e.getSource() == bt7) 
			{ 
				editar(); 
				bt_verificar(); 
			} 
			else 
				if(e.getSource() == bt8) 
				{ 
					voltar(); 
					bt_verificar(); 
				} 
				else 
					if(e.getSource() == bt9) 
					{ 
						avancar(); 
						bt_verificar(); 
					} 
					else 
						if(e.getSource() == bt10) 
						{ 
							System.exit(0); 
						} 
} 
public static void main(String [] arg) 
{ 
	Agenda janela = new Agenda(); 
	janela.setVisible(true); 
}

}

12 Respostas

drigo.angelo

Oi, bem vinda ao fórum

Quando for postar seu código fonte, utilize a formatação do fórum por favor, fica mais fácil de ler. Este tópico explica como fazer isso, caso ainda não saiba.

Quanto a sua dúvida, você tem certeza que isso é java web? Está utilizando algum framework?

[]'s

otaviojava
import javax.swing.*; 
import javax.swing.event.*;

Rapaz isso é Swing e não extende de uma Applet, logo só pode ser desktop

jessica_nito

ok mas você poderia explicar passo a passo os códigos … ???

Polverini

drigo.angelo:
Oi, bem vinda ao fórum

Quando for postar seu código fonte, utilize a formatação do fórum por favor, fica mais fácil de ler. Este tópico explica como fazer isso, caso ainda não saiba.

Quanto a sua dúvida, você tem certeza que isso é java web? Está utilizando algum framework?

[]'s

De uma olhada no post acima

jessica_nito

é eu me confundi mas alguem pode me explicar ex … o pq do public class agenda extends Jframe implements ActionListner … etc … estou começando a ver java agora … favor me ajudem!

E

jessica_nito:
é eu me confundi mas alguem pode me explicar ex … o pq do public class agenda extends Jframe implements ActionListner … etc … estou começando a ver java agora … favor me ajudem!
Implementa ActionListener pois você está usando nos seus botões. Veja: bt5.addActionListener(this); Assim quando houver ação no botão um evento é executado.

ailujana

é só você postar no lugar certo que vão te ajudar :slight_smile:

Romildo_Paiter

Ola Jessica. Vamos lá… Todos já passaram por isso.

Então temos a classe Agenda, uma classe comum que herda(extends = herança) de JFrame (é uma classe que tem as caracteristica de uma Janela) e recebe uma interface (implements = polimorfismo) de ActionListener, essa cara quer dizer que ele é um ouvidor uma cara que fica escutando as conversas até ser chamado.

Então quando vc for fazer uma janela em vez de criar um jframe qualquer, vc pode utilizar um jframe que vc já criou.

Recomendo que vc que esta começando a desenvolver, acesse e se cadastre no curso gratuito de Swing do Professor Antônio Passos. http://ead.antoniopassos.com.br/

Ele fornece 2 cursos, eu fiz o DADP - Desenvolvimento de Aplicativos Desktop em Java Utilizando Padrões, que é gratuito. Muito bom e muitos conceitos.

Espero ter ajudado.

pedruhenrik

eu aconselho vc estudar um pouco sobre java. você conhece orientação a objetos? já programou?

http://www.caelum.com.br/apostilas/

se eu dissese q a clase publica Agenda, herda a classe Jframe e implementa o ActionListner, ajuda em algo?

JFrame é “uma versão estendida do java.awt.Frame que adiciona suporte para a arquitetura de componentes JFC / Swing.” (http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/JFrame.html")

ActionListner é a interface de escuta para receber eventos de ação. A classe que está interessado no estudo de um evento de ação implementa essa interface, e os objetos criados com essa classe está registrado com um componente, utilizando o método do componente addActionListener. Quando o evento de ação ocorre, o método actionPerformed esse objeto é invocado. (http://download.oracle.com/javase/1.4.2/docs/api/java/awt/event/ActionListener.html)

resumindo, para se desenhar uma tela com swing foi utilizado recursos da classe Jframe e para “ativar” eventos a essa tela vc utiliza recursos do ActionListner.

att,

jessica_nito

aonde posso estar tirando essas duvidas …? estou aprendendo java na marra e tenhu muuuitoas duvidas

as minhas duvidas são … sobre o private pra que ele serve …

public void … pq é criado …

o uso do for  {

for(int i=0;i<100;i++) < - - -  o que é e o por que???

for(int j=0;j<4;j++)

agenda[i][j] = “”;

tf_set_enable(false);

bt_verificar();

}

a direfença do set e o get …

Desculpem … mas estou tendo muuitas deficuldades

ailujana

procure alguma apostila de algoritmos se você não sabe usar um “for” ainda, deposi que souber algoritmos tente olhar novamente java

Romildo_Paiter

Bom… Vamos começar de novo. Java vc não aprende só olhando para o código, vc tem que entender o que esta fazendo.

Para isso vai até o site da Caelum, baixa a apostila F-11 (Java e Orientação a Objeto) + F-21 (Java para desenvolvimento Web)

E bons estudos.

Criado 23 de fevereiro de 2011
Ultima resposta 23 de fev. de 2011
Respostas 12
Participantes 8