Tag: tablecellrenderer

JTable细胞颜色

有人能举例说明如何在JTable中获取特定单元格的背景颜色吗? 我无法找到如何执行此操作的示例。 获取单元格中的值的大量示例,而不是单元格的背景颜色。

Java JTable标题自动换行

我试图让表格上的标题有自动换行。 我已设法做到这一点,但第一个数据行正在扩展。 该表的代码是: public class GenerateTable extends JTable { private JCheckBox boxSelect = new JCheckBox(); private JTableHeader hdGen; public class LineWrapCellRenderer extends JTextArea implements TableCellRenderer { private static final long serialVersionUID = 1L; int rowHeight = 0; // current max row height for this scan @Override public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, […]

彩色表格单元格

我想根据第1列中的值为我的表格单元着色,如果值不等于第1列中的值,则颜色应为青色,但我的代码不起作用: table = new JTable(){ public TableCellRenderer getCellRenderer(int row, int column) { TableCellRenderer tcr=null; Color c; if(column>=1&&getValueAt(row, column)!=null &&getValueAt(row, 1)!=null &&!getValueAt(row, column).equals(getValueAt(row, 1))) c=Color.CYAN; else c=Color.white; if(getValueAt(row, column) instanceof Boolean) { tcr= super.getDefaultRenderer(Boolean.class); } else { tcr= super.getCellRenderer(row, column); } tcr.getTableCellRendererComponent(this, getValueAt(row, column), isCellSelected(row, column) , hasFocus(), row, column).setBackground(c); return tcr; } public TableCellEditor getCellEditor(int […]

JTable列中的对齐日期部分以propotional字体格式化

我需要使日期部分(dd,MMMM,yyyy)垂直对齐。 我在日期格式的固定长度的月份和日期问了一个问题? 插入填充字母,但我发现它在比例字体的情况下没有帮助(字母的宽度不同)。 例如,使用Lucida Fax字体: 为不同的日期部件制作不同的标签正在考虑中,但它太手动了。 如果列宽很小,很难将文本包裹起来…. 谢谢

更改单元格颜色而不更改其他单元格中的颜色(Jtable)

所以说我们有一个31列10行的JTable。 我想将2列4行的颜色更改为红色。 在我这样做之后,改变另一种细胞颜色而不会失去我之前细胞的颜色。 我试过以下但没有成功: public class CellR extends DefaultTableCellRenderer { public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { setForeground(Color.white); if(row == TestHotel.v.getRow() && column == TestHotel.v.getCol()){ // Only for specific cell // c.setFont(/* special font*/); // you may want to address isSelected here too setForeground(Color.BLACK); setBackground(Color.RED); } return […]

如何更改具有特定列值的JTable整行的颜色

我有一个Jtable,它从一系列值中填充。 我的代码是这样的: private static final String[] columnNames = {“Line Number”, “Error”,”Fix Proposed”,”Percentage (%)”}; static DefaultTableModel model = new DefaultTableModel(null,columnNames); public static void DisplayMyJList(List x,String extension, ArrayList l,ArrayList p, ArrayList e,ArrayList s) throws IOException {//Method to Dynamic get values to be populated in Jtable. String theExtension = extension; if(FILE_EXTENSION.equals(“java”)) { for(CaptureErrors ex: x) { Vector row […]

如何使JTable列包含复选框?

前言:我对java很糟糕,对java ui组件更糟糕。 我找到了几个关于如何向表添加按钮的不同教程,但是我正在努力添加复选框。 我需要有一个列,在默认情况下绘制一个文本框(我认为处理的是单元格渲染器),然后单击复选框,取消选中框,重新绘制所述框,并触发我可以跟踪的某个地方的事件。 目前我有一个自定义的cellrenderer: public class GraphButtonCellRenderer extends JCheckBox implements TableCellRenderer { public GraphButtonCellRenderer() { } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if(isSelected) setSelected(true); else setSelected(false); setMargin(new Insets(0, 16, 0, 0)); setIconTextGap(0); setBackground(new Color(255,255,255,0)); return this; }} 其中当前处理勾选框,但只有勾选并取消选中该行的框。 但我不知道如何处理这些事件。 真的我要问的可能是一个关于如何干净地将复选框添加到JTable的好教程的链接。 非常感谢任何协助:)

JProgressBar setValue不起作用,也尝试使用SwingUtilities

我在JTable中实现了一个JProgressBar。 我使用渲染器作为ProgressBar NOT EDITOR。 现在我尝试实现一个ProgressBar设置值,但由于EDT它没有工作,所以我使用了SwingUtilties,但它没有用。 预期行为 – JProgressBar必须将值设置为80,目前它只显示0% public class SkillSetTableProgressBarRenderer extends JProgressBar implements TableCellRenderer { public SkillSetTableProgressBarRenderer() { super(0, 100); super.setPreferredSize(new Dimension(100, 80)); } @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { final JProgressBar bar = (JProgressBar) value; if (bar.getString().equals(“JAVA”) || bar.getString().equals(“SWING”)) super.setString(“Mellow”); else super.setString(“GOOD”); setOpaque(true); […]

着色jTable行

我想为jTable中的特定行着色..我使用此代码为列做了, private class CustomCellRenderer extends DefaultTableCellRenderer { /* (non-Javadoc) * @see javax.swing.table.DefaultTableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int) */ @Override public Component getTableCellRendererComponent(JTable table, Object value,boolean isSelected, boolean hasFocus, int row, int column) { Component rendererComp = super.getTableCellRendererComponent(table, value, isSelected, hasFocus,row, column); //Set foreground color // rendererComp.setForeground(Color.red); //Set background color rendererComp .setBackground(Color.pink); return rendererComp ; } […]

Swing JTable – 突出显示与所选行的其余部分不同颜色的选定单元格?

我有一个基本的摆动JTable,要求是当点击任何单元格时,整个行应该突出显示,并且单击的单元格应该与突出显示的行的其余部分颜色不同。 目前,我已将isRowSelectionAllowed视为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; […]