Java Can';不要更改布局边框的颜色

Java Can';不要更改布局边框的颜色,java,swing,layout,colors,border,Java,Swing,Layout,Colors,Border,我正在做一个简单的Swing布局(请参阅),但由于某种原因,无论我尝试什么,我都无法更改分割UI三个部分的“边框”的颜色。我错过什么了吗 布局是使用GroupLayout完成的 编辑: 绿色部分是GroupLayout中包含的每个单独的JPanel 我试过在任何有意义的物体上使用背景色和前景色。我尝试过对每个JPanel应用EmptyBorder,但仍然没有成功。我认为这可能与布局有关,但我甚至不确定这一点 这是相关的布局代码。请注意,这都是由Netbeans自动生成的: javax.s

我正在做一个简单的Swing布局(请参阅),但由于某种原因,无论我尝试什么,我都无法更改分割UI三个部分的“边框”的颜色。我错过什么了吗

布局是使用GroupLayout完成的

编辑:

绿色部分是GroupLayout中包含的每个单独的JPanel

我试过在任何有意义的物体上使用背景色和前景色。我尝试过对每个JPanel应用EmptyBorder,但仍然没有成功。我认为这可能与布局有关,但我甚至不确定这一点

这是相关的布局代码。请注意,这都是由Netbeans自动生成的:

    javax.swing.GroupLayout pnlTopLayout = new javax.swing.GroupLayout(pnlTop);
        pnlTop.setLayout(pnlTopLayout);
        pnlTopLayout.setHorizontalGroup(
            pnlTopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 532, Short.MAX_VALUE)
        );
        pnlTopLayout.setVerticalGroup(
            pnlTopLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 59, Short.MAX_VALUE)
        );

javax.swing.GroupLayout pnlSideLayout = new javax.swing.GroupLayout(pnlSide);
        pnlSide.setLayout(pnlSideLayout);
        pnlSideLayout.setHorizontalGroup(
            pnlSideLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 200, Short.MAX_VALUE)
        );
        pnlSideLayout.setVerticalGroup(
            pnlSideLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 214, Short.MAX_VALUE)
        );

javax.swing.GroupLayout pnlMainLayout = new javax.swing.GroupLayout(pnlMain);
        pnlMain.setLayout(pnlMainLayout);
        pnlMainLayout.setHorizontalGroup(
            pnlMainLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 326, Short.MAX_VALUE)
        );
        pnlMainLayout.setVerticalGroup(
            pnlMainLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 214, Short.MAX_VALUE)
        );

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(pnlSide, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(pnlMain, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addComponent(pnlTop, javax.swing.GroupLayout.DEFAULT_SIZE, 532, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(pnlTop, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(pnlMain, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(pnlSide, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
        );

您应该设置容器内容窗格的背景色,或者设置覆盖它的
JComponent
(例如
JPanel




如您所见,中间区域的颜色为深蓝色。

除非您有一些示例代码,否则无法回答此问题。您尝试了什么?编辑:更新以包含一些布局code@tleCan,您应该编辑您的标记以包含“swing”。@t您想更改灰色区域的颜色吗?如果是这样的话,那与你的
JPanel
s的边界无关。完美就是这样!谢谢这样做有什么区别?挫折。。。在JFrame和这个.getContentPane().setBackground上…?显然一个小时内都不会让我看到。不过我会回来检查的。再次感谢。可惜这不起作用。占据jframe的所有三个JPanel都已经设置了它们的背景色。它工作得很好,但仍然显示灰色splitters@tleCan,即使您使用
frame.getContentPane().setBackground(color.BLUE.darker())
设置了
JFrame
的背景色,请单击复选标记接受此答案。内容窗格是您看到的灰色区域。它包含所有
JPanel
实例。
public final class Demo {
    private static BufferedImage bi;
    
    public static void main(String[] args){
        try {
            loadImage();
            
            SwingUtilities.invokeLater(new Runnable(){
                @Override
                public void run() {
                    createAndShowGUI();             
                }
            });
        } catch (IOException e) {
            // handle exception
        }
    }
    
    private static void loadImage() throws IOException{
        bi = ImageIO.read(Demo.class.getResource("../resources/whitefro1.jpg"));
    }
    
    private static void createAndShowGUI(){
        final JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        final JPanel panel = new JPanel();
        panel.setBackground(Color.BLUE.darker()); // here
        
        final JLabel labelOne = new JLabel();
        labelOne.setIcon(new ImageIcon(bi));
        final JLabel labelTwo = new JLabel();
        labelTwo.setIcon(new ImageIcon(bi));
        
        panel.add(labelOne);
        panel.add(labelTwo);
        frame.add(panel);       
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}