web-dev-qa-db-ja.com

NetBeansを使用してJavaのinitComponents()メソッドにコードを変更/追加する方法は?

Java NetBeansのinitComponents()メソッドにコードを変更/追加する方法?コードの行を追加しようとすると、この領域は読み取り専用のように見え、灰色!おそらくセキュリティのためですが、それを無効にする方法があると思います。

18
Ahmad Farid

InitComponents()メソッドは、GUIエディターでUIを作成するときにIDEによって再生成されます。このメソッドは、この再生成によってユーザーが記述したコードを上書きしないように「保護」されています。

このメソッドにコードを間接的に追加するには、いくつかの方法があります。

  1. 新しいコンポーネントをウィンドウのデザインエディタ「キャンバス」にドロップします。

  2. 次のコードプロパティのいずれかとしてコードを入力します:作成前コード、作成後コード、初期化前コード、初期化後コード、リスナー後コード、事前入力コード、入力後コード、およびすべての後-セットコード。

    InitComponents()メソッドを変更しないコードプロパティが他にもいくつかありますが、非常に便利です。事前宣言コードと事後宣言コードです。 alt text http://blogs.Sun.com/vkraemer/resource/code-properties.png 注:これらのプロパティのエディターは「リッチ」ではないため、「通常のエディター」をinitComponents()で呼び出すだけです。

「ベースパネル」またはコントロールの「通常の」プロパティを配置または変更することにより、initComponents()メソッドのコードを変更できます。

11
vkraemer

はい、initComponentsメソッドは、IDEの完全な制御を維持するために読み取り専用です。 initComponentsの直後にコンストラクタに追加することができます。

public class NewJFrame extends javax.swing.JFrame {

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

public void myInitComponents() {
}
14
PeterMmm

おそらくあなたがしているのは、Matisse GUIツールを使用してアプリケーションを作成することです。

Matisseは編集不可能なコードブロックを生成します。これは、ツールがコードベースとの同期を維持するために、Matisseで必要です。

initComponents()などのコードブロックの前、後、またはコードブロック内にカスタムコードを挿入できるようにするために、Matisseには多数のオプションがあります。

下の画像をご覧ください。

Code insertion

これは、jPanelのプロパティタブといくつかのコード挿入オプションを示しています。

4
FacilityDerek

Design Viewのコンポーネントを右クリックし、[Customize Code]の選択をクリックすると、InitComponentコードのコードを変更できます。数行の明示的なコードをカスタマイズできます。

2
GLarkin

ソースとMatisse GUIエディターの両方での変更を可能にするために、NetBeansは「保護されたブロック」と呼ばれるものの編集を禁止します。 IDEで作成したほぼすべての種類のGUIコードを解釈できることを想像できますが、実際には、IDE開発者がカプセル化する方がはるかに簡単です単一のメソッド(initComponents())で自動生成されたGUIコード。残りは編集用に残します。

自分が何をしているかわかっている場合は、外部エディタから.Javaファイルを簡単に編集できますが、

  1. 現在のバージョンをどこかに保存してください
  2. 完了したら、NetBeansビジュアルエディタでクラスを開いて、変更が何かを壊していないことを確認します

試行錯誤の結果、ユーザーにパネルが表示される前に実行する必要のある初期化を「事前初期化コード」として追加する必要があることがわかりました。私の場合、ドロップダウンボックス(AWTでは "Choice"と呼ばれます)を入力する必要がありました。 Matisseの使用に関する詳細なドキュメントはほとんどないようです。だから、これが他の人を助けることを願っています。

1
Mike GH

すべてのコードを選択し、geditやメモ帳などの外部エディターでコピーします。

次に、jframeファイルを削除します。

同じ名前の同じパッケージ内のnetbeansに新しいJavaクラスを作成します。

エディターファイルからすべての内容をコピーし、新しく作成したJavaクラスに貼り付けます。

0
Kartik Agarwal
  1. Netbeansを閉じる
  2. フォームファイルがあるフォルダーパスに移動します
  3. 拡張子が「.form」と「.Java」の2つのファイルをバックアップします
  4. メモ帳エディタで、拡張子が「.form」と「.Java」の2つのファイルを編集します。たとえば、フォーム名が「myForm」の場合、フォルダに「myForm.form」と「myForm.Java」のファイルが必要です。
  5. 最初のファイル「.form」はxmlファイルで、2番目の「.Java」はコードですJava file
  6. 両方のファイルのコードを注意深く編集して、変更を保存し、NETBEANSを開きます。それでおしまい!
0
Stefanidis