Receber dados do teclado e usá-los num applet

11 respostas
Kaioar

Olá pessoal, peço a ajuda de vcs…
Queria que me dissessem como faço pra receber dados do teclado (valores inteiros) e usá-los num applet… Sou iniciante no Java e preciso muito que me ajudem.
Obrigado…

11 Respostas

Foxlol

Scanner input = new Scanner (System.in);

int i = input.nextInt();

:lol:

Não esquecendo de importar:

import java.util.Scanner;

ou usar o full-qualified name

Kaioar

Obrigado Foxlol, porém ocorreu um problema. O applet não roda. Não sei se fiz errado, mas apenas adicionei os commandos

Scanner input = new Scanner (System.in);
int i = input.nextInt();

que vc citou e importei o pacote como você disse. Tá tudo certo?
O arquivo .java compilou numa boa, mas o applet simplesmente não rodou. O que faço?
Grato

Foxlol

Calma !

Eu não sei como vc ta fazendo seu Applet (alias sei mto poko ou quase nada disso) … só te mostrei como vc ler numeros inteiros do teclado. Utilizando um objeto da classe Scanner. Agora vc molda isso no seu applet.

O método input.nextInt() retorna um inteiro digitado no prompt ai vc atribui o resultado à alguma coisa. De exemplo usei uma variável ‘i’ do tipo int.

Flw

Kaioar

Entendi o que me disse e sei como usar em um aplicativo em java, mas não sei como faço para um applet. Eu devo utilizar os comandos dentro da classe do applet? Acho que já percebeu que sou bastante leigo…rs
Desculpa o transtorno ai…
Obrigado

Foxlol

HAhaha relaxa q eu tbm sou leigo.

Mas então, posta o código da classe do seu applet ai que fica mais fácil de te mostrar, e saber oq vc realmente quer.

Kaioar

Blz
O código tá aí…

import java.awt.Graphics;
import java.awt.Color;

public class PlanoInclinado2 extends java.applet.Applet implements Runnable {

Thread runner;
int xpos;
int ux1,ux2,uy1,uy2;

public void start() {
	if (runner == null); {
	  runner = new Thread(this);
	  runner.start();
	}
}

public void stop() {
	if (runner != null) {
	  runner.stop();
	  runner = null;
	}
}

public void run() {
	while (true) {
	  for (xpos = 5; xpos <= 505; xpos+=4) {
		repaint();
		try { Thread.sleep(100); }
		catch (InterruptedException e) { }
	
	  }
	  
	}
}


public void paint(Graphics g) {
	
	// Desenhando o plano
	g.setColor(Color.blue);
	g.drawLine(0,63,500,563);

	// Desenhando a esfera
	g.setColor(Color.red);
	g.fillOval(xpos,xpos,90,90);
	
}

}

O que eu quero é que quem tenha acesso a applet possa escolher no início, através do teclado, os valores que eu vou utilizar no lugar do 90 no método fillOval dentro de paint.
É só pra começar, depois eu vou aprimorando o applet.
Valeu

Foxlol

Kaioar:
Blz
O código tá aí…

import java.awt.Graphics;
import java.awt.Color;

public class PlanoInclinado2 extends java.applet.Applet implements Runnable {

Thread runner;
int xpos;
int ux1,ux2,uy1,uy2;

public void start() {
	if (runner == null); {
	  runner = new Thread(this);
	  runner.start();
	}
}

public void stop() {
	if (runner != null) {
	  runner.stop();
	  runner = null;
	}
}

public void run() {
	while (true) {
	  for (xpos = 5; xpos <= 505; xpos+=4) {
		repaint();
		try { Thread.sleep(100); }
		catch (InterruptedException e) { }
	
	  }
	  
	}
}


public void paint(Graphics g) {
	
	// Desenhando o plano
	g.setColor(Color.blue);
	g.drawLine(0,63,500,563);

	// Desenhando a esfera
	g.setColor(Color.red);
	g.fillOval(xpos,xpos,90,90);
	
}

}

O que eu quero é que quem tenha acesso a applet possa escolher no início, através do teclado, os valores que eu vou utilizar no lugar do 90 no método fillOval dentro de paint.
É só pra começar, depois eu vou aprimorando o applet.
Valeu

Ok !

Dentro desse método paint passe mais um parâmetro int.

Cria uma outra classe que possua o método main e uma variavel local int e tbm instancie a classe PlanoInclinado2.

Faça a variavel local receber o valor inteiro (utilizando um objeto da classe Scanner) e então passe este inteiro atribuido como argumento ao método paint.

Espero ter ajudado … porém não entendo de applets e mto pouco de Threads.

Anyway =/

Abraço

Kaioar

Obrigado cara…
Mas deixa eu te fazer uma última pergunta(muito estúpida por sinal):
O que significa instanciar(ou como se instancia) a classe PlanoInclinado2?
Valeu mesmo…
Abraço

Foxlol

Eh assim …

Vc tem a classe PlanoInclinado2 neh ?

Entaum vc vai criar um objeto dessa classe, ou seja, instancia-la.
Pense em classes como se fossem PLANTAS DE CASAS e os objetos como as CASAS já prontas.

Vc instancia a classe para poder utilizala-la (seus métodos, atributos) …

Ex:

PlanoInclinado2 plano = new PlanoInclinado2();

Isso eh instanciar …

Ai vc utiliza o objeto “plano”:

plano.start();

plano.stop();

plano.run();

.

.

.

Estude um pouco de orientação a objetos que vc vai entender melhor ^^

Kaioar

Blz… Meu problema estava com a palavra instanciar.
Muito obrigado, Kra…
Valeu msm. Até mais.

Foxlol

De nada cara =)

Ateh

Criado 3 de agosto de 2006
Ultima resposta 3 de ago. de 2006
Respostas 11
Participantes 2