Pacote Padrão [RESOLVIDO]

13 respostas
Jonas_Hope

Bom Dia Pessoal, é o seguinte, estou crianando um programa de cadastro à nível didático, só para aprender Java mesmo, cada form do meu programa eu coloco em um pacote específicio ( é correto isso que eu faço?). Por um descuido meu, um dos meus primeiros forms criados está no Pacote Padrão, e nao consigo acessá-lo de outro form, tenten criar um outro pacote e colocá-lo la dentro, mas quando eu executo o progrma da erro, e so volta a funcionar quando eu retorno ele pro Pacote Padrão.

O que posso fazer que consertar isso.

13 Respostas

romarcio

Se vc está usando alguma IDE, vai na opção Refactor e utilize ela para mover sua classe do pacote padrão para o pacote desejado.

Caso queira acessar essas classes do pacote padrão em outras classes, é só declarar no import da classe onde deseja acessar. A não ser que tenha criado algum método do tipo protect, dai não conseguirá acessa-lo em outro pacote.

ViniGodoy

E não tem mesmo como fazer import do pacote padrão em outros pacotes. Por isso, o aconselhável é nunca utilizá-lo.

Jonas_Hope

então o que vou fazer com essa bobeira que fiz. O que você faria?

romarcio

então o que vou fazer com essa bobeira que fiz. O que você faria?

Se vc não tem uma IDE para fazer um refactor, então crie o novo pacote. Depois copie copie suas classes do pacote default para esse novo pacote. E então, abra suas classes copiadas e coloque na primeira linha de cada classe copiada: package nomeDoPacoteCriado;

Jonas_Hope

então o que vou fazer com essa bobeira que fiz. O que você faria?

Se vc não tem uma IDE para fazer um refactor, então crie o novo pacote. Depois copie copie suas classes do pacote default para esse novo pacote. E então, abra suas classes copiadas e coloque na primeira linha de cada classe copiada: package nomeDoPacoteCriado;

Eu uso o netbeans

romarcio

Então faz o refactor. Não uso netbeans, mas acho que se vc clicar com o botão direito em cima da classe(que vai trocar de pacote), vai ter uma opção chamada Refactor. Clica nela e manda mover a classe para o pacote que desejar(talvez tenha que criar o pacote novo antes).

Da uma olhada nessa imagem:

Dai vc clicaria em Mover Classe

Jonas_Hope

Então faz o refactor. Não uso netbeans, mas acho que se vc clicar com o botão direito em cima da classe(que vai trocar de pacote), vai ter uma opção chamada Refactor. Clica nela e manda mover a classe para o pacote que desejar(talvez tenha que criar o pacote novo antes).

Da uma olhada nessa imagem:

Dai vc clicaria em Mover Classe

Ok. vou testar aqui e posto a resposta.

vlw por enquanto

E

Então faz o refactor. Não uso netbeans, mas acho que se vc clicar com o botão direito em cima da classe(que vai trocar de pacote), vai ter uma opção chamada Refactor. Clica nela e manda mover a classe para o pacote que desejar(talvez tenha que criar o pacote novo antes).

Da uma olhada nessa imagem:

Dai vc clicaria em Mover Classe

Esta es la primera vez que veo NetBeans en español …

Jonas_Hope

Então faz o refactor. Não uso netbeans, mas acho que se vc clicar com o botão direito em cima da classe(que vai trocar de pacote), vai ter uma opção chamada Refactor. Clica nela e manda mover a classe para o pacote que desejar(talvez tenha que criar o pacote novo antes).

Da uma olhada nessa imagem:

Dai vc clicaria em Mover Classe

Ok. vou testar aqui e posto a resposta.

vlw por enquanto

hauahuah realmente o netbeans dele ta em espanhol…

Eu mudei ele de lugar mas esta dando o seguinte erro:

run:

java.lang.NoClassDefFoundError: TelaPrincipal

Caused by: java.lang.ClassNotFoundException: TelaPrincipal

at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:248)

Could not find the main class: TelaPrincipal.  Program will exit.

Exception in thread main Java Result: 1
BrunoBastosPJ

Da um clean and build no projeto, depois executa.

Jonas_Hope

fiz agora ta dando esse erro aqui:

init:
deps-clean:
Updating property file: F:\Programas\Programas Feito em Java\Cadastro\build\built-clean.properties
Deleting directory F:\Programas\Programas Feito em Java\Cadastro\build
clean:
init:
deps-jar:
Created dir: F:\Programas\Programas Feito em Java\Cadastro\build
Updating property file: F:\Programas\Programas Feito em Java\Cadastro\build\built-jar.properties
Created dir: F:\Programas\Programas Feito em Java\Cadastro\build\classes
Created dir: F:\Programas\Programas Feito em Java\Cadastro\build\empty
Compiling 5 source files to F:\Programas\Programas Feito em Java\Cadastro\build\classes
Note: F:\Programas\Programas Feito em Java\Cadastro\src\TelaPrincipal\TelaPrincipal.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
compile:
Created dir: F:\Programas\Programas Feito em Java\Cadastro\dist
Copy libraries to F:\Programas\Programas Feito em Java\Cadastro\dist\lib.
Building jar: F:\Programas\Programas Feito em Java\Cadastro\dist\Cadastro.jar
To run this application from the command line without Ant, try:
java -jar “F:\Programas\Programas Feito em Java\Cadastro\dist\Cadastro.jar”

Jonas_Hope

Vou explicar o motivo de acessar essa classe.

A classe que esta no pacote padrão se chama TelaPrincipal, sou seja quando eu fechar os forms filhos, quero que volte para a TelaPrincipal entende?

estou usando o seguinte código para isso:

setVisible(false); // sai do frame atual new TelaPrincipal().setVisible(true);// vai para o outro frame

só que ela nao está acessivel.

Jonas_Hope

Consegui!! :smiley:

Esse erro acontece quando ele nao encontra o novo caminho ( o do pacote que você acabou de mudar de lugar). Ai para você resolver isso, vai na PROPRIEDADE do seu projeto, opção EXECUTAR, PROCURAR, e selecionar o form que mudou de lugar…

Facil né… e eu quebrando a cabeça aqui… :shock:

vlw pessoal!!! 8)

Criado 13 de outubro de 2010
Ultima resposta 19 de out. de 2010
Respostas 13
Participantes 5