Retorna uma classe

ola gostaria de saber se tem algum metodo em java q por exemplo comparasse é um botao? é, entao me retornaria um JButton, ou se fosse JTextField.
simplificando na verdade é comparar se é a classe tal se for me retorne ela, um JButton, JTextfField ou uma classe q eu criei.
valeu galera. :grin:

Vc quer saber se um objeto eh instancia de uma determinada classe?? se for, utilize o operador instanceof

exemplo:

javax.swing.JButton botao = new javax.swing.JButton();
if( botao instanceof javax.swing.JButton ) //retorna true
{
    ....
}
else if( botao instanceof javax.swing.JTextField ) //retorna false
{
    ....
}

espero ter ajudado…

po valeu, mas não é isso na verdade eu queria uma coersão dinâmica, tipo assim
= (TipodaClasse) Classe
eu ate sei como fazer poderia fazer um if antes e comparar e depois instanciava. mas queria ver se no java tem como.

Putz… nunca testei isso mas as vezes da certo… ow entaum sou burro d+ pra entender o q vc ta qrendo…

Class classe = javax.swing.JButton.getClass( );
Object obj;

if( classe.equals( javax.swing.JButton.getClass( ) ) )
{
     obj = classe.newInstance( );
}

da uma olhada no pacote java.lang… as vezes lah tem alguma coisa parecido com o que vc quer…

po valeu sua ideia é inteligente, mas não é exatamente isso

tipo assim…

comparo uma string q tem o nome da classe
String srt == “JButton” ; (seria equals)
dai eu tenho a classe, sao varias classes filhas diferentes entao tenho q fazer um cash dinamico.
superClasse classe = (JButton)superClasse;

o cash do JButton é so um exemplo mas sao classes q eu criei
e cada hora pode ser uma classe filha diferente ai tenho q fazer uma coesão dinamica.
vc sabe o é coesao ou cash(mesma coisa)? não é . só estou supondo q vc saiba blz amigo.

mas valeu a atençao.

[quote=“Ejunior”]po valeu sua ideia é inteligente, mas não é exatamente isso

tipo assim…

comparo uma string q tem o nome da classe
String srt == “JButton” ; (seria equals)
dai eu tenho a classe, sao varias classes filhas diferentes entao tenho q fazer um cash dinamico.
superClasse classe = (JButton)superClasse;

o cash do JButton é so um exemplo mas sao classes q eu criei
e cada hora pode ser uma classe filha diferente ai tenho q fazer uma coesão dinamica.
vc sabe o é coesao ou cash(mesma coisa)? não é . só estou supondo q vc saiba blz amigo.

mas valeu a atençao.[/quote]

cash??

vc quer dizer cast naum??

pelo que eu saiba naum tem como fazer um cast dinamico como vc falou… tipo ao inves de por o nome da classe, colocar uma string neh? pelo menos ate a versao 1.4 naum eh possivel… talvez na 1.5… mas nao sei te dizer…

o rapa realmente foi mal é cast, falha minha e q eu gostumo falar coersao, mas tudo bem, estou perguntando é pq um amigo disse q é possivel fazer no delphi por isso achei q talves tinha como fazer no java sacou.
mas valeu :lol:

as vezes ha uma forma… mas naum sei… tente bolar algo com aquela logica que te passei… pensando rapidamente creio que exista uma maneira… veja a classe java.lang.Class que vc vai ver uma forma de fazer isso…
tamos ae pra ajudar… flws

Ola, eu não sei se funciona para cast, mas tenta por refletion, tipo:

String c = "javax.swing.JButton";
Class class = Class.forName(c).newInstance(); 
superClasse classe = (class)superClasse; 

Agora, eu não testei, mas como já disse o diegodrumond “as vezes dá certo”.

Valeu

[quote=“BrunoCarlo”]Ola, eu não sei se funciona para cast, mas tenta por refletion, tipo:

String c = "javax.swing.JButton";
Class class = Class.forName(c).newInstance(); 
superClasse classe = (class)superClasse; 

Agora, eu não testei, mas como já disse o diegodrumond “as vezes dá certo”.

Valeu[/quote]

eu testei anteriormente… no cast ele naum aceita um objeto do tipo Class…[/code]