我有一个基本的Swing JTable,要求是在任何单元格上单击时,都应突出显示整个行,并且单击的单元格应与突出显示的行的其余部分具有不同的颜色。
当前,我具有 isRowSelecthtml" target="_blank">ionAllowed 为 true
我尝试使用自定义 TableCellRenderer ,如下所示:
public class CustomTableCellRenderer extends DefaultTableCellRenderer
{
public static final DefaultTableCellRenderer DEFAULT_RENDERER = new DefaultTableCellRenderer();
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component c = DEFAULT_RENDERER.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (isSelected) {
c.setBackground(Color.red);
}
else {
c.setForeground(Color.black);
c.setBackground(Color.white);
}
return c;
}
}
但这似乎不起作用(整个行以红色突出显示)。
我还尝试如下设置UIManager属性:
UIManager.put("Table.focusCellBackground",
new javax.swing.plaf.ColorUIResource (Color.red));
但这似乎也不起作用(即使当我尝试使用
UIManager.put("Table.focusCellHighlightBorder",
new BorderUIResource.LineBorderUIResource(Color.red));
效果很好)
您能给我一些建议吗?
试试这个:
jtable.setCellSelectionEnabled(true);
然后在 getTableCellRendererComponent
if (table.isCellSelected(row, column))
setForeground(Color.red);
else if (table.isRowSelected(row))
setForeground(Color.green);
else if (table.isColumnSelected(column))
setForeground(Color.blue);
else
setForeground(Color.black);
这将使选定的单元格显示为红色,行的其余部分显示为绿色,而列的其余部分显示为蓝色。注意:单元格选择要求选择模型为单个,其他选择模型可能会导致不可预测的行为。
问题内容: 有没有一种方法可以设置Windows 7的Aero主题中SWT表(FULL_SELECTION样式)的突出显示行的背景颜色?看来这是从表格的背景色派生而来的浅色。但是除此之外,我似乎对使用哪种颜色没有太多控制。 这对我们来说是个问题,因为我们某些表项的文本(前景)为灰白色,因此如果在浅色背景上选择该行,则很难阅读。我已经将表格的背景色设置为“黑色”,但是文本仍然很难看清。 关于如何控制
实际行为 预期行为 至于我使用的代码,主加载了一个,其中调度页是真正的罪魁祸首,扩展了Xamarin.Forms.TabbedPage。SelectedPage被正确设置(加载正确的contentpage),但选项卡没有突出显示。 null
问题内容: 我找不到能帮助我解决Angular中这个简单问题的东西。与位置路径进行比较时,所有答案都与导航栏相关。 我使用list和构建了一个动态表。当我单击一行时,我试图为该行分配一个css类(选中),以突出显示该行已被用户选中的事实,并从先前突出显示的行中删除了该行。 我缺少在选定的行和CSS类分配之间进行绑定的方法。 我在每个()上应用了代码, 但我缺少应用更改的逻辑。 我的代码-Plunk
我使用gridview在我的gridview中选择多个项目(图像)。 我使用< code > MultiChoiceModeListener 来实现这一点,问题是选中的项目没有突出显示 选择器xml: 当我触摸一个项目时,它被蓝色覆盖(我认为这是因为我使用了< code > GridView . setdrawselectorontop(true);)...我一抬起手指,蓝色就消失了。 我希望选择
我有一个Gridview,当我按下某个元素时,我想绘制背景。 我有一个适配器来动态加载gridview元素。我在适配器上有一个侦听器。在这个侦听器上,我用我想要的颜色放置背景,但它也会在列表中绘制另一个元素(我猜是在视图重新加载后,位置相同的元素)。 重要提示:我的最小API是9,我无法真正更改它。 以下是我的 getView 方法的代码(来自适配器): 下面是线性布局的侦听器(表示每个项目):
问题内容: 我有此代码从如何突出显示jtable中的多个单元格: 但是,当我用它突出显示一个单元格时,它会执行错误的操作,就像丢失整个数据一样。Iam是Java Swing的新手。请帮助使单元格在按钮按下动作事件中突出显示。 更新:添加我的示例代码: 我想要的是单击按钮,我只想突出显示单元格编号1(Row1-Column1)。 问题答案: 我使用此类来设置JTables的样式 创建此类的实例,并将