Comment modifier/ajouter du code à la méthode initComponents() en Java en utilisant NetBeans?

comment modifier/ajouter du code à initComponents() méthode en Java sur NetBeans? Quand j'essaye d'ajouter n'importe quelle ligne de code cette zone semble être comme readonly et elle est surlignée en gris! C'est pour la sécurité probablement, mais je suppose qu'il y a un moyen de désactiver ça.

16
demandé sur Tiny 2010-03-13 14:59:13

8 réponses

la méthode initComponents() est régénérée par L'IDE lorsque vous créez votre UI dans l'éditeur GUI. La méthode est "gardée" pour empêcher cette régénération d'écraser le code écrit par l'utilisateur.

il y a plusieurs façons d'ajouter du code à cette méthode, indirectement:

  1. Déposer un nouveau composant sur la conception l'éditeur de "toile" pour la fenêtre.

  2. Entrez le code dans le cadre de l'un des propriétés du code suivant: Pré-Code De Création De, Post-Création Code, Pré-Code D'Initialisation, Post-Code D'Initialisation, Code De Post-Écoute, Pré-Population Code, Code Post-Population et Après Tous Les Codes De Jeu.

    il y a quelques autres propriétés du code qui ne modifient pas la méthode initComponents ()... mais peut être très utile: Code pré-Déclaration et Code Post-déclaration. texte alternatif http://blogs.sun.com/vkraemer/resource/code-properties.png Note: l'éditeur de ces propriétés n'est pas 'rich', donc je recommande de créer des méthodes dans le "rédacteur régulier" que vous appelez simplement initComponents().

vous pouvez modifier le code dans la méthode initComponents() en positionnant ou en changeant les propriétés "régulières" du "panneau de base" ou des commandes.

11
répondu vkraemer 2010-03-13 17:35:36

Oui la méthode initComponents n'est lue que pour garder le contrôle total de L'IDE. Vous pouvez ajouter les vôtres dans le constructeur juste après initComponents.

public class NewJFrame extends javax.swing.JFrame {

/** Creates new form NewJFrame */
public NewJFrame() {
    initComponents();
    myInitComponents();
}

public void myInitComponents() {
}
12
répondu PeterMmm 2010-03-13 12:38:27

probablement ce que vous faites est d'écrire une application en utilisant L'outil GUI Matisse.

Matisse génère des blocs de code non modifiables. Ceci est requis par Matisse pour que L'outil reste synchronisé avec la base de code.

Matisse offre un certain nombre d'options pour permettre l'insertion de code personnalisé avant, après ou dans les blocs de code tels que initComponents().

Voir l'image ci-dessous:

Code insertion

cela montre l'onglet Propriétés pour un jPanel et quelques options d'insertion de code.

3
répondu FacilityDerek 2015-03-29 21:10:15

pour permettre des changements à la fois dans la source et dans L'éditeur GUI Matisse, NetBeans empêche l'édition dans ce qu'il appelle des "blocs gardés". Alors que vous pouvez imaginer L'IDE capable d'interpréter presque n'importe quel type de code GUI que vous écrivez, dans la pratique, il est beaucoup plus facile pour les développeurs D'IDE d'encapsuler le code GUI généré automatiquement dans une méthode simple (initComponents()) et de laisser le reste pour vous éditer.

si vous êtes certain de savoir ce que vous faites, vous pouvez facilement éditer le .fichier java à partir d'un éditeur externe, mais:

  1. assurez-vous d'enregistrer la version actuelle quelque part
  2. vérifiez que vos changements n'ont pas cassé quelque chose en ouvrant la classe dans NetBeans visual editor une fois que vous avez fait
2
répondu Tomislav Nakic-Alfirevic 2010-03-13 12:38:53

si vous cliquez avec le bouton droit de la souris sur le composant Design View, puis cliquez sur "Customize Code " sélection, vous pouvez modifier le code dans le InitComponent code. Plusieurs lignes de code explicite peuvent être personnalisées.

2
répondu GLarkin 2015-10-20 20:36:49

j'ai découvert par tâtonnements, que l'initialisation qui doit être faite avant que l'utilisateur ne voie le panneau devrait être ajoutée comme "code de pré-initialisation". Dans mon cas, j'ai eu besoin de remplir une boîte de goutte vers le bas (appelé "choix" dans AWT). Il semble y avoir très peu de documentation détaillée disponible sur l'utilisation de Matisse. Donc, j'espère que cela aidera d'autres.

1
répondu Mike GH 2011-10-25 12:39:19

sélectionnez Tout le code et copiez dans un éditeur externe comme gedit ou notepad.

puis supprimez votre fichier jframe.

Créer une nouvelle classe java avec netbeans dans le même paquet du même nom.

copier tout le contenu du fichier editor et le coller dans votre classe java nouvellement créée.

0
répondu Kartik Agarwal 2016-06-09 09:24:42
  1. Fermer Netbeans
  2. aller au chemin du dossier où il y a votre fichier de formulaire
  3. sauvegarder les 2 fichiers avec des extensions".forme" et ".java"
  4. Modifier les 2 fichiers avec extensions ".forme" et ".java " dans l'éditeur de bloc-notes. Par exemple, si votre nom est "myForm" vous devez avoir les fichiers "monformulaire.forme" et "monformulaire.java" dans le dossier.
  5. Le premier fichier ".forme" est un fichier xml et le deuxième ".java " est un fichier de code java
  6. Éditez soigneusement votre le code dans les deux fichiers enregistre les modifications et ouvre NETBEANS. Thats it!
0
répondu Stefanidis 2017-04-11 21:21:01