Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

red neck *

Socket Cliente

Recommended Posts

to tentando fazer um esquema doido aqui mais nao funfa de jeito nenhum... java é confuso, ou eu sou confuso, sei la =[[ helpa ai ?

import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.IOException;import java.io.PrintStream;import java.net.Socket;class criaFrame01 {	public static void main(String[] args)	{		Frame f = new Frame();		f.setVisible(true);	}}class Frame01 extends JFrame implements ActionListener{      JTextField texto	= new JTextField(32);   JButton	submit   = new JButton("Enviar");   Component  textarea = new TextArea();   String	   text;	  	public Frame01() // Construtor	{		this.setTitle("Socket Teste");		this.setSize(470, 250);	  this.setResizable(false);		this.addWindowListener(new WindowAdapter() {			public void windowClosing(WindowEvent e) {				System.exit(0);			}		});	   	  getContentPane().setLayout(new FlowLayout());	  getContentPane().add(textarea);	  getContentPane().add(texto);	  submit.addActionListener(this); getContentPane().add(submit);   	}}class connCliente extends Frame01{      public static void main(ActionEvent e){	  if(e.getSource() == "submit"){		 ConnCliente con = new ConnCliente();		 t.cliente(texto.getText());	  }   }   	public char cliente(String args[]) {		Socket sock = null;		PrintStream stream = null;	   		try{			sock = new Socket("127.0.0.1",7000);			stream = new PrintStream(sock.getOutputStream());		   			stream.println(text);		   		}catch(IOException e){		   			System.out.println("Error 401: Não foi possivel conectar ao servidor.");   		}finally{			try{			   sock.close();			}catch(IOException e){}	   		}	}}
ta, pode estar estranho, mais é o melhor jeito que eu to achando para fazer :P

--------------------Configuration: <Default>--------------------C:\Documents and Settings\Luiz Fernando\Meus documentos\Java\aprendendoSockets\frameCliente.java:16: Frame01 is not abstract and does not override abstract method actionPerformed(java.awt.event.ActionEvent) in java.awt.event.ActionListenerclass Frame01 extends JFrame implements ActionListener{^C:\Documents and Settings\Luiz Fernando\Meus documentos\Java\aprendendoSockets\frameCliente.java:48: cannot resolve symbolsymbol : class ConnClientelocation: class connClienteConnCliente con = new ConnCliente();^C:\Documents and Settings\Luiz Fernando\Meus documentos\Java\aprendendoSockets\frameCliente.java:48: cannot resolve symbolsymbol : class ConnClientelocation: class connClienteConnCliente con = new ConnCliente();^C:\Documents and Settings\Luiz Fernando\Meus documentos\Java\aprendendoSockets\frameCliente.java:49: non-static variable texto cannot be referenced from a static contextt.cliente(texto.getText());^C:\Documents and Settings\Luiz Fernando\Meus documentos\Java\aprendendoSockets\frameCliente.java:49: cannot resolve symbolsymbol : variable tlocation: class connClientet.cliente(texto.getText());^5 errorsProcess completed.

abracos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vejamos então quais são os erros:

C:\Documents and Settings\Luiz Fernando\Meus documentos\Java\aprendendoSockets\frameCliente.java:16: Frame01 is not abstract and does not override abstract method actionPerformed(java.awt.event.ActionEvent) in java.awt.event.ActionListener

class Frame01 extends JFrame implements ActionListener{

^

Bom, tu estás criando uma classe que implementa a Interface ActionListener. Sendo assim, todos os métodos da interface têm que ser implementados na tua classe. A interface ActionListener possui o método actionPerformed(ActionEvent e). Isso significa que tua classe Frame01 DEVE possuir um método actionPerformed(ActionEvent e).

 

C:\Documents and Settings\Luiz Fernando\Meus documentos\Java\aprendendoSockets\frameCliente.java:48: cannot resolve symbol

symbol : class ConnCliente

location: class connCliente

ConnCliente con = new ConnCliente();

^

C:\Documents and Settings\Luiz Fernando\Meus documentos\Java\aprendendoSockets\frameCliente.java:48: cannot resolve symbol

symbol : class ConnCliente

location: class connCliente

ConnCliente con = new ConnCliente();

^

O nome da tua classe é connCliente e não ConnCliente. Java é uma linguagem que faz distinção entre letras maiúsculas e minúsculas. Para a linguagem connCliente é diferente de ConnCliente.

 

C:\Documents and Settings\Luiz Fernando\Meus documentos\Java\aprendendoSockets\frameCliente.java:49: non-static variable texto cannot be referenced from a static context

t.cliente(texto.getText());

^

Métodos estatáticos só podem utilizar variáveis estáticas ou variáveis declaradas no próprio método....

Ex.:

class connCliente extends Frame01{   // A variável texto está sendo declarada como "static", podendo ser utilizada dentro do método main que é "static".   static JTextField texto	= new JTextField(32);     public static void main(ActionEvent e)   {	  if(e.getSource() == "submit")	 {		 ConnCliente con = new ConnCliente();		 t.cliente(texto.getText());	 }   }   ...}

C:\Documents and Settings\Luiz Fernando\Meus documentos\Java\aprendendoSockets\frameCliente.java:49: cannot resolve symbol

symbol : variable t

location: class connCliente

t.cliente(texto.getText());

^

O java não está encontrando a variável t. Verifique se ela foi declarada no escopo do método onde estás chamando por ela. Por exemplo:

pubic class Teste{   // a var1 é uma variável da classe teste... O escopo da variável é a classe, por isso todos os métodos da classe podem usá-la.   int var1;      public void testando(int var2)   {	  int var3;	  // tanto a var2 qnto a var3 foram declaradas dentro do método testando, ou seja, o escopo dessas variáveis é o método. Qndo o método chegar ao fim elas deixarão de existir...    }}
Bom, espero q tenha ficado tudo bem explicado... qq outra dúvida posta ai...

Beijos...

Dani

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.