简易表格组件演示

发布时间:2025-07-12 00:08

组织街头艺术表演,展示个人才华 #生活乐趣# #日常生活乐趣# #社区活动#

数据表格

最新推荐文章于 2021-01-20 21:04:08 发布

Python大视觉 于 2019-07-05 11:27:21 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

package testDemo;

/**

* @author 作者 E-mail:

* @version 创建时间:2019年6月5日 上午8:44:42

* 类说明

*/

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

@SuppressWarnings("serial")

public class SimpleTableDemo extends JPanel {

private boolean DEBUG = true;

public SimpleTableDemo() {

super(new BorderLayout());

//创建表头

String[] columnNames = { "First Name", "Last Name", "Sport",

"# of Years", "Vegetarian" };

//创建显示数据

Object[][] data = {

{ "Kathy", "Smith", "Snowboarding", new Integer(5),

new Boolean(false) },

{ "John", "Doe", "Rowing", new Integer(3), new Boolean(true) },

{ "Sue", "Black", "Knitting", new Integer(2),

new Boolean(false) },

{ "Jane", "White", "Speed reading", new Integer(20),

new Boolean(true) },

{ "Joe", "Brown", "Pool", new Integer(10), new Boolean(false) } };

/*

* JTable还提供了一个重载的构造方法,传入两个Vector

* JTable(Vector rowData, Vector columnNames)

*

*/

final JTable table = new JTable(data, columnNames);

table.setBackground(Color.YELLOW);

//table.setPreferredScrollableViewportSize(new Dimension(500, 0));

if (DEBUG) {

table.addMouseListener(new MouseAdapter() {

public void mouseClicked(MouseEvent e) {

printDebugData(table);

}

});

}

// Create the scroll pane and add the table to it.

//这也是官方建议使用的方式,否则表头不会显示,需要单独获取到TableHeader自己手动地添加显示

JScrollPane scrollPane = new JScrollPane(table);

add(scrollPane);

JPanel panel2 = new JPanel();

this.add(panel2,BorderLayout.SOUTH);

JButton btn1 = new JButton("表格填充整个视图");

JButton btn2 = new JButton("表格不添加整个视图(默认不填充)");

panel2.add(btn1);

panel2.add(btn2);

btn1.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

//设置表格填充整个视图,在默认情况下,如果表格的大小小于视图(窗体),你会发现下面的内容是其他颜色,可以将上面的yellow去掉做个比较

table.setFillsViewportHeight(true);

}

});

btn2.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

table.setFillsViewportHeight(false);

}

});

}

private void printDebugData(JTable table) {

int numRows = table.getRowCount();

int numCols = table.getColumnCount();

javax.swing.table.TableModel model = table.getModel();

System.out.println("Value of data: ");

for (int i = 0; i < numRows; i++) {

System.out.print(" row " + i + ":");

for (int j = 0; j < numCols; j++) {

System.out.print(" " + model.getValueAt(i, j));

}

System.out.println();

}

System.out.println("--------------------------");

}

/**

private static void createAndShowGUI() {

// Create and set up the window.

JFrame frame = new JFrame("SimpleTableDemo");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// Create and set up the content pane.

SimpleTableDemo newContentPane = new SimpleTableDemo();

newContentPane.setOpaque(true); // content panes must be opaque

frame.setContentPane(newContentPane);

// Display the window.

//frame.pack();

frame.setSize(800, 600);

frame.setVisible(true);

}

public static void main(String[] args) {

// Schedule a job for the event-dispatching thread:

// creating and showing this application's GUI.

javax.swing.SwingUtilities.invokeLater(new Runnable() {

public void run() {

createAndShowGUI();

}

});

}

}

网址:简易表格组件演示 https://www.yuejiaxmz.com/news/view/1157115

相关内容

一种简易抽屉盒的组装组件的制作方法
简单易用的办公软件有哪些
好演员再次示范了生活与表演的交融,他们用表演把人情滋味填满时光的褶皱
2023深圳简单生活节攻略(演出时间表、门票、地址交通等)
营养早餐搭配讲解课件课件演示.ppt
退休财务安全演示
一个演员如何提高表演技巧
家庭简易网络组建技巧指南
等离子切割烟尘处理设备=技术培训演示【南京新闻网】
表演心得体会(通用9篇)

随便看看