2013-02-04 13 views
6

Tôi muốn thay đổi màu nền màu xanh thành màu trắng của taskpanecontainer. Tôi đã sử dụng dòng dưới đây nhưng không có gì được thực hiện bởi dòng này.Cách thay đổi màu bg của JXTaskPaneContainer

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

Xin vui lòng cho tôi một số ý tưởng để thay đổi màu sắc 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; 
      } 
    } 

Tôi chia sẻ hình ảnh cũng vì vậy tôi đã xóa trong tâm trí của bạn .. enter image description here

Cảm ơn

Trả lời

5

Như thường lệ, tài sản nền có thể không được tôn trọng bởi LAFS. Đó là f.i. trường hợp cho một taskpaneContainer trong Win: nó sử dụng một họa sĩ (Swingx!) để điền vào nền của nó. Vì vậy, các tài sản để cung cấp là

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

là này an toàn để làm gì? tại sao swingx không có cách để chỉnh sửa điều này? –

0

Điều tiếp theo là rất đơn giản và làm việc cho tôi như một say mê:

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