web-dev-qa-db-fra.com

Java package dans package?

J'utilise Eclipse 3.8 Indigo et je ne sais pas pourquoi, lorsque je crée un nouveau package, la destination du nouveau package sort. Je veux créer de nouveaux packages dans un package: package in package. J'ai essayé de copier/coller le package nouvellement créé ou de le déplacer, mais il ne fait que copier.

Par exemple, je souhaite créer différents packages: boîtes de dialogue, vues, tableaux, etc. dans mon package source principal. Par exemple:

com.new.application // this is the the main package created by wizard
com.new.application.view // package that contains all views.
24
Reteras Remus

En réalité, il n’existe pas de sous-package dans Java - chaque package est une entité complètement distincte, les noms étant apparemment hiérarchiques uniquement pour des raisons de commodité. Par exemple, les éléments avec visibilité par défaut sont pas visible dans les sous-packages, malgré ce à quoi on pourrait s'attendre.

Si votre problème est plus lié à la présentation et à l'esthétique qu'à la substance, alors peut-être que vous recherchez le paramètre de présentation de package hiérarchique dans l'explorateur de packages Eclipse: cliquez sur le petit triangle/flèche vers le bas en haut à droite de l'explorateur de packages et sélectionnez "Hiérarchique" dans le sous-menu "Présentation du package":

enter image description here

Il s'agit d'un paramètre global qui affectera tous vos projets ouverts/non ouverts.

51
thkala

Il n'y a pas de concept de package avec in package. Chaque package est un espace de noms distinct. Je pense que si vous allez dans la vue des dossiers au lieu de la vue des packages, vous pouvez en voir un sous l'autre.

8
kosa

L'Explorateur de packages Eclipse a deux options d'affichage: plat ou hiérarchique. Vous êtes probablement dans la vue plate (qui est la valeur par défaut, qui sait pourquoi). Changez la vue en hiérarchique en cliquant sur le petit triangle dans le coin supérieur droit de la vue du package, puis modifiez la représentation du package.

4
vainolo