Java em Windows 98 - Exista alguma forma?

10 respostas
B

Pessoal,

Boa tarde,

Trabalho com programação e gostaria de entender um pouco mais de Java. O único problema é que os micros que eu tenho disponíveis para programar em java são os micros de casa, que usam windows 98.
Há um tempo atrás eu instalei neles o JDK5, criei alguns “.class” com o notepad e os compilei com o javac.
Exebi esses class pelo internet explorer e eles funcionaram perfeitamente.

Só que meses depois eu fui abri-los pelo internet explorer no mesmo micro e eles não funcionam mais, é como se o internet explorer não achasse eles, aí fica só uma tela cinza onde era pra eles iniciarem, e se eu passo o mouse por cima da uma mensagem de file not found no status do navegador.

Instalei também o JDK5 em outro micro que usa 98(o JDK6 não funciona no 98, pelo menos é o que tá escrito no site da SUN) e tive o mesmo problema, até os aplets de exemplo que vem no JDK5 não funcionam, fica aparecendo só a telinha cinza.

Existe alguma forma de compilar um class pelo windows 98?

Eu não quero nem a interface gráfica, só queria que o compilador funcionasse e a runtime conseguisse executá-los.

Se alguem souber alguma forma me da uma ajuda.

[]s a todos.

10 Respostas

B

Ola

A priorio o class que vc complilou funciona em qq JVM com a versao que vc compilou ou uma JVM mais atual… se a JDK 1.5 funciona no win 98 e vc compilou num JDK 1.5… entao deveria funcionar…

S

Como você está executando?

B

Então, mas o problema é que nem os exemplos que vem no JDK5 tão funcionando, da o mesmo erro que o do meu arquivo.

Vou colocar os códigos.

O código que eu compilei foi de um exemplo que um amigo me passou, só pra eu começar a me familiarizar com a linguagem:

BinarySearch.java
/*
	Fig. 7.13: BinarySearch.java
	Pesquisa binária de um array
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.*;

public class BinarySearch extends JApplet implements ActionListener {
	JLabel enterLabel, resultLabel;
	JTextField enter, result;
	JTextArea output;

	int a[];
	String display = "";

	public void init()
	{
		Container c = getContentPane();
		c.setLayout (new FlowLayout());

		enterLabel = new JLabel ("Entre com o par [0-28]:");
		c.add (enterLabel);

		enter = new JTextField (5);
		enter.addActionListener (this);
		c.add (enter);

		resultLabel = new JLabel("Resultado:");
		c.add (resultLabel);

		result = new JTextField (22);
		result.setEditable (false);
		c.add (result);

		output = new JTextArea (6,60);
		output.setFont(
				new Font("Courier", Font.PLAIN, 12));
		c.add (output);

		// cria array e preenche com inteiros pares de 0 a 28
		a = new int[15];
		
		for (int i = 0; i < a.length; i++)
			a[i] = 2 * i;
	}

	public void actionPerformed (ActionEvent e)
	{
		String searchKey = e.getActionCommand();

		// inicia string display para a nova pesquisa
		display = "Dividindo o array para procurar\n";

		// realiza a pesquisa binária
		int element =
			binarySearch (a, Integer.parseInt (searchKey));

		output.setText(display);

		if (element != 1)
			result.setText (
				"Encontrado o elemento: " + element);
		else
			result.setText ("Valor não encontrado");
	}

	// Pesquisa binária
	public int binarySearch (int array[], int key)
	{
		int low = 0;						// subscrito baixo
		int high = array.length - 1;	// subscrito alto
		int middle;							// subscrito intermediário

		while (low <= high) {
			middle = (low + high) / 2;

			// A linha a seguir é utilizada para exibir a parte
			// do array sendo atualmente manipulada durante
			// cada iteração do laço de pesquisa binária.
			buildOutput (low, middle, high);

			if (key == array[middle]) // correspondente
				return middle;
			else if (key < array[middle])
				high = middle - 1; // pesquisa o fundo do array
			else
				low = middle + 1;	// pesquisa o alto do array
		}
		
		return -1; // search não localizado
	}
		
	// Contrói uma linha de saída para manter a parte
	// atual do array sendo processada
	void buildOutput (int low, int mid, int high)
	{
		DecimalFormat twoDigits = new DecimalFormat ("00");
		
		for (int i = 0; i <a.length; i++) {
			if (i < low || i > high)
				display += "    ";
			else if (i == mid) // marca o elemento intermediário na saida
				display += twoDigits.format (a[i]) + "* ";
			else
				display += twoDigits.format (a[i]) + "  ";
		}
		
		display += "\n";
	}
}

Aí eu compilei num BinarySearch.class e coloquei num html, assim:

<html>
<applet code="BinarySearch.class" width=550 height=150>
</applet>
</html>

Antes funcionava, mas agora não abre mais.
Lembrando que eu to compilando com o JDK5, pq o 6 não roda no 98.

B

Só mais uma pergunta, desculpa a ignorância :lol: O que é um JVM?

S

Java Virtual Machine.

Eu testei aqui e funcionou. O arquivo .class está no mesmo diretório que o .html ?

B

Sim, está sim.

Eu baixei uns exemplos de códigos fonte aqui no site e percebi que eles chamavam o .class de uma outra forma.
Fiz deste outro jeito e agora funcionou:

<html>


<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
         width="300" height="250" align="baseline">

     <PARAM NAME="code" VALUE="BinarySearch.class">
     <PARAM NAME="codebase" VALUE=".">
 
</applet>
</html>

Não sei se me confundi, ou se antes realmente funcionava daquele outro jeito que eu coloquei no HTML.

Obrigado Schuenemann e BrunoCarlo, agora vou conseguir começar a estudar a linguagem =P

S

Pelo que sei, o elemento applet foi depreciado do HTML. Lembrei agora que uns applets de exemplo que vêm com o JDK têm um tratamento pra isso, avisando que o browser não suporta aquilo.

Eu tinha testado com o Firefox aqui.

B

Entendo, eu estava desconfiando de algo do gênero.

Quanto a essa tag object que eu usei e funcionou, todos esses parâmetros são necessários? Existem algum lugar que eu possa encontrar explicações sobre cada um deles e de outros que possam vir a existir?

Desculpa se estou me apegando a detalhes, é que nesses casos eu sou realmente curioso.

[]s, e obrigado pela ajuda!

S

Nem sei dizer. Olha no site da W3C. http://www.w3c.org

B

Ok, obrigado, vou dar uma olhada!

Criado 24 de março de 2007
Ultima resposta 27 de mar. de 2007
Respostas 10
Participantes 3