`
caleb_520
  • 浏览: 250824 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JTable操作之一

阅读更多
今天写一篇关于JTable有关的文章,包括:为JTable单元格设置字体颜色、为JTable单元格设置背景色、让JTable某一列设置为不可能编辑。代码很简单,请朋友们参考如下:
package Java;

import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import java.awt.BorderLayout;
import javax.swing.JComboBox;
import javax.swing.table.TableColumn;
import javax.swing.DefaultCellEditor;
import javax.swing.table.DefaultTableCellRenderer;
import java.awt.Color;
import javax.swing.table.DefaultTableModel;

/**
* 设置单元格为不可编辑状态
* @author 刘阳
*/
public class JTableFrame_4 extends JFrame {
	private JPanel panel;
	private JTable table; //定义个二维数据表格
	private JScrollPane scrollPane; //定义带有滚动条的面板
	private DefaultTableModel dtm; //定义表格模型,该模型可以存放数据
	
	//初始化数据
	Object[][] rowData = {
		{"1001", "李汉", "软件部", new Double(3000)},
		{"1002", "朱泽", "软件部", new Double(3100)},
		{"1003", "刘宇", "经理部", new Double(3000)},
		{"1004", "张斌", "软件部", new Double(4000)},
		{"1005", "秦小", "人事部", new Double(4000)}
	};
	
	//初始化列名
	Object[] columnNames = {"编号", "姓名", "部门", "月薪"};
	
	public JTableFrame_4() {
		super("单元格具有下拉框的表格");
		init();
	}
	
	public void init() {
		setSize(500, 300);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		//利用TableModel重新覆盖isCellEditable方法,将第一列变成不可编辑状态
		dtm = new DefaultTableModel(rowData, columnNames) {
			public boolean isCellEditable(int rowIndex, int columnIndex) {
				boolean f = (0 <= rowIndex && rowIndex < getRowCount() && columnIndex == 0) ? false : true;
				return f;
			}
		};
		table = new JTable(dtm);
		JComboBox comboBox = new JComboBox();
		comboBox.addItem("软件部");
		comboBox.addItem("经理部");
		comboBox.addItem("人事部");
		comboBox.addItem("后勤部");
		comboBox.addItem("财务部");
		
		//TableColumn主要作用可以对表格中的某一列的属性进行编辑
		TableColumn tableColumn = table.getColumn("部门");
		
		//利用TableColumn类中的setCellEditor()方法来设置单元格的编辑器
		//DefaultCellEditor类可以将表格中的单元格设置成下拉框
		tableColumn.setCellEditor(new DefaultCellEditor(comboBox));
		
		//DefaultTableCellRenderer类可以绘制单元格的背景、字体颜色等功能
		DefaultTableCellRenderer backGroundColor = new DefaultTableCellRenderer();
		//绘制部门列的背景为黄色
		backGroundColor.setBackground(Color.yellow);
		tableColumn.setCellRenderer(backGroundColor);
		
		
		TableColumn moneyColumn = table.getColumn("月薪");
		//绘制月薪列的字体颜色
		DefaultTableCellRenderer fontColor = new DefaultTableCellRenderer() {
			public void setValue(Object value) { //重写setValue方法,从而可以动态设置列单元字体颜色
			
				double a = (value instanceof Double) ? ((Double) value).doubleValue() : 0.0; //获取月薪列中的值
				
				setForeground((a  > 3099.0) ? Color.red : Color.black); //如果月薪大于3099元,就将字体设置为红色
				
				setText((value == null) ? "" : value.toString());
			}
		};
		moneyColumn.setCellRenderer(fontColor);
		
		
		panel = new JPanel();
		panel.setLayout(new BorderLayout());
		
		scrollPane = new JScrollPane();
		scrollPane.getViewport().setView(table); //把二维数据表格放到滚动面板中
		panel.add(scrollPane, BorderLayout.CENTER); //把滚动面板添加到底层面板上
		
		this.getContentPane().add(panel, BorderLayout.CENTER);
		
		setVisible(true);
	}
	
	public static void main(String[] args) {
		JTableFrame_4 f = new JTableFrame_4();
	}
}

阳阳老师笔记
  • 大小: 9.9 KB
分享到:
评论

相关推荐

    Swing之JTable的详细介绍

    Swing中的JTable组件是Java GUI开发中用于展示表格数据的重要工具,它是Swing库中的一个核心组件。JTable能够方便地创建和管理表格数据,同时也支持用户交互,如编辑单元格、排序、选择行等操作。下面我们将深入探讨...

    JTable的实战之财务管理简化版

    《JTable的实战之财务管理简化版》是一款基于Java Swing组件JTable的应用程序,它专为财务管理设计,提供了分页查询、模糊查询以及实时刷新、批量删除等实用功能。这款原创程序旨在帮助用户更高效地管理和操作财务...

    Java Swing高级空件JTable的用法

    它是Swing中最复杂和强大的组件之一,具有许多高级功能和灵活的配置选项。下面将详细介绍JTable的用法和相关知识点。 1. JTable与TableModel JTable组件的核心是TableModel接口,它定义了表格的结构和数据。...

    java jtable

    Java JTable 是Java Swing库中的一个核心组件,用于在GUI应用程序中展示表格数据。它允许用户查看、编辑和操作二维数据集,常...对于初学者,理解JTable的工作原理和如何自定义数据模型是掌握Swing开发的关键步骤之一。

    swing中JTable的简单使用

    它提供了丰富的组件,其中之一就是JTable,这是一个强大的组件,用于展示二维数据集,并允许用户进行交互操作。在"swing中JTable的简单使用"这个主题中,我们将深入探讨如何在Java Swing应用中有效地使用JTable。 ...

    java表格jtable源码

    Java表格组件JTable是Swing库中的核心组件之一,它用于在GUI应用程序中展示数据集。JTable不仅可以显示数据,还允许用户与数据进行交互,如编辑、排序和选择。在Java编程中,掌握JTable的使用对于创建功能丰富的图形...

    Swing之JTable+JComboBox的详细介绍[zone yan]

    `JTable`用于展示二维表格数据,而`JComboBox`则是一种下拉选择框,可以提供多个选项供用户选择。在某些场景下,我们可能需要在`JTable`的某一列中嵌入`JComboBox`,以实现更加灵活的数据输入方式。本篇将详细介绍...

    JTable的一些小应用

    通过上述介绍,可以看出 `JTable` 组件的强大之处在于它不仅能够灵活地展示数据,还提供了许多自定义选项以满足不同的需求。掌握这些基本用法后,开发者可以根据自己的项目特点来进一步定制化表格的功能和外观,以...

    一个jTable的示例文件.zip

    在Java Swing库中,`JTable`是一个非常重要的组件,用于展示二维数据表格。它提供了丰富的功能,如排序、选择、...`DataGridView`可以直接绑定到数据源,支持列操作、编辑、排序等,使用方式与`JTable`有诸多相似之处。

    JTable Examples

    在Java编程领域,Swing库提供了丰富的组件来创建桌面应用程序,其中之一便是JTable。`JTable`是用于显示和编辑表格数据的组件,它在GUI(图形用户界面)设计中非常常见,尤其适用于数据展示和交互。本资料集合了25个...

    2.高级Swing组件JTable应用[归纳].pdf

    它是 Java 编程中最常用的表格组件之一。下面是 JTable 应用的详细知识点: JTable 与 TableModel JTable 组件需要一个TableModel 对象来提供数据。TableModel 是一个接口,定义了数据的结构和内容。JTable 使用 ...

    Java中JTable的用法

    JTable是Swing框架中用于显示和编辑表格数据的关键组件之一。它不仅提供了强大的数据管理功能,还支持丰富的定制选项,使得开发者能够根据具体需求创建出高度个性化的表格界面。 #### 二、JTable基本用法 1. **...

    如何将JTable表的内容输出到Excel

    1. **JTable**: 是Swing组件之一,用于在GUI应用中展示表格形式的数据。 2. **jxl**: jxl(Java Excel API)是一个开源库,允许开发者读取、写入Microsoft Excel文件。 3. **WritableWorkbook/WritableSheet**: 这两...

    swing jtable 合并

    `Swing之JTable详解.doc`可能包含了`JTable`的基本用法、构造函数、方法以及如何添加、删除和修改表格数据等内容。`2.高级Swing组件JTable应用.doc`可能进一步讨论了`JTable`的高级特性,如排序、过滤、拖放操作,...

    用于自己学习的文件,包括map容器的适用以及JTable组件

    JTable类构建在JScrollPane之上,因此可以自动处理滚动。你可以创建一个JTable实例,并提供一个TableModel来填充数据,这个模型可以是自定义的,以适应不同的数据源。JTable还支持行选择、排序、列调整等功能,可以...

    Java-JTable:我们如何在 Java 中修改 JTable 的示例。 我们将使用它来显示、编辑、删除和保存数据。 我们将使用二进制输入输出保存数据

    要操作 JTable,我们需要使用 JTable 的模型,特别是 DefaultTableModel 来操作行和 TableColumnModel 来操作列。 这个简单的示例将向您展示如何将 JTable 集成到您的项目中,使用它来显示、编辑、删除和使用二进制...

    JTble使用不显示表头的问题

    在代码中,可以看到`column`向量包含了空字符串作为表头,这可能是导致表头不显示的原因之一。 2. **表头渲染问题**:`JTable`的表头默认使用`JTableHeader`组件渲染,如果该组件的某些属性设置不当,也可能导致...

    北大青鸟第一学期JAVA课件第12章

    虽然这里没有详细介绍JTree的使用,但通常JTree的创建和操作与JTable有相似之处,都是基于数据模型,通过编程或设计视图添加到窗口布局中。 总之,北大青鸟的这一章内容旨在帮助初学者掌握Swing中的基本菜单系统和...

    XPTable-.NET ListView符合Java的JTable

    - "C#":XPTable控件是用C#语言编写的,这是.NET Framework的主要开发语言之一。 - "Win2K, WinXP, Win2003":这些是Windows操作系统版本,表明XPTable适用于这些系统,具有良好的平台兼容性。 - "Windows":XPTable...

    Swing JDBC程序

    JTable是Swing组件之一,用于在窗口中展示表格数据,非常适合用来显示数据库查询结果。通过JTable,用户可以直观地看到数据,并能进行基本的操作,如排序、选择和编辑单元格。 JDBC是Java连接数据库的标准API,它...

Global site tag (gtag.js) - Google Analytics