如何更改JXTaskPane容器的bg颜色

时间:2013-02-04 11:29:09

标签: java swing swingx jxtaskpane

我想将蓝色背景颜色更改为taskpanecontainer的白色。我用过下面这行但没有任何影响。

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

由于

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:0)

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

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