2014-09-02 81 views
2

請看看下面的代碼去除JTextField中添加邊框並使其恢復正常

Border border = BorderFactory.createLineBorder(Color.RED, 1); 
introducerFeesTxt.setBorder(border); 

我用這個代碼創建一個邊界線爲JTextField。但是現在我需要刪除它並將其替換爲正常視圖。以下是我的嘗試。

introducerFeesTxt.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1)); 

上面的代碼再次創建了一個與其他常規JTextFields不相似的邊框。以下是截圖。

enter image description here

你可以清楚地看到添加邊框「正常」 JTextField和JTextField的之間的差異性。我如何將它重置爲「正常」?

回答

2

您應該使用L & F(外觀和感覺)的原始邊框。

Border border = BorderFactory.createLineBorder(Color.RED, 1); 
introducerFeesTxt.setBorder(border); 
// some operation 

introducerFeesTxt.setBorder(UIManager.getBorder("TextField.border")); 
+0

完美。謝謝。 – 2014-09-02 15:30:25

3

你可以保持原有的邊界在變化之前一個變量,然後使用此邊框將它恢復到原來的狀態:

Border originalBorder; 
... 
JTextField textField = new JTextField(20); 
originalBorder = textField.getBorder(); 
// here you can safely change text field's border 

當然,這originalBorder變量的範圍應足夠寬在需要時使用它(fe:班級成員)。

注意:請注意此方法獨立於您的應用程序使用的PLAF

+1

+1對於LookAndFeel獨立! – Ben 2014-09-02 16:15:28

+1

+1爲獨立的事情.... – 2014-09-02 18:52:46