Dúvidas além de Java

16 respostas
LucasJavaTry

O primeiro “problema” (dúvida) é sobre Java, a seguinte:
Eu uso , na maioria das vezes : import javax.swing.*
OK; só que eu quero saber, quais são TODOS os códigos de importação, e se eu posso colocar eles mesmo se eu não estiver usando o “comando”. (Exemplo : “import javax.swing.JFrame” sem “JFrame” no Java…

OK, Próximo:

Estou com outro problema, o seguinte:
Eu estava com um CD-R (“Gravável”) e queria gravar um ícone que eu ia usar para um jogo que estava com um muito estranho…
OK… Mas agora , quero deixar ele em “Oculto” … Há como alterar isso? Porque sempre fica aparecendo , até no “CMD” : Acesso negado - D:\IB2.ico

Obrigado ;
Lucas

16 Respostas

E
  1. Usar
import javax.swing.*

em vez de

import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
...
bla...
...

não faz diferença absolutamente nenhuma tanto na velocidade de compilação quanto na velocidade de execução.
É que o código gerado é exatamente o mesmo (o compilador importa apenas as classes necessárias).

  1. O atributo “hidden” (oculto) não oculta muita coisa, na verdade. Não acho que isso resolva seu problema.
    Por que é que aparece “acesso negado” é uma boa pergunta.
Rodrigo_Sasaki

Respondendo à sua primeira dúvida… você pode ter quantos imports quiser, desde que as classes importadas sejam visíveis à sua classe atual, se não forem você terá um erro durante a compilação.

Agora se forem visíveis, pode importar quantas quiser, mas não sei por que você iria querer importar uma classe sem utilizá-la.

drsmachado

De preferência, crie um tópico para cada dúvida, desde que as mesmas sejam diferentes, como é o caso.
Respondendo a questão 1:
Sim. Apenas haverá um alerta para código/importação não utilizado.
Até considero mais elegante trocar o

import javax.swing.*;

por

import javax.swing.JOptionPane;
import javax.swing.JLabel;

E assim por diante.

E

Se estiver usando o Eclipse, use Ctrl+Shift+O para que ele deixe só os imports das classes e interfaces que você estiver usando na sua classe.
(Deve haver algum comando semelhante no NetBeans, mas não estou com ele aqui para conferir qual é a tecla, ou comando do menu, que faz isso).
Aí você evita ter um programa cheio de imports que estão lá só para lhe confundir.

drsmachado

entanglement:
Se estiver usando o Eclipse, use Ctrl+Shift+O para que ele deixe só os imports das classes e interfaces que você estiver usando na sua classe.
(Deve haver algum comando semelhante no NetBeans, mas não estou com ele aqui para conferir qual é a tecla, ou comando do menu, que faz isso).
Aí você evita ter um programa cheio de imports que estão lá só para lhe confundir.

Se bem me lembro, netbeans é CTRL + SHIFT + I

LucasJavaTry

Gente , vocês não estão entendendo a parte do java , eu quero todos :

import *.*.*.*.* (etc)
E

O C# tem o “using System.Net;” que é equivalente a “import java.net.*;”, só que ele não permite importar uma classe de cada vez.

Acho que isso diminui um pouco a legibilidade de programas - afinal de contas, quando você encontra um “PQPDao” no meio do seu programa, é importante saber de que pacote o DAO foi importado, em vez de você simplesmente ter um import de pacotes.

Na verdade, o C# até “deixa”, mas não é intuitivo. Você pode usar algo como:

using IPAddress = System.Net.IPAddress;

que é um porre, porque
a) Eu tenho de repetir o nome, e
b) Você pode acabar fazendo uma salada, como

using ipaddress = System.Net.IPAddress;

(aliás, é para isso que se inventou esse recurso - para dar um nome diferente a classes que têm o mesmo nome. Um exemplo de onde isso seria interessante no Java é quando você tem uma classe que usa, ao mesmo tempo, uma java.awt.List e uma java.util.List - você poderia fazer algo como

using awtList = java.awt.List;
using List = java.util.List;

para diferenciar as duas coisas.

Rodrigo_Sasaki

o máximo que consigo pensar é fazer algo como :import java.*; O que ainda não é todas, existem outros pacotes como o javax.

Mas posso perguntar o por que de você querer fazer isso? Não faz muito sentido.

E

[quote=LucasJavaTry]Gente , vocês não estão entendendo a parte do java , eu quero todos :

import *.*.*.*.* (etc)

Você quer tchu, e o tcha, e o tcha-tcha-tcha-tcha?

Isso não dá para fazer em Java. Sinto muito. Você vai ter de se ver com o João Lucas e o Marcelo :slight_smile:

Rodrigo_Sasaki

E vi que minha sugestão também não funciona :slight_smile:

Frantic_Avenger

Suponho que com todos os imports queira conhecer todas as classes existentes em java, você não precisará importar todas. Elas podem ser encontradas na API Java

Anonner

O único problema de se usar o “*” no import, é que após compilar o programa fica um pouco mais “pesado”, por exemplo, em vez de pesar 10kb ele pode chegar a pesar 1mb.

Frantic_Avenger

Anonner isso nem irá funcionar, como diz que gera uma arquivo maior? Faça um teste lá e veja como funciona o import ou use uma IDE q faz os imports automaticamente dependendo da sua necessidade acadêmica ou profissional.

[Edit] - Se tentar de import *;

klebson_lou

você pode utilizar atalho na importação mas, se tiver classes que possam utilizar importações diferentes.
pode haver um resultado inesperado e não ser aquilo que você queria.

o ideal é utilizar a importação totalmente qualificada sem “*”.

E

Isso é um mito tão difundido que desconfio que é ensinado por alguns professores desinformados.

Repito que, ao se examinar o .class gerado pelo compilador, o resultado é exatamente o mesmo que você importar classe por classe. Ou seja, seu programa não fica nem mais leve nem mais pesado.

O motivo correto de especificar classe por classe nos imports é para a pessoa que vai ler o programa não ficar tendo dúvidas de que pacote for importada a classe.

Outro motivo é que se você especificar classe por classe, não terá problemas de recompilar seu programa em uma versão mais nova do Java se porventura alguma classe nova for adicionada aos pacotes.

LucasJavaTry

[quote=entanglement]

LucasJavaTry:
Gente , vocês não estão entendendo a parte do java , eu quero todos :

import *.*.*.*.* (etc)

Você quer tchu, e o tcha, e o tcha-tcha-tcha-tcha?

Isso não dá para fazer em Java. Sinto muito. Você vai ter de se ver com o João Lucas e o Marcelo :slight_smile:

Sem-Graça :hunf: :hunf: :hunf:
Gênio , os caras aqui em cima já responderam, queria saber todas as importações :hunf:

Criado 19 de junho de 2012
Ultima resposta 20 de jun. de 2012
Respostas 16
Participantes 7