簡體   English   中英

如何在 netbeans 中更改不可編輯/生成的代碼

[英]How to change non-editable/generated code in netbeans

我想更改 Netbeans 中的不可編輯代碼,
我想更換
帶有 ObservingTextField 的 javax.swing.JTextFeild
為此,我將一個類導入到我的項目中以實現日期選擇器
但是 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 中看不到,但是如果您在其他文本編輯器(例如記事本)中打開,您將看到關於不可編輯部分的開頭和結尾的注釋。 評論看起來像這樣:

//GEN-BEGIN:initComponents
//GEN-END:initComponents

如果要將自定義組件添加到使用 Netbeans GUI 編輯器(稱為:Matisse)的文件中,有以下幾種方法:

第一的:

您可以將該組件添加到“調色板”管理器。 我個人在這方面取得的成功有限,尤其是在從我自己的自定義庫中添加組件時。 但是,您可以添加組件並只選擇“從項目中”,然后選擇您的項目,您應該會看到您的組件列出(如果沒有,請運行干凈並構建)。

注意在這個項目中我有兩個文件, CustomTextFieldNewJFrame

在此處輸入圖片說明

CustomTextField 的代碼只是擴展JTextField東西:

package test4;

import javax.swing.JTextField;

public class CustomTextField extends JTextField {

}

然后,在調色板窗口中,右鍵單擊並單擊“調色板管理器...”

在此處輸入圖片說明

然后在調色板管理器中,單擊“從項目添加...”(如果是從庫添加,則單擊“從庫添加...”等。

在此處輸入圖片說明

然后我選擇CustomTextField

在此處輸入圖片說明

它就在調色板管理器中,我可以將它拖放到我的 GUI 中。

在此處輸入圖片說明

注意:如果您需要跨多個項目使用此組件,這種方式不是很好 調色板管理器作為一個整體用於 Netbeans,因此如果您嘗試使用存在於另一個項目中的組件,則會遇到麻煩。

注意#2:我在使用 Java Web Start 和我自己的自定義庫時遇到了問題。 7u25 發布了一個錯誤,每當加載我的自定義庫時,都會導致來自 JNLPClassLoader 的 NPE ,因此我必須從項目而不是庫中導入組件。

第二:

有一種更駭人聽聞的做事方式,但有時是必要的:在 GUI 編輯器中,您可以右鍵單擊組件並單擊“自定義代碼”。在此處輸入圖片說明 然后您可以更改變量定義(而不是聲明)。 如果您需要更改變量聲明,那么它會變得更加駭人聽聞,我建議您此時只需手寫代碼。 但是,要通過此窗口執行此操作,您可以通過在private javax.swing.JTextField jTextField1;周圍添加/**/來“注釋掉”“變量聲明代碼”中的部分private javax.swing.JTextField jTextField1; 並添加您自己的變量聲明。

第三:

您的另一個選擇是手寫。 :) 如果您需要簡單的 Swing 組件或可以添加到面板中的組件,我推薦使用 GUI 編輯器。 如果您需要更復雜和自定義的 Swing 組件,那么您將需要開始手寫此代碼。 無論如何,大多數人都會建議您這樣做。 然而,我自豪地喜歡 Netbeans 的 GUI 編輯器。

這取決於為什么 netbeans 阻止您編輯該源文件。

  1. 它是您剛剛導入到項目中的某個庫的一部分。 這意味着您的項目實際上使用的是編譯好的類/jar 文件。 編輯此文件沒有意義。 查找庫的作者並提交更改請求。 這也適用於 java API 本身。 當然,他們實際接受更改請求的機會可能很小。

  2. 它在磁盤上沒有特殊原因被寫保護。 => 使其可寫

  3. 它由一些版本控制系統控制,在將文件檢出系統之前防止編輯。 看看吧。

  4. 它是由 netbeans 生成的一些文件(從您發布的源代碼來看,實際上可能是這種情況)。 在這種情況下,您可能可以在另一個編輯器 (notepad/vi) 中對其進行編輯,但是您的更改可能會在下一次代碼生成時被覆蓋,或者您使用的任何工具都會破壞文件。 => 找到該工具以及如何使用該工具適當地應用更改。

Net bean 讓您可以在表單視圖頁面中使用自定義代碼。 我現在不在一台帶有 net beans 的計算機上,但是如果您右鍵單擊文本區域及其靠近底部的位置

當您在 netbeans 中打開一個表單文件時,這指向該表單文件的 java 文件 inteast。

編輯此不可編輯文件的解決方案是:

  1. 打開 Netbeans 並轉到 > 工具 > 選項 > 雜項
  2. 文件創建新的文件擴展名>表單>並在關聯文件mime中選擇:HTML文件

我使用一個簡單的解決方法來編輯文件。 首先,我將整個代碼復制到記事本中,然后刪除該類。 然后我創建一個 Java 類並將代碼粘貼回去。 請記住,盡管您現在無法獲得 GUI 生成器。 所以留在我

最簡單的方法來完成它。

您可以使用您的文本編輯器而不是 netbeans 來簡單地完成它。 但有幾件事要提醒::::

1-注意netbeans 中的代碼行。

2-關閉netbeans IDE。

3-然后打開要更改系統中其他文本編輯器的文件。


就我而言,我需要更改 Registration.java 文件,以便使用文本編輯器打開它


4- 找到您需要更改的代碼行

5-更改代碼

6-保存文件

通過這種方式你可以做到。 希望你能找到解決辦法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM