Forum Main Page > Java Básico

Como entender a API

Goto page 1

New Topic    Reply Message
  1. Comment Arrow




  1. Zeca Horstmann
    Offline
    Posts: 60

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    Bem que meu pai sempre diz, "você pecisa aprender inglês!". Ele está certo. Não é que eu não aprendi, mas não aprendi muito, meu inglês é ruim. Mas o problema de consultar e entender a API não é uma questão de inglês bom ou ruim, não é uma questão de ler o que faz um método , ou uma classe, nada disso, o problema está em entender como se consulta a API?

    Eu não gostaria de ter que consultar a API apenas no sufoco, na hora em que preciso de entender uma questão, eu gostaria de consultar a API como se consulta um livro. Como eu sou iniciante em Java, vou dar um exemplo de iniciante. Suponha que eu não saiba da existência do método setBackground que coloca cor na janela de um aplicativo. Digamos que eu nunca ouvi falar desse tal setBrackground, mas eu estou desejando saber como faço para colocar a cor green na janela. Então, eu tenho um problema a resolver, colocar cor de fundo na janela, mas não sei que

    setBackground(Color.green)

    coloca a cor verde na janela, suponha, amigos, que eu não soubesse. Aí vou na API, mas vou procurar o quê? A classe? Qual classe? O método? Qual método? Como eu inicio uma pesquisa na API?

    Agora, vou para outro tipo de dúvida. No meu aplicativo eu tenho que passar o mouse por sobre uma JLabel e disparar uma ação, eu sei que a Interface é a MouseListener, e o método a ser usado é o mouseEntered, mas eu só sei porque já vi isso em um aplicativo. Mas eu desejaria ter o problema e saber procurar isto na API. Começo por onde? Abrindo a classe JLabel? Mas se eu não sei que a interface é a MouseListener, como vou procurar isto?

    Amigos, sei que vocês não devem ter este problema, sei que pode ser coisa meio ridícula fazer esse tipo de pergunta, mas se alguém achar que isso merece explicação, eu seria muito agradecido se alguém me ajudasse, dando alguma orientação.

    Um abraço para todos,
    Zeca




  1. Yky Mattshawn
    Offline
    Posts: 189

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    Bom, quando tu estás querendo procurar por alguma classe e não sabe, por exemplo, a qual pacote ela pertence, então tu podes ver na listagem geral que parece logo no carregamento da página de API, lá tem uma lista completa de todas as classes disponíveis, então basta tu encontrares a desejada.

    No caso em que tu estás procurando um método, como o setBackground, até concordo que não seria tão simples pois eu não encontrei (talvez por nunca ter pensado nisso) alguma listagem destes. Porém, vale lembrar que tu nunca vais simplesmente pensar "ah!, será que existe o método setPalavrinha?" Tu sempre terás o porquê de procurar pelo tal método, ou seja, sempre vai tê-lo visto ser usado em alguma classe, portanto, basta procurar pela classe e então pelo método. Lembrando que, caso o método não pertença à classe, tem de se olhar aos métodos herdados.

    Quote:

    Aí vou na API, mas vou procurar o quê? A classe? Qual classe? O método? Qual método? Como eu inicio uma pesquisa na API?



    Acredito que, quando tu queres encontrar alguma funcionalidade, a primeira coisa que tu vais procurar é pela classe onde tu desejas fazê-lo. Ou seja, se tu queres encontrar o método que adiciona cor ao fundo de um JPanel, a primeira coisa a fazer é procurar pela dita classe.
    Caso a consulta à API seja por livre e espontânea vontade, tu entãovais procurar por quaisquer classes que quiser.

    Quote:

    No meu aplicativo eu tenho que passar o mouse por sobre uma JLabel e disparar uma ação, eu sei que a Interface é a MouseListener, e o método a ser usado é o mouseEntered, mas eu só sei porque já vi isso em um aplicativo. Mas eu desejaria ter o problema e saber procurar isto na API. Começo por onde? Abrindo a classe JLabel? Mas se eu não sei que a interface é a MouseListener, como vou procurar isto?



    Isso é meio relativo cara, pois, no momento que alguém se dispõem a fazer uma interface gráfica por mais simples que seja, supõem-se que já se saiba de tratamento de eventos e outras coisas relacionadas. No exato caso que tu citastes, a única solução é pedir auxílio a alguém que já saiba.
    Começar a fazer uma GUI sem saber as interfaces necessárias é o mesmo que começar a criar frases sem saber o que é um sujeito. Tais situações ocorrem por que muitas pessoas começam a estudar Java ou qualquer outra linguagem por necessidade, o que ocorre,então, é que estas aprendem a calcular 2 + 2 e já querem escrever longos scripts com banco de dados.
    Em uma situação comum, jamais alguém criaria uma GUI sem antes ter uma noção pelo menos intermediária de o que são os tratamentos de eventos e como eles funcionam.

    P.S.: também sou iniciante em Java, portanto, se quiser me add no MSN, pode fazê-lo.
    _________________
    0
    Yky Mattshawn [ Compusoft - Desenvolvimento de Sistemas Empresariais ]
    Java/Clarion/Ajax/CSS/VBS/JS/ASP/WML/WMLS - "Tudo que é ortodoxo ou heterodoxo demais gera heresia."




  1. Zeca Horstmann
    Offline
    Posts: 60

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    Olá, Yki Mattshawn,

    Sua explicação foi muito boa, melhorou meu conhecimento sobre o assunto, mas a coisa pega pra quem tem pouca experiência, eu não tenho ainda um mês de estudo do java.

    A questão é que às vezes a gente sabe o que quer fazer no aplicativo, mas não sabe como encontrar as coisas na API, e aí fica pensando, qual será a classe que permite fazer isto, mas se nem sabe a classe, como saber o pacote a importar? Esse tipo de dificuldade existe. Será que é só minha?

    Um dia desses eu precisava saber como formatar uma variável double para que ela, na saída, aparecesse em uma JTextField com apenas duas casas decimais, porque era R$. Então, eu procurei pela JTextField na API, mas é tanta informação que aparece lá, e é claro que tem que aparecer mesmo, mas a gente iniciante fica sem saber o que procurar. Depois um amigo aqui no forum deu uma dica, procure NumberFormat, aí já melhorou, mas eu fico desejando é encontrar uma forma, uma regra, para pesquisar a API. É posível que não exista essa regra, mas ajudaria se existisse, ou se alguém tiver um caminho a ser seguido.

    Mas sua ajuda já valeu, melhorou a forma de saber essa coisa. E se eu precisar de sua ajuda, agradeço o oferecimento do seu MSN, cara, vou lá sim te consultar sobre umas paradas difíceis quando precisar. Valeu.

    Mas, continuo aguardando de amigos, novas dicas de como procurar as coisas na API, quando se deseja implementar coisas em um aplicativo.

    Abraço, gente.
    Zeca




  1. victorhugomuniz
    Offline
    Posts: 749

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    dividir para conquistar

    o que vc quer ?
    quero colocar cor no fundo

    isso é GUI (interface de usuario), vc tem que saber as classes correspondentes a isso (awt, swing)

    quando vc ja conheçe outras linguagens incluindo o ingles, vc logo vai saber que deve procurar algo que tenha 'background' 'color' e como vc que mudar a cor 'set' 'change'
    se vc quer comer algo vc não vai a um posto de gasolina ne, a não ser que tenha uma loja de conveniencias

    esteja sempre ligado na hieranquia das classes ... algo que vc não encontre no swing vc encontrará no awt e se não encontrar lá volta para o inicio da sua busca...

    java.lang.Object
    java.awt.Component
    java.awt.Button

    java.lang.Object
    java.awt.Component
    java.awt.Container
    javax.swing.JComponent
    javax.swing.AbstractButton
    javax.swing.JButton

    as vezes o metodo que vc quer não vai estar no JButton que vc está usando e sim na JComponent por exemplo

    em fim
    tentei ajudar
    abraços
    _________________
    Jesus está voltando, volte antes para Ele.
    "I know a place where we can carry on.."

    twitter.com/vhmmas




  1. victorhugomuniz
    Offline
    Posts: 749

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    outa coisa ..
    instale e use o eclipse... ele tem recursos que podem te ajudar, quando vc colocar um ponto (ex: String nome; nome. 'janela de opções' ) abre os metodos possiveis para utilização
    _________________
    Jesus está voltando, volte antes para Ele.
    "I know a place where we can carry on.."

    twitter.com/vhmmas




  1. Zeca Horstmann
    Offline
    Posts: 60

    Comment Arrow

    Publicado em: 10/04/2009 05:18:44

    Ao Vitor Hugo,

    Cara, valeu sua ajuda, entendi melhor como fazer a procura na API, e essa dica sobre o Eclipse foi muito legal porque só em abrir as opções já é uma coisa que facilita. Eu segui um conselho que li nos foruns de que o iniciante deve primeiro aprender o básico digitando seus códigos, então eu uso apenas o Bloco de Notas do Windows, mas eu estou me preparando para usar sim ou o JCreator ou o Eclipse, com essa sua dica, acho que vou preferir o Eclipse.

    Valeu, Vitor, muito obrigado pela ajuda. Sabe como é, no início de qualquer coisa, tudo é complicado, quando eu comprei uma guitarra não sabia nem colocar uma corda, hoje eu gravo em estúdio, mas ainda estou aprendendo a tocar, a gente está sempre aprendendo. Na Java, ainda estou aprendendo a colocar a corda! Um abração, amigo, muito obrigado.
    Zeca




  1. Relacionados




  1. Anunciante





New Topic    Reply Message     Forum Main Page -> Java Básico


Goto page 1