【发布时间】:2011-10-06 22:21:27
【问题描述】:
我正在做一个简单的 Swing 布局(请参阅 image),但由于某种原因,无论我尝试什么,我都无法更改分隔 UI 三个部分的“边框”的颜色。我错过了什么吗?
布局是使用 GroupLayout 完成的。
编辑:
绿色部分是 GroupLayout 中包含的每个单独的 JPanel。
我已经在任何有意义的对象上尝试了背景色和前景色。我尝试将 EmptyBorder 应用于每个 jpanels,但仍然没有运气。我认为这可能与布局有关,但我什至不确定。
这是相关的布局代码。请注意,这都是由 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)))
);
【问题讨论】:
-
除非您有一些示例代码,否则此问题无法回答。你试过什么?
-
编辑:更新包括一些布局代码
-
@tleCan,您应该编辑标签以包含“swing”。
-
@tleCan,你想要改变灰色区域颜色的能力吗?如果是这样,那与您的
JPanels 的边界无关。
标签: java swing layout colors border