2014-04-23 85 views
0

由於某種原因我的文本窗格是白色的。它是嵌套在j滾動窗格內的文本窗格(輸出)。文本窗格顏色錯誤

 jScrollPane1.setBackground(new java.awt.Color(0, 0, 0)); 
     jScrollPane1.setBorder(null); 
     jScrollPane1.setOpaque(false); 

     output.setEditable(false); 
     output.setBackground(new java.awt.Color(0, 0, 0)); 
     output.setBorder(null); 
     output.setCaretColor(new java.awt.Color(255, 255, 255)); 
     output.setDisabledTextColor(new java.awt.Color(0, 0, 0)); 
     output.setHighlighter(null); 
     output.setOpaque(false); 
     jScrollPane1.setViewportView(output); 

enter image description here

這是影響它的唯一代碼。我不知道爲什麼會發生這種情況,但我希望文本窗格是黑色的。

回答

2

首先,設置JTextPane的背景顏色應該是綽綽有餘

Back in back

import java.awt.BorderLayout; 
import java.awt.Color; 
import java.awt.EventQueue; 
import javax.swing.JFrame; 
import javax.swing.JScrollPane; 
import javax.swing.JTextPane; 
import javax.swing.UIManager; 
import javax.swing.UnsupportedLookAndFeelException; 

public class BlackTextPane { 

    public static void main(String[] args) { 
     new BlackTextPane(); 
    } 

    public BlackTextPane() { 
     EventQueue.invokeLater(new Runnable() { 
      @Override 
      public void run() { 
       try { 
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
       } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) { 
       } 

       JTextPane tp = new JTextPane(); 
       tp.setForeground(Color.WHITE); 
       tp.setBackground(Color.BLACK); 

       JFrame frame = new JFrame("Testing"); 
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
       frame.setLayout(new BorderLayout()); 
       frame.add(new JScrollPane(tp)); 
       frame.pack(); 
       frame.setLocationRelativeTo(null); 
       frame.setVisible(true); 
      } 
     }); 
    } 

} 

如何過,你似乎使它透明出於某種原因,output.setOpaque(false);。現在你所做的JScrollPane透明爲好,這是很好的,但你忘了做透明jScrollPane1.getViewport().setOpaque(false);

滾動窗格視口是由三個部分組成,在JScrollPane本身,JViewport它決定哪些內容顯示,您組件(視圖)

ScrollPane

How to Use Scroll Panes細看了解更多詳情

+0

謝謝MadProgrammer,但剛纔我提出了自己的解決方案。 – Arc

+0

但我會投你的最好:) – Arc

0

設置一下,並從「雨雲」爲「Windows」的感覺,並確保文本P ane的「不透明」是真實的。

不要擔心,當您在早上1時編碼時,會發生這些錯誤。