的Java Swing - 一个JPanel
问题描述:
的背景我想设计一个JPanel
应有的彩色编码图如下图所示:的Java Swing - 一个JPanel
我如何编写一个JPanel
的颜色。我认为在主JPanel上添加5个JPanel
(对于上面显示的5个块)。将每个JPanel的background
设置为light Gray
。
但是如何才能达到如图所示的深色线。
任何提示或建议?
答
只需使用不同的背景颜色为每个彩条自己设置面板。不要忘记使用setOpaque(true)使面板显式不透明 - 在大多数外观和感觉中,面板默认透明。
关于美学的注释;我会从每组阴影中的第一行开始。
答
尝试使用JTable,然后交替排的颜色。通过这种方式,您可以编写通用JComponent(AlternatingColorTable),并在这4个面板中像使用常规JTable一样使用它。
事情是这样的,也许:
public class AlternatingColorTable extends JTable {
public AlternatingColorTable() {
super();
}
public AlternatingColorTable(TableModel tableModel) {
super(tableModel);
}
/** Extends the renderer to alternate row colors */
public Component prepareRenderer(TableCellRenderer renderer, int row, int col) {
Component returnComp = super.prepareRenderer(renderer, row, col);
Color alternateColor = Color.GRAY;
Color mainColor = Color.DARK_GRAY;
if (!returnComp.getBackground().equals(getSelectionBackground())) {
Color background = (row % 2 == 0 ? alternateColor : mainColor);
returnComp.setBackground(background);
background = null;
}
return returnComp;
}
}您使用的面板,布局
?这些控件在运行时是静态还是动态添加的? – zapping 2010-03-11 07:08:04
控件是静态的。我不认为面板的布局与面板的颜色编码有关(纠正我,如果我错了)... – 2010-03-11 07:14:52