简体   繁体   English

如何在 Java Z198B44A40AA77F2256C0Z862 的 JTable 单元格中设置两个背景 colors

[英]how to set two background colors in JTable cell in Java Swing

I know how to set background color in Jtable cell in java Swing, but i don't know how to set two background colors in one cell. I know how to set background color in Jtable cell in java Swing, but i don't know how to set two background colors in one cell. Below is the example img:下面是示例img:

在此处输入图像描述

I need a help to make it (Using java Swing only), Thanks in advance !我需要帮助(仅使用 java Swing),提前致谢!

@ camickr Thanks camickr, i done it as your way: i post below code that using my Swing application: @ camickr 感谢 camickr,我按照你的方式完成了:我使用我的 Swing 应用程序发布以下代码:

 JPanel panel;
 JLabel jl1= new JLabel("1");
 JLabel jl2= new JLabel("1");

 class PanelRenderer extends JPanel implements TableCellRenderer {
public PanelRenderer() {
setOpaque( true );
init();
}

private void init() {
setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
jl1.setFont(new Font("sansserif", Font.BOLD, 20));
jl1.setBorder(new LineBorder(Color.BLACK));
jl1.setPreferredSize(new Dimension(20, 20));
jl1.setBackground(Color.GREEN);
jl1.setOpaque(true);
add(jl1);

jl2.setFont(new Font("sansserif", Font.BOLD, 20));
jl2.setBorder(new LineBorder(Color.BLACK));
jl2.setPreferredSize(new Dimension(20, 20));
jl2.setBackground(new Color(85, 134, 235));
jl2.setOpaque(true);
add(jl2);


}


@Override
public Component getTableCellRendererComponent( JTable table, Object value, boolean 
isSelected, boolean hasFocus, int row, int column ) {
if ( isSelected )
{
 .....
} else
{
....
}
return this;
}


}


class PanelEditor extends DefaultCellEditor {


public PanelEditor( JTextField txt ) {
super( txt );
   ....

}


@Override
public Component getTableCellEditorComponent( JTable table, Object value, boolean 
isSelected, int row, int column ) {
  .... 
return panel;
}
} 

.....
// load data from database with the renderer
 TableCellRenderer colorRenderer = new  PanelRenderer();
my_table.getColumnModel().getColumn(4).setCellRenderer(colorRenderer);

在此处输入图像描述

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM