很久没有上来了,今天在写JTable的小示例,发现了不少小技巧,记录在此。
仅自己日后学习,也希望能给需要的朋友带来一点小帮助!
学习写图形化界面,个人认为按照下面几个步骤来写就OK了!
(1)引入Swing包
(2)选择“外观和感觉”
(3)设置顶层容器
(4)设置按钮和标签
(5)向容器中添加组件
(6)在组件周围添加边界
(7)进行事件处理
那么来看看我写的这个小例子吧
import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.FlowLayout; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.AbstractTableModel; /** * 表格示例,主要是演示 使用表格模型提供数据 * @author JingKang */ public class TestJTable extends JFrame{ /** * */ private static final long serialVersionUID = 1L; private MyTable mt ; private JTable table ; private JScrollPane sc; private Container cn ; private JLabel lblStatus ; private JPanel pStatus ; public TestJTable(){ super("简单表格"); init() ; } private void init(){ cn = getContentPane(); mt = new MyTable(); table=new JTable(mt) ; //设置此表视口的首选大小。 table.setPreferredScrollableViewportSize(new Dimension(400,80)); //单元格之间间距的高度和宽度 table.setIntercellSpacing(new Dimension(1,1)); table.setGridColor(Color.RED); table.setForeground(Color.BLUE); table.setAutoCreateRowSorter(true); sc=new JScrollPane(table) ; cn.setLayout(new BorderLayout()); cn.add(sc,BorderLayout.CENTER); lblStatus=new JLabel("选择单元格为:"); pStatus=new JPanel(new FlowLayout()); pStatus.add(lblStatus,FlowLayout.LEFT); cn.add(pStatus,BorderLayout.SOUTH); this.setVisible(true); this.pack(); this.setDefaultCloseOperation(EXIT_ON_CLOSE); } public static void main(String[] args) { new TestJTable(); } } class MyTable extends AbstractTableModel{ /** * */ private static final long serialVersionUID = 1L; private String[] columns ={"姓名","性别","住址"}; private Object[][] datas = { {"小龙","男","长沙市"}, {"小花","女","北京市"} }; @Override public int getColumnCount() { return columns.length; } @Override public int getRowCount() { return datas.length; } /** * 功能:将获得单元格的内容显示在面板上 */ @Override public Object getValueAt(int rowIndex, int columnIndex) { return datas[rowIndex][columnIndex]; } /** * 获得单元格的列名 */ @Override public String getColumnName(int col){ return columns[col]; } /** * 功能:设定单元格为可编辑 */ @Override public boolean isCellEditable(int rowIndex,int colIndex){ return true ; } /** * 功能:将用户修改后的值赋给指定的单元格 */ @Override public void setValueAt(Object aValue, int rowIndex, int columnIndex){ datas[rowIndex][columnIndex]=aValue ; } }
相关推荐
JAVA中JTable组件详解实例 实例讲解比较详细有需要的可以下载!
JAVA中JTable组件详解实例[借鉴].pdf
java swing jtable详解 world文档形式
本文档主要讲述的是java表格控件JTable常用操作详解;JTable是Swing编程中很常用的控件,文中总结了一些常用方法以备查阅。
Swing之JTable详解 类层次结构图: java.lang.Object --java.awt.Component --java.awt.Container --javax.swing.JComponent --javax.swing.JTabel
JTable是Swing编程中很常用的控件,这里总结了一些常用方法以备查阅.希望对大家有所帮助!!
java表格控件JTable常用操作详解.pdf
主要介绍了Java Swing组件编程之JTable表格用法,结合实例形式详细分析了Swing组件中JTable表格的常见定义与使用方法,需要的朋友可以参考下
第1章 Java概述 1 1.1 Java语言的发展简史 2 1.2 Java的竞争对手及各自优势 4 1.2.1 C#简介和优势 4 1.2.2 Ruby简介和优势 4 1.2.3 Python的简介和优势 5 1.3 Java程序运行机制 5 1.3.1 高级语言的运行机制 6...
第4篇Java中的高级技术 第8章Java的多线程机制266 8.1线程的概念266 8.1.1多线程的特点266 8.1.2线程的状态267 8.2Thread类268 8.2.1Thread类的构造方法268 8.2.2Thread类的常用方法268 8.3多线程程序的编写...
酒店预订系统,使用java+mysql开发...3.图形化界面中使用了JTable等组件,将查询结果显示在表格中。 关于更多详解见我的博客: https://blog.csdn.net/qqshenbaobao/article/details/114417043?spm=1001.2014.3001.5501
JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。 二、JSP原理 2.1、Web服务器是如何调用并执行一个...