Netbeansの編集不可能なコードを変更したい
交換したい
javax.swing.JTextFeild with ObservingTextField
日付ピッカーを実装するために、プロジェクトにクラスをインポートしました
しかし、Netbeansではコードを編集できません。助けてください
// 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
Netbeans GUIエディター(Matisseと呼ばれる)を使用するファイルにカスタムコンポーネントを追加する場合、いくつかの方法があります。
最初:
そのコンポーネントを「パレット」マネージャーに追加できます。個人的には、特に自分のカスタムライブラリからコンポーネントを追加する場合は、これで限られた成功しか収めていません。ただし、コンポーネントを追加して「プロジェクトから」を選択し、プロジェクトを選択すると、コンポーネントが一覧表示されます(追加されていない場合は、クリーン&ビルドを実行します)。
このプロジェクトには、CustomTextField
とNewJFrame
の2つのファイルがあることに注意してください。
CustomTextFieldのコードは、JTextField
を拡張するものです。
package test4;
import javax.swing.JTextField;
public class CustomTextField extends JTextField {
}
次に、「パレット」ウィンドウで右クリックして、「パレットマネージャー...」をクリックします。
次に、パレットマネージャーで[プロジェクトから追加...]をクリックします(ライブラリから追加する場合は、[ライブラリから追加...]をクリックします)。
次にCustomTextField
を選択します
ブームはパレットマネージャーにあり、GUIにドラッグアンドドロップできます。
注:複数のプロジェクトにわたってこのコンポーネントが必要な場合、この方法はあまり良い方法ではありません。パレットマネージャーはNetbeans全体のためのものなので、別のプロジェクトに存在するコンポーネントを使用すると、問題が発生します。
注#2:Java Web Startと自分のカスタムライブラリで問題が発生しました。 7u25でリリースされたバグがあり、JNLPClassLoaderからNPEが発生します いつでもカスタムライブラリが読み込まれているため、ライブラリではなくプロジェクトからコンポーネントをインポートする必要がありました。
第二:
もっとハックな方法がありますが、それが必要な場合もあります。GUIエディターで、コンポーネントを右クリックして[コードのカスタマイズ]をクリックできます。 その後、変数の定義を変更できます( 宣言ではない )。変数declarationを変更する必要がある場合は、さらにハックが発生するので、その時点でコードを手書きすることをお勧めします。ただし、このウィンドウでそれを行うには、/*
と*/
をprivate javax.swing.JTextField jTextField1;
の周りに追加して、独自の変数宣言を追加することで、「変数宣言コード」の部分を「コメントオフ」できます。
第三:
あなたの他のオプションは手書きすることです。 :)シンプルなSwingコンポーネントまたはパレットに追加できるコンポーネントが必要な場合は、GUIエディターをお勧めします。より複雑でカスタマイズされたSwingコンポーネントが必要な場合は、このコードの手書きを開始する必要があります。ほとんどの人はとにかくそうすることをお勧めします。 ただし、NetbeansのGUIエディタはとても気に入っています。
別のオプションは、特別なコメントを削除します。 NetBeansでは表示できませんが、他のテキストエディター(メモ帳など)で開くと、編集不可のセクションの開始と終了に関するコメントが表示されます。コメントは次のようになります。
//GEN-BEGIN:initComponents
//GEN-END:initComponents
Netbeansがそのソースファイルの編集を妨げている理由に依存します。
これは、プロジェクトにインポートしたライブラリの一部です。これは、プロジェクトがコンパイルされたクラス/ jarファイルを実際に使用していることを意味します。このファイルを編集しても意味がありません。ライブラリの作成者を見つけ、変更リクエストを提出します。これはJava API自体にも当てはまります。もちろん、変更リクエストを実際に受け入れる可能性はわずかです。
特別な理由なしにディスク上で書き込み保護されています。 =>書き込み可能にする
これは、システムからファイルをチェックアウトする前に編集できないようにするバージョン管理システムによって制御されます。よくそれをチェックしてください。
これは、netbeansによって生成されたファイルです(投稿したソースコードから判断すると、実際にそうである可能性があります)。この場合、おそらく別のエディター(notepad/vi)で編集できますが、変更はおそらく次のコード生成で上書きされるか、使用するツールのファイルを壊します。 =>ツールと、そのツールで変更を適切に適用する方法を見つけます。
ネットBeanでは、フォームビューページからカスタムコードを使用できます。私は今、ネットBeanがインストールされているコンピューターを使用していませんが、テキスト領域とその下部近くを右クリックすると、
簡単な回避策を使用してファイルを編集します。まず、コード全体をメモ帳にコピーし、クラスを削除します。次に、Java=クラスを作成し、コードを貼り付けます。今はGUIビルダーを取得しないことに注意してください。したがって、mi
Netbeansでフォームファイルを開くとき、これは、フォームファイルの外側にあるJavaファイルを指します。
この編集不可能なファイルを編集するための解決策は: