Java NetBeansのinitComponents()
メソッドにコードを変更/追加する方法?コードの行を追加しようとすると、この領域は読み取り専用のように見え、灰色!おそらくセキュリティのためですが、それを無効にする方法があると思います。
InitComponents()メソッドは、GUIエディターでUIを作成するときにIDEによって再生成されます。このメソッドは、この再生成によってユーザーが記述したコードを上書きしないように「保護」されています。
このメソッドにコードを間接的に追加するには、いくつかの方法があります。
新しいコンポーネントをウィンドウのデザインエディタ「キャンバス」にドロップします。
次のコードプロパティのいずれかとしてコードを入力します:作成前コード、作成後コード、初期化前コード、初期化後コード、リスナー後コード、事前入力コード、入力後コード、およびすべての後-セットコード。
InitComponents()メソッドを変更しないコードプロパティが他にもいくつかありますが、非常に便利です。事前宣言コードと事後宣言コードです。 alt text http://blogs.Sun.com/vkraemer/resource/code-properties.png 注:これらのプロパティのエディターは「リッチ」ではないため、「通常のエディター」をinitComponents()で呼び出すだけです。
「ベースパネル」またはコントロールの「通常の」プロパティを配置または変更することにより、initComponents()メソッドのコードを変更できます。
はい、initComponentsメソッドは、IDEの完全な制御を維持するために読み取り専用です。 initComponentsの直後にコンストラクタに追加することができます。
public class NewJFrame extends javax.swing.JFrame {
/** Creates new form NewJFrame */
public NewJFrame() {
initComponents();
myInitComponents();
}
public void myInitComponents() {
}
おそらくあなたがしているのは、Matisse GUIツールを使用してアプリケーションを作成することです。
Matisseは編集不可能なコードブロックを生成します。これは、ツールがコードベースとの同期を維持するために、Matisseで必要です。
initComponents()
などのコードブロックの前、後、またはコードブロック内にカスタムコードを挿入できるようにするために、Matisseには多数のオプションがあります。
下の画像をご覧ください。
これは、jPanelのプロパティタブといくつかのコード挿入オプションを示しています。
Design View
のコンポーネントを右クリックし、[Customize Code
]の選択をクリックすると、InitComponent
コードのコードを変更できます。数行の明示的なコードをカスタマイズできます。
ソースとMatisse GUIエディターの両方での変更を可能にするために、NetBeansは「保護されたブロック」と呼ばれるものの編集を禁止します。 IDEで作成したほぼすべての種類のGUIコードを解釈できることを想像できますが、実際には、IDE開発者がカプセル化する方がはるかに簡単です単一のメソッド(initComponents())で自動生成されたGUIコード。残りは編集用に残します。
自分が何をしているかわかっている場合は、外部エディタから.Javaファイルを簡単に編集できますが、
試行錯誤の結果、ユーザーにパネルが表示される前に実行する必要のある初期化を「事前初期化コード」として追加する必要があることがわかりました。私の場合、ドロップダウンボックス(AWTでは "Choice"と呼ばれます)を入力する必要がありました。 Matisseの使用に関する詳細なドキュメントはほとんどないようです。だから、これが他の人を助けることを願っています。
すべてのコードを選択し、geditやメモ帳などの外部エディターでコピーします。
次に、jframeファイルを削除します。
同じ名前の同じパッケージ内のnetbeansに新しいJavaクラスを作成します。
エディターファイルからすべての内容をコピーし、新しく作成したJavaクラスに貼り付けます。