salut je suis un programme de nouveaux nouveaux - Je veux développer une interface graphique d'un programme Java à l'aide de NetBeans IDE P>
Utilisation de NetBeans Gui Builder,
Tout d'abord, je crée un nouveau formulaire de jframe
Ensuite, j'ajoute un JPanel de la barre d'outils / Palette P>
question est, Je veux dessiner un arrière-plan et certaines sphères à l'intérieur du devrais-je créer une nouvelle classe d'implémentation Question similaire: P>
Comment puis-je remplacer la fonction peinture () code> du nouvellement créé
jPanel code>? P>
jPanel code>,
J'ai essayé d'utiliser getgraphics () code> fonction pour peindre et dessiner, il fait le travail, mais il ne tirera plus lorsque j'appelle
repeindre () p> p> p>
jPanel code> ou
jComponent code>, avec My
peinture () code> fonction, à la place?
(Si tel est le cas, comment puis-je le faire avec NetBeans Gui Builder?) P>
3 Réponses :
Vous ne devez pas implémenter de la peinture, si je comprends bien, car il est appelé peinture, peintchildren et peinture compromis. Utilisez de la peinture si vous souhaitez gérer la bordure et les enfants, avec un composant, mais il n'est pas recommandé. Utilisez PaintComponent à la place. P>
La manière habituelle de le faire consiste à créer votre propre sous-classe Après avoir implémenté cette classe, passez à votre formulaire, sélectionnez le panneau, puis utilisez "Code de création personnalisé" dans l'onglet "Code" des propriétés du panneau pour créer une instance de Ceci a le léger inconvénient que vous devrez jeter la variable d'instance à Si vous souhaitez accéder à des méthodes supplémentaires dans votre classe de panneaux (sans la modification de la variable d'instance à chaque fois), il est plus facile de supprimer JPanel existant et d'ajouter un «haricot» à l'aide de la nouvelle classe. p>
Ceci est fait en cliquant sur le bouton "Choisissez Bean" dans la palette: P>
Une fois que vous avez cliqué sur OK, vous pouvez placer le panneau sur votre formulaire et NetBeans créera une variable d'instance du type jPanel code> (E.G.
myjpanel code>) et implémentez la méthode
peinture () code> p>
myjpanel code>. de
jPanel code> p>
p>
myjpanel code> à chaque fois que vous souhaitez accéder à des méthodes définies dans
myjpanel code> mais pas dans
JPANEL code>. Si vous n'avez jamais besoin de faire cela, c'est la méthode la plus rapide. P>
p>
myjpanel code> (au lieu de jpane) et vous pouvez accéder à toutes les méthodes définies dans cette classe. Notez que la classe doit être compilée avant de pouvoir l'ajouter de cette façon! strong> p>
"Créez votre propre jPanel code> sous-classe (par exemple
myjpanel code>) et implémentez la
peinture () code> méthode là-bas." I> Ceci est Pas AWT mais Swing et cette méthode doivent être
PaintComponent (graphiques) code> b>. En outre, si aucun composant n'est dans le panneau «peint» sur mesure, il est plus simple de dessiner à un
bufferedimage code> et d'afficher dans un
jlabel code>.
@Andrewthompson: la question était de savoir comment faire cela. Et mon explication convient également lorsque vous souhaitez remplacer toute autre méthode dans une classe Swing. Il est sage ou non (ou utile) de remplacer la méthode peinture () code> n'est pas pertinente ici - pas besoin de bownvote
"Pas besoin de bowervote" I> Je ne l'ai pas, espérant que vous amélioreriez la réponse (très bonne qualité). OTOH, argumenter à ce sujet .. -1
"Bien que la question était de savoir comment faire cela" i> donc si la question était "comment puis-je me tirer dessus au pied?" - Vous fourniriez des instructions?
@ Andrewthompson: N'hésitez pas à fournir une meilleure réponse.
@ADEWTHOMPSON " En outre, si aucun composant n'est dans le panneau" peint "sur mesure, il est plus simple de dessiner à un bufferedimage code> et d'afficher dans un
jlabel code>. < / I> "Merci de le pointer, voudriez-vous me donner des instructions à ce sujet? :RÉ
salut je suis un programmeur de débutants que je veux développer une interface graphique d'un programme Java Utilisation de NetBeans IDE P>
Salut! Depuis que vous êtes un programmeur débutant, utilisez Netbeans comme éditeur de texte régulier. Pour le faire, créez des classes de java plaines au lieu de formes et faites-vous vous coder. La raison est que vous devez d'abord comprendre Swing, avant de faire face à une approche Netbeans. P>
Devrais-je créer une nouvelle classe mettant en œuvre JPanel ou JComponent, avec mon Fonction de peinture personnalisée (), à la place? P> blockQuote>
Vous ne pouvez certainement pas prolonger JPanel ou JComponent, car ils ne sont pas des interfaces. P>
Si vous insistez sur l'utilisation de NetBeans Matt GUI Editor, puis créez un nouveau formulaire JPanel et la remplacement de la méthode
PaintComponent Code>. P>
add(new MyNewJPanel()); pack();