2013-02-04 58 views
6

我想将蓝色背景颜色更改为任务面板容器的白色。我已经使用了下面的行,但没有任何影响这条线。如何更改JXTaskPaneContainer的bg颜色

UIManager.put("TaskPaneContainer.background", Color.LIGHT_GRAY); 

请给我一些想法,改变BG颜色。

public class NewJFrame2 extends javax.swing.JFrame { 

     public NewJFrame2() { 
      initComponents(); 
      setSize(462, 300); 
      add(doInit()); 
      setBackground(Color.WHITE); 
     } 

     private Component doInit() { 
       JXTaskPaneContainer taskpanecontainer = new JXTaskPaneContainer(); 
       //taskpanecontainer.setLayout(new VerticalLayout(2)); 

       JXTaskPane taskpane1 = new JXTaskPane(); 
       taskpane1.setTitle("First TaskPane"); 
       JXTable table = new JXTable(); 
       DefaultTableModel model = new DefaultTableModel(); 
       model.addColumn("ParameterName"); 
       model.addColumn("ParameterType"); 
       model.addColumn("Operation"); 
       model.addRow(new Object[]{"Request", "String", "Delete"}); 
       model.addRow(new Object[]{"Request", "String", "Delete"}); 

       table.setModel(model); 
       ((JComponent) taskpane1.getContentPane()).setBorder(BorderFactory.createEmptyBorder(0,5,0,5)); 
       taskpane1.add(table); 

       taskpanecontainer.add(taskpane1); 

       taskpanecontainer.setBorder(javax.swing.BorderFactory.createEmptyBorder(0,0,0,0)); 

       return taskpanecontainer; 
      } 
    } 

我分享的形象也让我在你的心中已经清除.. enter image description here

感谢

回答

5

与往常一样,背景属性可能不被尊重的LAF。那是f.i. Win中的taskpaneContainer:它使用(Swingx!)画家填充其背景。因此,要提供财产

UIManager.put("TaskPaneContainer.backgroundPainter", new MattePainter(Color.RED)); 
+0

这是安全的呢?为什么swingx没有办法编辑它? –

0

接下来的事情很简单,工作对我来说就像一个魅力:

taskPaneContainer.setBackground(Color.WHITE); 
taskPaneContainer.setBackgroundPainter(null);