Bug jdk 1.6.0_25

7 respostas
Poneis123

Galera,

Acho que acabei de verificar ou descobrir um bug da JDK 1.6.0_25

Com o código abaixo, acessando a ComboBox via teclado e utilizando das setas para navegar entre os itens da combo box mesmo sem apertar enter para mudar o valor do combo, ele está acessando a action listener do combo.. e se por acaso chamar o método removeAllItens() do JComboBox tb acessa a actionlistener do JComboBox como se tivesse clicando em algum item do combo. Alguem já viu isso? sabe apartir de qual versão começou esse problema? Há alguma maneira de reportar à oracle?

Testei o mesmo codigo com uma jdk 1.6 diferente e funcionou, mas não sei qual é a release desta q testei. vou tentar verificar aqui.

Codigo de teste:
package com.teste;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

public class Frame extends JFrame{
   
	   private JComboBox combo;   
	   private JButton botao;   
	 	      
	   public Frame() {   
	      Container contentPane = this.getContentPane();   
	         
	      JPanel painel = new JPanel();   
	         
	      combo = new JComboBox();   
	      combo.addItem("Bauru");   
	      combo.addItem("São Carlos");   
	      combo.addItem("São Paulo");
	      
	      //ACTION DO JCOMBO BOX - TESTE JDK 1.6_25
	      combo.addActionListener(new ActionListener(){
			@Override
			public void actionPerformed(ActionEvent e) {
				JOptionPane.showMessageDialog(null, "ACESSOU ACTION LISTENER DO COMBO!");
			}
	      });
	         
	      botao = new JButton("Clique");   
	      botao.addActionListener(new ActionListener() {   
	         public void actionPerformed(ActionEvent e) {   
	            JOptionPane.showMessageDialog(Frame.this, "ACTION LISTENER DO BOTÃO");   
	         }   
	      });   
	         
	      painel.add(combo);   
	      painel.add(botao);   
	         
	      contentPane.add(painel, BorderLayout.NORTH);   
	         
	      this.setTitle("Teste JDK 1.6_25 JComboBox");   
	      this.pack();   
	      this.setVisible(true);   
	   }
	   
	   public static void main(String[] args){
		   new Frame();
	   }
	   
	   
}

Abrs.

7 Respostas

Poneis123

Acabei de baixar a JRE 1.6.0_26 que esta sim é a ultima release do java e o problema persiste.

Sabem como podemos reportar o erro? Vou tentar baixar as releases anteriores e achar uma que não dá esse problema. rs. Se puderem me ajudar fico grato.

Att,

D

acho que não é o ultimo não, não conheço de código, mas como estou iniciando, ontem baixei tudo necessário JDK e JRE

e consta como 1.7 :expressionless:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

edit: JRE 7

http://www.oracle.com/technetwork/java/javase/downloads/java-se-jre-7-download-432155.html

Poneis123

O Java 7 foi lançado mes passado, A ultima release do Java 6 =)

Estranho é que não to achando a release que funciona, eu tenho uma jdk aqui da IBM que funciona normal e a versão desta jdk da ibm consta como 1.6.0…

Alguem sabe o que é isso? será que é caracteristica mesmo e eu preciso contornar de outra forma? Baixei varias releases do site da Oracle (http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u24-oth-JPR) e não encontrei um que funcione.

Att,

Jose111

Estranho é que não to achando a release que funciona, eu tenho uma jdk aqui da IBM que funciona normal e a versão desta jdk da ibm consta como 1.6.0…

Você ja pensou na possibilidade do JDK da IBM não ter a implementação padrão?

Poneis123

Sim já pensei nisso, mas num isenta de que a jdk da oracle está com bug… e é complicado pq estou desenvolvendo uma aplicação swing que será distribuida para varios usuários e eles tem sempre as versões de JRE da oracle e com ela não funciona… talvez eu tenha que mandar junto com a aplicação a JRE da IBM né?

Por isso que seria ideal se a JRE da oracle funcionasse. =(

Jose111

Ao me ver não tem bug nenhum na JVM da Oracle…

Se vc esta usando o JDK da IBM vc ja deveria estar preparado para usar a JVM IBM… se não me engano tem mais algumas incompatibilidades…

Poneis123

O código que eu postei foi um código que peguei na internet só pra testar essa funcionalidade da action listener do JComboBox, usei a jdk IBM só para teste para ver se não ocorria o problema. Vendo a funcionalidade de um comboBox pra mim é bug da JDK oracle… vc chegou a testar aquele código que postei na jdk oracle? Se aquilo for poposital, da zero pra eles rs.

Criado 3 de agosto de 2011
Ultima resposta 3 de ago. de 2011
Respostas 7
Participantes 3