- 浏览: 735555 次
- 性别:
- 来自: 广州
-
文章分类
最新评论
-
lingsuch:
Android网络连接判断与处理 -
月光照着我:
写的不错,作为笔记了
Android中LayoutInflater的使用 -
智博王锋:
好文章是要顶的!
Android中LayoutInflater的使用 -
云南白药:
...
Android中LayoutInflater的使用 -
万新one:
理解了许多。解释的不错。3Q.
Android中LayoutInflater的使用
import javax.swing.*; import java.awt.*; import javax.swing.table.*; import javax.swing.event.*; class TableRowHeaderDemo { public static void main(String[] args) { new TableRowHeaderFrame(); } } class TableRowHeaderFrame extends JFrame { private static final long serialVersionUID = 1L; public TableRowHeaderFrame() { DefaultTableModel model = new DefaultTableModel(30, 10); JTable table = new JTable(model); /* 将table加入JScrollPane */ JScrollPane scrollPane = new JScrollPane(table); /* 将rowHeaderTable作为row header加入JScrollPane的RowHeaderView区域 */ scrollPane.setRowHeaderView(new RowHeaderTable(table, 40)); this.getContentPane().add(scrollPane, BorderLayout.CENTER); this.setVisible(true); this.setSize(400, 200); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } /** * 用于显示RowHeader的JTable,只需要将其加入JScrollPane的RowHeaderView即可为JTable生成行标题 */ class RowHeaderTable extends JTable { private static final long serialVersionUID = 1L; public JTable refTable;// 需要添加rowHeader的JTable /** * 为JTable添加RowHeader, * * @param refTable * 需要添加rowHeader的JTable * @param columnWideth * rowHeader的宽度 */ public RowHeaderTable(JTable refTable, int columnWidth) { super(new RowHeaderTableModel(refTable.getRowCount())); this.refTable = refTable; this.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);// 不可以调整列宽 this.getColumnModel().getColumn(0).setPreferredWidth(columnWidth); this.setDefaultRenderer(Object.class, new IsRowHeaderRenderer(refTable, this));// 设置渲染器 this.setPreferredScrollableViewportSize(new Dimension(columnWidth, 0)); } } /** * 用于显示RowHeader的JTable的渲染器,可以实现动态增加,删除行,在Table中增加、删除行时RowHeader * 一起变化。当选择某行时,该行颜色会发生变化 */ class IsRowHeaderRenderer extends JLabel implements TableCellRenderer, ListSelectionListener { private static final long serialVersionUID = 1L; JTable reftable;// 需要添加rowHeader的JTable JTable tableShow;// 用于显示rowHeader的JTable public IsRowHeaderRenderer(JTable reftable, JTable tableShow) { this.reftable = reftable; this.tableShow = tableShow; // 增加监听器,实现当在reftable中选择行时,RowHeader会发生颜色变化 ListSelectionModel listModel = reftable.getSelectionModel(); listModel.addListSelectionListener(this); } public Component getTableCellRendererComponent(JTable table, Object obj, boolean isSelected, boolean hasFocus, int row, int col) { ((RowHeaderTableModel) table.getModel()).setRowCount(reftable .getRowCount());// 设置行表头数量 JTableHeader header = reftable.getTableHeader(); this.setOpaque(true); setBorder(UIManager.getBorder("TableHeader.cellBorder"));// 设置为TableHeader的边框类型 setHorizontalAlignment(CENTER);// 让text居中显示 setBackground(header.getBackground());// 设置背景色为TableHeader的背景色 if (isSelect(row)) { // 当选取单元格时,在row header上设置成选取颜色 setForeground(Color.white); setBackground(Color.lightGray); } else { setForeground(header.getForeground()); } setFont(header.getFont()); setText(String.valueOf(row + 1)); return this; } public void valueChanged(ListSelectionEvent e) { this.tableShow.repaint(); } private boolean isSelect(int row) { int[] sel = reftable.getSelectedRows(); for (int i = 0; i < sel.length; i++) if (sel[i] == row) return true; return false; } } /** * 用于显示表头RowHeader的JTable的TableModel,不实际存储数据 */ class RowHeaderTableModel extends AbstractTableModel { private static final long serialVersionUID = 1L; private int rowCount;// 当前JTable的行数,与需要加RowHeader的TableModel同步 public RowHeaderTableModel(int rowCount) { this.rowCount = rowCount; } public void setRowCount(int rowCount) { this.rowCount = rowCount; } public int getRowCount() { return rowCount; } public int getColumnCount() { return 1; } public Object getValueAt(int row, int column) { return row; } }
发表评论
-
Swing中引入Android的NinePatch技术,让Swing拥有Android的外观定制能力
2012-09-21 09:22 1639【摘要】 本文诣在 ... -
JavaSwing实现支持合并拆分的JTable
2010-12-16 15:39 1991GridBagModel:抽象模型接口。该接口用于描述表格中单 ... -
JTable小例子,表格中使用JComboBox下拉按钮
2010-12-16 15:21 5439import java.awt.BorderLayout; ... -
配合滚动面板实现JTable上下翻页的效果
2010-12-16 14:26 3441import java.awt.BorderLayout; ... -
JScrollBar简单演示例子
2010-12-06 19:28 6639import java.awt.*; import java ... -
点击jtable的表头,数据会根据根据表头来排序
2010-12-06 11:47 5156import javax.swing.JFrame; imp ... -
重写JSplitPane的BasicSplitPaneUI
2010-09-18 13:39 1596import java.awt.Color; import ... -
Swing窗口初始最大化的方法
2010-08-20 11:09 79511.设置窗口最大(伪最大化) JFrame frame =n ... -
Tree目录实现拖拽功能演示实例(DragAndDrop)
2010-08-10 16:49 1812import java.awt.BorderLayout; ... -
设置JTextPane指定内容的颜色
2010-05-21 14:29 1391package Assis; import java.a ... -
ScaleImageDemo图像缩小与放大演示
2010-05-12 14:59 2139package Assis; import java.a ... -
TreesDemo
2010-05-04 11:19 1114import java.awt.*; import java ... -
TableDemo
2010-05-04 11:17 1214import javax.swing.JTable; imp ... -
分割面板演示JSplitPaneDemo
2010-05-04 11:12 1417//Java Swing 带分隔条的面板代码 impor ... -
StylesExample8
2010-04-08 12:55 1234import javax.swing.*; import j ... -
StylesExample7
2010-04-08 12:54 1028import javax.swing.*; import j ... -
StylesExample6
2010-04-08 12:52 1082import javax.swing.*; import j ... -
StylesExample5
2010-04-08 12:51 1013import javax.swing.*; import j ... -
StylesExample4
2010-04-08 12:50 1142import javax.swing.*; import j ... -
StylesExample3
2010-04-08 12:50 1029import javax.swing.*; import j ...
相关推荐
通过js获取table中当前选择的一行的行号,获取当前行号后可以进行对应的操作
但是,对于行的选中颜色,LabVIEW默认的设置并不提供直接的控制选项。 要实现选中行的上色和背景颜色变化,通常需要编写自定义VIs(虚拟仪器),利用LabVIEW的事件结构来响应用户的操作。以下是实现这一功能的一般...
在JavaScript编程中,表格(table)是网页布局和数据展示常用的一种元素。有时我们需要获取用户在表格中选中或点击的行号和列号,以便进行相应的操作或处理。这篇博客将详细介绍如何实现这一功能。 首先,让我们...
在“行号”命令中,我们可以对行号进行一些快捷设置,如每页重编行号、禁止用于当前段落等。 示例效果 如图效果,是选中了“每页重编行号”。这将使每一页的行号都从1开始编号。 小结 添加行号是Word文档中一个...
VC6.0显示行号和设置字体的工具 1. 如果你的VC安装在C盘,请拷贝文件VC6LineNumberAddin.dll到如下目录: C:\Program Files\Microsoft Visual Studio\Common\MSDev98\AddIns 2. 注册 双击VC6LineNumberAddin....
除了基本的颜色设置,还可以通过自定义绘制(`EVT_LIST_CTRL_DRAW_ITEM`事件)来实现更复杂的样式,比如渐变色、图案填充等。这需要重写`OnDrawItem`方法,使用`DC`(设备上下文)对象来绘制单元格。 总的来说,...
3. **设置样式**:为了使多层表头更具可读性,可以调整字体大小、颜色和加粗等样式。选择表头单元格,使用“字体”、“字号”、“字体颜色”和“粗体”等选项来美化表头。 二、Excel导出多层表头 1. **数据区域...
在实际应用中,可能还需要考虑一些边界情况,例如用户输入的行号或列号是否超出范围,以及处理具有合并单元格的复杂表格等。不过,以上代码提供了一个基本的框架,可以帮助你开始实现“Jquery获得鼠标在Table上的...
然而,对于初次接触或习惯于现代IDE的用户来说,VC6.0的一些界面设置可能不尽如人意,比如默认字体不够清晰,且不支持直接在编辑器边缘显示行号。针对这些问题,我们可以利用特定的工具进行优化,让VC6.0更加符合...
在某些应用中,我们可能需要为`CListCtrl`的不同行设置不同的颜色或者字体颜色,以增强界面的可读性和视觉效果。本篇文章将详细介绍如何实现这一功能,以及如何指定行高和行宽。 首先,要为`CListCtrl`的不同行设置...
"VC6.0显示行号+设置字体工具+VC6助手"这个压缩包文件恰好提供了这些增强功能。 首先,"VC6.0显示行号插件"解决了默认情况下无法直接查看代码行号的问题。行号对于代码阅读和调试至关重要,特别是当涉及到多行代码...
在这个实例中,我们可以通过设置一个headerDatas对象数组,该数组包含每个表头的配置信息,例如label属性用于指定表头显示的文本,width属性用于指定表头宽度等。然后通过v-for指令在<el-table-column>组件上循环...
CRichEditView显示行号的代码详解 ...代码中使用了CRichEditView控件、设置边距、使用Memory DC和绘制行号等技术点。通过本文,我们可以轻松地在CRichEditView中显示行号,以便于用户快速定位和编辑文本。
`Text`属性用于获取或设置控件中的文本内容,`SelectionStart`用于设定光标位置,`SelectionLength`用于设定选中文本的长度,而`SelectionColor`则可以用来改变选中文本的颜色。 要为每行设置不同颜色,我们需要...
`SelectionStart`用于设置光标位置,`SelectionLength`确定选中文本的长度,而`SelectionColor`则用于设置选中文本的颜色。 下面是一个基本的实现步骤: 1. **遍历文本行**:首先,我们需要遍历`richtextbox`中的...
自己写的一个继承自JTable的带有行号显示功能的表格,支持增删,设置行高等动态操作。
- **自定义行号样式**:除了简单的开启或关闭行号外,还可以进一步调整行号的字体大小、颜色等样式设置,以满足个性化需求。 - **使用插件增强功能**:除了内置功能外,还可以考虑安装第三方插件来增强行号显示的...
除了基本的行号显示,Visual Studio还提供了其他增强代码阅读性的功能,例如代码折叠(可以隐藏部分代码块以减少屏幕上的内容),颜色高亮(不同类型的代码使用不同的颜色以提高可读性),以及代码大纲视图(查看...
在Windows应用程序开发中,`RichTextBox`控件是一种常用的文本编辑和显示组件,它支持丰富的文本格式,如字体、颜色、样式等。然而,`RichTextBox`默认并不提供行号功能,开发者通常需要自己实现这一功能。这个话题...
.xaml设置显示行号