• java实现简单的表格显示 2016-10-27 11:58:07
    非常感谢原文作者: ruanjwei2011 ...有时候需要在一张表格里显示数据或者选择一些内容,如些图所示: 主要用到了JFrame显示窗口,JTable类以及继承了AbstractTableModel的一个类。   impo

    原文地址 http://blog.chinaunix.net/uid-25422700-id-202241.html

    非常感谢原文作者: ruanjwei2011


    有时候需要在一张表格里显示数据或者选择一些内容,如些图所示:
    主要用到了JFrame显示窗口,JTable类以及继承了AbstractTableModel的一个类。
     
    1. import java.awt.*;
    2. import java.util.*;

    3. import javax.swing.*;
    4. import javax.swing.table.*;

    5. /** 
    6.  * JTable的例子 
    7.  */
    8. public class Test {
    9.     
    10.     private JFrame frame = null;

    11.     private JTable table = null;

    12.     private Table_Model model = null;

    13.     private JScrollPane s_pan = null;

    14.     public Test() {
    15.         frame = new JFrame("Test");
    16.         model = new Table_Model(20);
    17.         table = new JTable(model);
    18.         String[] age = { "21", "22", "23", "24", "25", "26", "27", "28", "29", "30" };
    19.         JComboBox com = new JComboBox(age);
    20.         TableColumnModel tcm = table.getColumnModel();
    21.         tcm.getColumn(2).setCellEditor(new DefaultCellEditor(com)); // 设置某列采用JComboBox组件 


    22.         model.addRow("宋江", true, "30");
    23.         model.addRow("孙二娘", false, "21");
    24.         model.addRow("武松", true, "24");
    25.         
    26.         s_pan = new JScrollPane(table);

    27.         frame.getContentPane().add(s_pan, BorderLayout.CENTER);
    28.         
    29.         frame.setSize(300, 200);
    30.         frame.setVisible(true);

    31.         //model.addRow(2); // 在某处插入一空行 

    32.         //table.updateUI(); // 刷新 


    33.     }

    34.     public static void main(String args[]) {
    35.         new Test();
    36.     }

    37. }

    38. class Table_Model extends AbstractTableModel {
    39.     private static final long serialVersionUID = -3094977414157589758L;

    40.     private Vector content = null;

    41.     private String[] title_name = { "姓名", "性别", "年龄" };

    42.     public Table_Model() {
    43.         content = new Vector();
    44.     }

    45.     public Table_Model(int count) {
    46.         content = new Vector(count);
    47.     }

    48.     /** 
    49.      * 加入一空行 
    50.      * @param row 行号 
    51.      */
    52.     public void addRow(int row) {
    53.         Vector v = new Vector(3);
    54.         v.add(0, null);
    55.         v.add(1, null);
    56.         v.add(2, null);
    57.         content.add(row, v);
    58.     }

    59.     /** 
    60.      * 加入一行内容 
    61.      */
    62.     public void addRow(String name, boolean ***, String age) {
    63.         Vector v = new Vector(3);
    64.         v.add(0, name);
    65.         v.add(1, new Boolean(***)); // JCheckBox是Boolean的默认显示组件,这里仅仅为了看效果,其实用JComboBox显示***更合适 

    66.         v.add(2, age); // 本列在前面已经设置成了JComboBox组件,这里随便输入什么字符串都没关系 

    67.         content.add(v);
    68.     }

    69.     public void removeRow(int row) {
    70.         content.remove(row);
    71.     }

    72.     public boolean isCellEditable(int rowIndex, int columnIndex) {
    73.         if(rowIndex == 2) {
    74.             return false;
    75.         }
    76.         return true;
    77.     }

    78.     public void setValueAt(Object value, int row, int col) {
    79.         ((Vector) content.get(row)).remove(col);
    80.         ((Vector) content.get(row)).add(col, value);
    81.         this.fireTableCellUpdated(row, col);
    82.     }

    83.     public String getColumnName(int col) {
    84.         return title_name[col];
    85.     }

    86.     public int getColumnCount() {
    87.         return title_name.length;
    88.     }

    89.     public int getRowCount() {
    90.         return content.size();
    91.     }

    92.     public Object getValueAt(int row, int col) {
    93.         return ((Vector) content.get(row)).get(col);
    94.     }

    95.     public Class getColumnClass(int col) {
    96.         return getValueAt(0, col).getClass();
    97.     }

    98. }

    99. 2016.10.27 北京天气阴,学习java界面设计,读取Excel表格并在界面显示,加油~~~

    展开全文
  • JAVA学习之JTable(表格) 2019-01-08 18:58:20
    之前是搞c语言的,对于java的图形化编程是很不适应,学习了一点表格,但是好像还是云里雾里,可能需要记忆的东西,经验的东西比较多,自己只是学习也没有应用过。感觉也没什么好写的,但是还是坚持写一点记录下...
  • 这是『Java学习指南系列』的第16篇教程 ,是Java开发的高级课程,介绍实际工程里常见的各种专项技术。 二、主要内容  (每章内容独立,各自独立成章) * 视频和音频的播放 ( libVLC...
  • JAVA Swing 中的表格 2019-08-21 18:46:07
    今天我们来学习一下java swing中的表格怎么来使用 在用swing技术开发系统的时候, 有时候会需要用到表格,那么我们来看看表格是怎么使用的 public class Table1 extends JFrame implements ActionListener{ ...
  • 一门永不过时的编程语言——Java 软件开发。 Java编程语言占比: 据官方数据统计,在全球编程语言工程师的数量上,Java编程语言以1000万的程序员数量位居首位。 而且很多软件的开发都离不开Java编程,因此其程序员...
  • Java对excel表格操作 2018-01-03 10:42:41
    当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你把我们的报表直接用Excel打开(电信系统、银行系统)。或者是:我们已经习惯用Excel打印。这样在我们实际的开发中,很多时候需要...
  • Java动态表格类(DyTable) 2013-10-25 18:22:02
    最近在学软件工程经济这门课,需要写关联矩阵法、层次分析法等算法的软件,在编程过程中,发现了表格输入比较麻烦,想实现的效果如下图  当点击+行的时候,表格增加一行,-行的时候表格减少一行,并可以设置表格...
  • 前言: 相信大家都有过操作word文档表格的经历,对于每行数据的记录与操作是比较方便的。...对于大部分Java开发工程师来说,仅仅解决自己项目中的需求就要掌握activex控件,未免学习成本太大。 所以我们...
  • Java窗体表格中插入复选框
  • 推荐一个学习资料群:java学习》+交流 523401738一、学习前的准备工作java语言一般用于...二、Java语言基础的学习阶段学习任何一门语言都打好基础,曾经过高级程序语言(C,C++等)来说,java语言基础有自己的...
  • 在OA系统中,有时我们需要在线打开文档,文档中免不了有word表格,并且我们希望能够通过代码对表格单元格进行一些合并/赋值的的操作。这就需要我们学习微软activex控件的使用了。但是这需要开发者具备将activex控件...
  • java中修改Excel表格内容 2016-12-28 14:19:53
    如何在java中修改.xls或.xlsx表格中的内容呢?朋友需要帮忙学习了一下,需求其实很简单,有很多表格文件,需要将其中一部分的数据进行修改并保存到源文件。看到这样的需求,肯定大多数人第一时间想到的就是“查找...
  • 工作中常填写各种word表格,其中内容有很多是重复的。于是想一个工具,输入word文件所对应的xml格式文件,自动填写表格。 word其实可以转化成xml来处理,这一步可以手工用word把.doc格式文件另存为.xml格式。...
  • Java获取word表格中的数据 2019-05-17 17:57:58
    Java获取word表格中的数据 2019年04月11日 11:13:07 IT_zhang81 阅读数:20 ...
  • java Excel表格生成工具类 2016-07-27 17:59:51
    最近数据列表导出成Excel表格,借此机会学习了一下。 首先我们需要通过hibernate链接数据库,将数据库字段映射成POJO实体,这里不多废话。 我们需要用excel表格工具类,首先需要几个poi的jar包,poi读取excel...
  • 利用JTable类直接创建表格 创建表格: 在JTable类中除了默认的构造方法之外,还提供了利用指定表格列名数组和表格数据数组创建表格的构造方法,如下: JTable(Object[][] rowData,Object[] columnNames) rowData...
  • /*** 生成控制台表格工具类**/public class ConsoleTable { private List<List> rows = new ArrayList<List>(); private int colum; private int[] columLen; private static ...
  • 本课程是《Java工程师必系列课程》的第4部分,主要讲解Java Swing开发技术。本课程涉及的主要内容可以分为四部分:       一、窗体的概念以及窗体的创建方法       ...
1 2 3 4 5 ... 20
收藏数 63,252
精华内容 25,300