Swing之JTable篇在表单元格中增加文本输入框

2024-01-04 02:48

本文主要是介绍Swing之JTable篇在表单元格中增加文本输入框,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在JTable单元个中增加文本输入框是经常遇到的,一般在开发中会遇到在表格中对输入做控制就可以用到这种方法来实现
实现方式:
重写:TableCellRenderer接口
Component getTableCellRendererComponent(JTable table,
                                        Object value,
                                        boolean isSelected,
                                        boolean hasFocus,
                                        int row,
                                        int column)返回用于绘制单元格的组件。此方法用于在绘制前适当地配置渲染器。

参数:
table - 要求渲染器绘制的 JTable;可以为 null
value - 要呈现的单元格的值。由具体的渲染器解释和绘制该值。例如,如果 value 是字符串 "true",则它可呈现为字符串,或者也可呈现为已选中的复选框。null 是有效值
isSelected - 如果使用选中样式的突出显示来呈现该单元格,则为 true;否则为 false
hasFocus - 如果为 true,则适当地呈现单元格。例如,在单元格上放入特殊的边框,如果可以编辑该单元格,则以彩色呈现它,用于指示正在进行编辑
row - 要绘制的单元格的行索引。绘制头时,row 值是 -1
column - 要绘制的单元格的列索引
import com.jtextfield.test.UpperCaseField;   
import java.awt.BorderLayout;   
import java.awt.Color;   
import java.awt.Component;   import javax.swing.JFrame;   
import javax.swing.JScrollPane;   
import javax.swing.JTable;   
import javax.swing.JTextField;   
import javax.swing.table.DefaultTableModel;   
import javax.swing.table.TableCellRenderer;   public class EvenOddRowCellRenderer extends JFrame {   DefaultTableModel tmodel = new DefaultTableModel(new Object[][] { { "some", "text" },   { "any", "text" }, { "even", "more" }, { "text", "strings" }, { "and", "other" },   { "text", "values" } }, new Object[] { "Column 1", "Column 2" });   public EvenOddRowCellRenderer() {   setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   JTable table = new JTable(tmodel);   table.setDefaultRenderer(Object.class, new MyRenderer());   getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);   pack();   }   public static void main(String arg[]) {   new EvenOddRowCellRenderer().setVisible(true);   }   
}   class MyRenderer implements TableCellRenderer {   public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,   boolean hasFocus, int row, int column) {   UpperCaseField editor = new UpperCaseField(10);   if (value != null)   editor.setText(value.toString());   editor.setBackground((row % 2 == 0) ? Color.white : Color.cyan);   return editor;   }   
}   import javax.swing.JTextField;   
import javax.swing.text.AttributeSet;   
import javax.swing.text.BadLocationException;   
import javax.swing.text.Document;   
import javax.swing.text.PlainDocument;   public class UpperCaseField extends JTextField {   public UpperCaseField(int cols) {   super(cols);   }   protected Document createDefaultModel() {   return new UpperCaseDocument();   }   static class UpperCaseDocument extends PlainDocument {   public void insertString(int offs, String str, AttributeSet a)   throws BadLocationException {   if (str == null) {   return;   }   //此处用来控制输入   super.insertString(offs, str, a);   }   }   }  

这篇关于Swing之JTable篇在表单元格中增加文本输入框的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/567937

相关文章

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

CentOS7增加Swap空间的两种方法

《CentOS7增加Swap空间的两种方法》当服务器物理内存不足时,增加Swap空间可以作为虚拟内存使用,帮助系统处理内存压力,本文给大家介绍了CentOS7增加Swap空间的两种方法:创建新的Swa... 目录在Centos 7上增加Swap空间的方法方法一:创建新的Swap文件(推荐)方法二:调整Sww