So ändern Sie nicht editierbaren / generierten Code in Netbeans

8

Ich möchte den nicht editierbaren Code in Netbeans ändern,
Ich möchte das
ersetzen javax.swing.JTextField mit ObservingTextField
für die ich eine Klasse in mein Projekt importiert habe, um eine Datumsauswahl zu implementieren Aber Netbeans erlaubt mir nicht, den Code zu bearbeiten. Bitte helfen Sie

%Vor%     
CleanX 16.06.2013, 08:50
quelle

6 Antworten

16

Wenn Sie eine benutzerdefinierte Komponente zu einer Datei hinzufügen möchten, die den Netbeans-GUI-Editor (namens: Matisse) verwendet, gibt es mehrere Möglichkeiten:

Erstens:

Sie können diese Komponente zum Manager "Palette" hinzufügen. Ich persönlich hatte damit nur begrenzten Erfolg, insbesondere beim Hinzufügen von Komponenten aus meinen eigenen benutzerdefinierten Bibliotheken. Sie können jedoch Komponenten hinzufügen und einfach "aus einem Projekt" auswählen, dann wählen Sie Ihr Projekt und Sie sollten Ihre Komponente aufgelistet sehen (wenn Sie dies nicht tun, führen Sie einen sauberen Build aus).

Beachten Sie, dass ich in diesem Projekt zwei Dateien habe, CustomTextField und NewJFrame .

Der Code für CustomTextField ist nur etwas, das JTextField erweitert:

%Vor%

Dann klicken Sie im Palettenfenster mit der rechten Maustaste und klicken Sie auf "Palettenmanager ..."

Klicken Sie dann im Paletten-Manager auf "Aus Projekt hinzufügen ..." (wenn Sie aus einer Bibliothek hinzufügen, klicken Sie auf "Aus Bibliothek hinzufügen ...", usw.)

Dann wähle ich CustomTextField

Und boom da ist es in der Palette Manager, und ich kann ziehen & amp; lade es in meine GUI.

Hinweis: Dieser Weg ist nicht sehr gut, wenn Sie diese Komponente für mehrere Projekte benötigen. Der Palettenmanager ist für Netbeans als Ganzes gedacht, wenn Sie also versuchen, eine Komponente zu verwenden, die in einem anderen Projekt existiert , Sie werden Schwierigkeiten haben.

Hinweis # 2: Ich hatte Probleme mit Java Web Start und meiner eigenen benutzerdefinierten Bibliothek. Es gibt einen Fehler das wurde mit 7u25 veröffentlicht, das eine NPE aus dem JNLPClassLoader verursacht , wenn meine benutzerdefinierten Bibliotheken geladen werden, also musste ich die Komponenten aus einem Projekt anstelle einer Bibliothek importieren.

Zweitens:

Es gibt einen eher hackigen Weg, aber manchmal ist es notwendig: Im GUI-Editor können Sie mit der rechten Maustaste auf die Komponente klicken und auf "Code anpassen" klicken. Sie können dann die Variablendefinition ändern ( nicht die Deklaration ). Wenn Sie die Variable deklaration ändern müssen, wird es sogar noch hackischer, und ich würde Ihnen empfehlen, Ihren Code an dieser Stelle von Hand zu schreiben. Um dies über dieses Fenster zu tun, können Sie den Teil in "Variablendeklarationscode" durch Hinzufügen von /* und */ um private javax.swing.JTextField jTextField1; "kommentieren" und Ihre eigene Variablendeklaration hinzufügen.

Drittens:

Ihre andere Möglichkeit ist das Schreiben von Hand. :) Wenn Sie einfache Swing-Komponenten oder Komponenten benötigen, die zur Palette hinzugefügt werden können, empfehle ich den GUI-Editor. Wenn Sie komplexere und angepasste Swing-Komponenten benötigen, sollten Sie mit der manuellen Erstellung dieses Codes beginnen. Die meisten Leute werden Sie trotzdem empfehlen. Ich liebe jedoch Netbeans 'GUI Editor. / p>     

ryvantage 23.08.2013, 18:52
quelle
16

Eine andere Option löscht die speziellen Kommentare. Sie können nicht in NetBeans sehen, aber wenn Sie in einem anderen Texteditor (zum Beispiel Notepad) öffnen, werden Sie die Kommentare zum Anfang und Ende des nicht editierbaren Abschnitts sehen. Die Kommentare sehen so aus:

%Vor%     
Lanistus 03.04.2014 18:04
quelle
1

Es hängt davon ab, warum netbeans Sie daran hindert, diese Quelldatei zu bearbeiten.

  1. Es ist Teil einer Bibliothek, die Sie einfach in Ihr Projekt importieren. Das bedeutet, dass Ihr Projekt wirklich die kompilierten Klassen- / JAR-Dateien verwendet. Es hat keinen Sinn, diese Datei zu bearbeiten. Suchen Sie den Autor der Bibliothek und geben Sie eine Änderungsanforderung ein. Dies gilt auch für die Java API selbst. Natürlich sind die Chancen, dass sie die Änderungsanfrage tatsächlich akzeptieren, gering.

  2. Es ist schreibgeschützt auf der Festplatte ohne besonderen Grund. = & gt; Schreib es schreibbar

  3. Es wird von einem Versionsverwaltungssystem gesteuert, das die Bearbeitung vor dem Überprüfen einer Datei aus dem System verhindert. Gut, überprüfen Sie es.

  4. Es ist eine Datei, die von Netbeans erzeugt wird (was nach dem von Ihnen geposteten Quellcode tatsächlich der Fall ist). In diesem Fall können Sie es wahrscheinlich in einem anderen Editor (notepad / vi) bearbeiten, aber Ihre Änderungen werden wahrscheinlich bei der nächsten Codegenerierung überschrieben oder die Datei für die von Ihnen verwendeten Werkzeuge brechen. = & gt; Finden Sie das Werkzeug und wie Sie die Änderungen mit diesem Werkzeug anwenden können.

Jens Schauder 16.06.2013 09:00
quelle
1

Net-Beans lassen Sie benutzerdefinierten Code dort von der Formularansichtsseite verwenden. Ich bin gerade nicht auf einem Computer mit Net-Beans, aber wenn Sie rechts auf den Textbereich und seine nahe der Unterseite klicken

    
exussum 16.06.2013 09:01
quelle
1

Wenn Sie eine Formulardatei in Netbeans öffnen, zeigt dies auf die Java-Datei intast der Formulardatei.

Die Lösung zum Bearbeiten dieser nicht editierbaren Dateien lautet:

  1. Öffnen Sie Netbeans und gehen Sie & gt; Werkzeuge & gt; Optionen & gt; Verschiedenes
  2. Dateien Erstellen Sie eine neue Dateierweiterung & gt; Formular & gt; und in Associated File Mime wählen Sie: HTML-Dateien
Blackhero 25.03.2014 17:37
quelle
0

Ich verwende eine einfache Problemumgehung, um die Datei zu bearbeiten. Zuerst kopiere ich den gesamten Code im Editor und lösche die Klasse. Dann erstelle ich eine Java-Klasse und füge den Code wieder ein. Beachten Sie jedoch, dass Sie den GUI-Builder jetzt nicht erhalten. Also behalten Sie in mi

    
Anuj Chandra 17.09.2015 13:19
quelle

Tags und Links