Je veux changer le code non éditable dans Netbeans,
Je veux remplacer le
javax.swing.JTextFeild avec ObservingTextField
pour lequel une classe est importée dans mon projet afin d'implémenter un sélecteur de date
Mais Netbeans ne me permet pas d’éditer le code. S'il vous plaît aider
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
`private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;`
// End of variables declaration
Si vous souhaitez ajouter un composant personnalisé à un fichier qui utilise l'éditeur d'interface graphique Netbeans (appelé: Matisse), vous avez plusieurs possibilités:
Premier:
Vous pouvez ajouter ce composant au gestionnaire "Palette". Personnellement, j’ai eu peu de succès avec cela, en particulier lors de l’ajout de composants à partir de mes propres bibliothèques personnalisées. Cependant, vous pouvez ajouter des composants et simplement sélectionner "à partir d'un projet", puis sélectionnez votre projet et vous devriez voir votre composant répertorié (si vous ne le faites pas, lancez un nettoyage et une construction).
Remarquez que dans ce projet, j'ai deux fichiers, CustomTextField
et NewJFrame
.
Le code pour CustomTextField est juste quelque chose qui étend une JTextField
:
package test4;
import javax.swing.JTextField;
public class CustomTextField extends JTextField {
}
Ensuite, dans la fenêtre Palette, faites un clic droit et cliquez sur "Gestionnaire de palettes ..."
Ensuite, dans le Gestionnaire de palette, vous cliquez sur "Ajouter à partir du projet ..." (si vous ajoutez à partir d'une bibliothèque, vous cliquez sur "Ajouter à partir de la bibliothèque ...", etc.
Puis je sélectionne CustomTextField
Et ça bouge dans le Palette Manager, et je peux le glisser/déposer dans mon interface graphique.
Remarque: cette méthode n’est pas très utile si vous avez besoin de ce composant pour plusieurs projets. Le gestionnaire de palette concerne Netbeans dans son ensemble. Par conséquent, si vous essayez d'utiliser un composant existant dans un autre projet, vous aurez des problèmes.
Remarque n ° 2: j'ai eu des problèmes avec Java Web Start et ma propre bibliothèque personnalisée. Il y a un bogue publié avec 7u25 qui provoque un NPE à partir de JNLPClassLoader chaque fois que mes bibliothèques personnalisées sont chargées. J'ai donc dû importer les composants d'un projet au lieu d'une bibliothèque.
Seconde:
Il y a une manière plus astucieuse de faire les choses, mais parfois c'est nécessaire: Dans l'éditeur graphique, vous pouvez cliquer avec le bouton droit de la souris sur le composant et cliquer sur "Personnaliser le code". Vous pouvez ensuite changer la définition de la variable ( pas la déclaration ). Si vous avez besoin de changer la variable déclaration, alors cela devient encore PLUS hack, et je vous recommanderais d'écrire à la main votre code à ce moment-là. Mais, pour le faire via cette fenêtre, vous pouvez "commenter" la partie dans "code de déclaration de variable" en ajoutant /*
et */
autour de private javax.swing.JTextField jTextField1;
et ajouter votre propre déclaration de variable.
Troisième:
Votre autre option est d'écrire à la main. :) Si vous avez besoin de composants Swing simples ou pouvant être ajoutés à la palette, je vous recommande l'éditeur graphique. Si vous avez besoin de composants Swing plus complexes et personnalisés, commencez à écrire manuellement ce code. La plupart des gens vous le recommanderont de toute façon. Cependant, j'aime fièrement l'éditeur d'interface graphique de Netbeans.
Une autre option supprime les commentaires spéciaux. Vous ne pouvez pas voir dans NetBeans mais si vous ouvrez dans un autre éditeur de texte (par exemple, le bloc-notes), vous verrez ces commentaires au début et à la fin de la section non modifiable. Les commentaires ressemblent à ceci:
//GEN-BEGIN:initComponents
//GEN-END:initComponents
Cela dépend de la raison pour laquelle netbeans vous empêche de modifier ce fichier source.
Cela fait partie d'une bibliothèque que vous venez d'importer dans votre projet. Cela signifie que votre projet utilise réellement les fichiers class/jar compilés. Il ne sert à rien de modifier ce fichier. Recherchez l'auteur de la bibliothèque et déposez une demande de modification. Ceci s'applique également à l'API Java elle-même. Bien sûr, les chances qu’ils acceptent réellement la demande de modification peuvent être minces.
Il est protégé en écriture sur le disque sans raison particulière. => le rendre accessible en écriture
Il est contrôlé par un système de contrôle de version qui empêche la modification avant d'extraire un fichier du système. Eh bien vérifier.
C'est un fichier généré par netbeans (ce qui pourrait effectivement être le cas, à en juger par le code source que vous avez posté). Dans ce cas, vous pourrez probablement le modifier dans un autre éditeur (bloc-notes/vi), mais vos modifications seront probablement écrasées lors de la prochaine génération de code, ou casser le fichier quels que soient les outils utilisés. => Trouvez l'outil et comment appliquer les modifications de manière appropriée avec cet outil.
Net beans vous permet d'utiliser le code personnalisé à partir de la page d'affichage du formulaire. Je ne suis pas sur un ordinateur avec des haricots nets pour l'instant, mais si vous faites un clic droit sur la zone de texte et son en bas
J'utilise une solution de contournement simple pour modifier le fichier. Je copie d'abord le code complet dans le bloc-notes et je supprime la classe. Ensuite, je crée une classe Java et colle le code. Gardez à l'esprit que vous n'obtiendrez pas le constructeur d'interface graphique maintenant. Alors restez à mi
Lorsque vous ouvrez un fichier de formulaire dans netbeans, cela pointe vers le fichier Java situé au-dessous du fichier de formulaire.
La solution pour éditer ce fichier non éditable est: