精华内容
下载资源
问答
  • Excel表格的35招必秘技Excel表格的35招必秘技Excel表格的35招必秘技Excel表格的35招必秘技Excel表格的35招必秘技
  • 中药学表格
  • HTML学习之表格

    2014-09-10 09:55:44
    HTML建立表格: §使用表格可以划分... 表格中的一行数据表格中的一行数据 表格中的二行数据表格中的二行数据 表格中的三行数据表格中的三行数据 标签的属性: border 设置表格边框 cap

    HTML建立表格:

    §使用表格可以划分页面的布局

    格式:<table>..</table>

    <table>

    <tr><td>表格中的一行数据</td></tr>  <!--表格中的一行数据-->

    <tr><td>表格中的二行数据</td></tr>  <!--表格中的一行数据-->

    <tr><td>表格中的三行数据</td></tr>  <!--表格中的一行数据-->

    </table>

    测试实例如下:

    <html>
    <head>
    	<title>标题</title>
    </head>
    
    <body>
    	<table border="1">
    		<tr><td>表格中的一行数据</td><td>表格中的一行数据</td></tr>  
    		<tr><td>表格中的二行数据</td><td>表格中的二行数据</td></tr>
    		<tr><td>表格中的三行数据</td><td>表格中的三行数据</td></tr> 
     	</table>
    
    </body>
    </html>


    <table>标签的属性:

    border  设置表格边框

    caption  设置表格标题

    align     设置表格在网页中的布局

    width     设置表格宽度

    height     设置表格高度

    cellspacing  设置表格各单元格之间距离

    cellpadding  设置单元格内部与文本之间的间距

    bordercolor  设置表格边框颜色

    bordercolorlight   设置表格亮面颜色

    Bordercolordark       设置表格暗面颜色

    测试程序如下:

    <html>
    <head>
    	<title>标题</title>
    </head>
    
    <body>
    	<table border="1" width="50%" height="100" bordercolorlight="#FF0000" bordercolordark="#00FF00">
    	
    		<tr><td>表格中的一行数据</td><td>表格中的一行数据</td></tr>  
    		<tr><td>表格中的二行数据</td><td>表格中的二行数据</td></tr> 
    	    <tr><td>表格中的三行数据</td><td>表格中的三行数据</td></tr>
    	</table>
    </body>
    </html>


    <tr>标签的属性:  bgcolor设置背景颜色。align 设置行对齐方式。   valign 设置单元格垂直对齐方式

    测试程序如下:

    <html>
    <head>
    	<title>标题</title>
    </head>
    
    <body>
    		<table  width="400" border="1">
    			<tr bgcolor="#0099FF"><td>表格中的一行数据</td><td>表格中的一行数据</td></tr>  
    			<tr align="right"><td>表格中的二行数据</td><td>表格中的二行数据</td></tr> 
    	    	<tr valign="top"><td height="50">表格中的三行数据</td><td>表格中的三行数据</td></tr>
    		</table>
    </body>
    </html

    <td>和<th>标签的属性:

    bgcolor    设置单元各背景颜色

    rowspan   设置单元格所占行数

    colspan    设置单元格所占的列数

    align          设置对齐方式

    valign        设置单元格垂直对齐方式

    width         设置单元格宽度

    height        设置单元格高度

    测试程序如下:

    <html>
    <head>
    	<title>标题</title>
    </head>
    
    <body>
    <table  width="400" border="1">
    	<tr><td bgcolor="#0099FF">表格中的一行数据</td><td align="center">表格中的一行数据</td></tr>  
    			<tr><td>表格中的二行数据</td><td>表格中的二行数据</td></tr> 
    	    	<tr><td>表格中的三行数据</td><td>表格中的三行数据</td></tr>
    	</table>
    		
    		
    		<hr>
    		<B>rowspan</B>
    		
          	<table  width="400" border="1">
    			<tr> <td rowspan="3">一行数据</td> <td>第一行数据</td></tr>  
    			<tr>						       <td>第二行数据</td></tr> 
    	    	<tr>                               <td>第三行数据</td></tr>
    		</table>
    		
    		<hr>
    		<B>colspan</B>
    		
    		<table  width="400" border="1">
    			<tr><td colspan="2">第一行数据</td></tr>  
    			<tr><td>第二行数据</td><td>第二行数据</td></tr> 
    	    	<tr><td>第三行数据</td><td>第三行数据</td></tr>
    		</table>
    		
    		<hr>
    		<B>th</B>
    		
    		<table border="1">
    			<tr><th>表格中的一行数据</th><th>表格中的一行数据</th></tr>
    			<!--前者用来显示数据的名称,后者用来显示数据的内容。-->
    			<tr><td>表格中的二行数据</td><td>表格中的二行数据</td></tr> 
    	    	<tr><td>表格中的三行数据</td><td>表格中的三行数据</td></tr>
    	</table>
    </body>
    </html>




    展开全文
  • 手把手学习Excel电子表格

    千人学习 2019-05-13 15:30:56
    2、创新的教学模式:手把手教您电子表格,一看就懂,一就会; 3、完美贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标; 4、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您...
  • Excel表格的必秘技

    2011-01-13 21:40:10
    Excel表格的必秘技Excel表格的必秘技Excel表格的必秘技
  • Excel表格的35招必秘技Excel表格的35招必秘技Excel表格的35招必秘技Excel表格的35招必秘技
  • Excel表格的35招必秘技.Excel表格的35招必Excel表格的35招必秘技.doc技.Excel表格的35招必Excel表格的35招必秘技.doc秘技.doc
  • TableLayout表格布局学习

    千次阅读 2013-07-24 13:01:08
    在Android中,我们可以使用TableLayout来实现表格布局。HTML的表格中使用来表示表格的一行,类似的,在TableLayout中,我们也有对应的TableRow来表示表格的一行。但在Android中就不往下区分表格单元了,也就是没有...
              在Web开发中,我们会接触到形形色色的表格,HTML中的<table>元素为我们实现了表格的实现,可以说,表格是我们使用最多的元素。在Android中,我们可以使用TableLayout来实现表格布局。HTML的表格中使用<tr>来表示表格的一行,类似的,在TableLayout中,我们也有对应的TableRow来表示表格的一行。但在Android中就不往下区分表格单元了,也就是没有相应的<td>。
            下面首先来看一下TableLayout的文档:
           
             它是LinearLayout线性布局管理器的子类,其继承结构为:
    java.lang.Object
       ↳ android.view.View
       ↳ android.view.ViewGroup
       ↳ android.widget.LinearLayout
       ↳ android.widget.TableLayout

           从文档中不难看出,要使用TableLayout就离不开TableRow,那么TableRow的文档如下:
         
         其也是LinearLayout的子类,继承结构如下:
    java.lang.Object
       ↳ android.view.View
       ↳ android.view.ViewGroup
       ↳ android.widget.LinearLayout
       ↳ android.widget.TableRow

        在Eclipse中创建一个项目来说明TableLayout,首先使用XML来定义布局管理器:
    Xml代码  收藏代码
        <?xml version="1.0" encoding="utf-8"?>  
        <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"  
            android:layout_width="fill_parent"  
            android:layout_height="fill_parent"  
            android:orientation="vertical" >  
            <TableRow>  
                <EditText  
                    android:id="@+id/edit"  
                    android:layout_width="wrap_content"  
                    android:layout_height="wrap_content"  
                    android:text="请输入内容" />  
                <Button  
                    android:id="@+id/btn"  
                    android:layout_width="wrap_content"  
                    android:layout_height="wrap_content"  
                    android:text="搜索" />  
            </TableRow>  
            <View  
                android:id="@+id/hr"  
                android:layout_height="2dp"  
                android:background="#FDF5E6" />  
            <TableRow>  
                <TextView  
                    android:id="@+id/label"  
                    android:layout_width="wrap_content"  
                    android:layout_height="wrap_content"  
                    android:text="请选择您的性别" />  
                <RadioGroup  
                    android:id="@+id/gender"  
                    android:layout_width="wrap_content"  
                    android:layout_height="wrap_content"  
                    android:checkedButton="@+id/male"  
                    android:orientation="vertical" >  
                    <RadioButton  
                        android:id="@+id/male"  
                        android:text="男" />  
                    <RadioButton  
                        android:id="@+id/female"  
                        android:text="女" />  
                </RadioGroup>  
            </TableRow>  
        </TableLayout>  


        我们创建了一个表格布局管理器,在其中创建了两行,也就是两个TableRow元素。在第一行中,我们放置了两个组件,一个是文本输入组件,给出默认提示文字。第二个是一个按钮,构成一个搜索框。
        第二个TableRow中我们放置了一个提示文本和一个单选按钮,那么创建一个TextView和一个RadioGroup就行了。在RadioGroup中我们设置RadioButton是纵向排列的,然后默认选中一个。
        在两个TableRow中间,我们放置了一个<View>元素,可以表示任意的组件,这里我们放置一个水平线,就像HTML中的<hr>元素效果,设置宽度是2dp,颜色为#FDF5E6。
        运行这段程序,我们就得到如下的显示效果:

            我们在Web开发中使用表格最多的应用就是数据显示了,那么在Android中也会需要用表格来显示数据,下面我们就来看看如何使用TableLayout和TableRow来显示数据,再创建一个布局管理器文件(在layout下创建datadisplay.xml),

        那么在R.java中我们就会得到对应的资源:
    Java代码  收藏代码
        package org.pioneer;  
        public final class R {  
            public static final class attr {  
            }  
            public static final class drawable {  
                public static final int ic_launcher=0x7f020000;  
            }  
            public static final class id {  
                public static final int btn=0x7f050001;  
                public static final int edit=0x7f050000;  
                public static final int female=0x7f050006;  
                public static final int gender=0x7f050004;  
                public static final int hr=0x7f050002;  
                public static final int label=0x7f050003;  
                public static final int male=0x7f050005;  
            }  
            public static final class layout {  
                public static final int datadisplay=0x7f030000;  
                public static final int main=0x7f030001;  
            }  
            public static final class string {  
                public static final int app_name=0x7f040001;  
                public static final int hello=0x7f040000;  
            }  
        }  


        下面来编写这个布局文件,其内容如下:
    Xml代码  收藏代码
        <?xml version="1.0" encoding="utf-8"?>  
        <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"  
            android:layout_width="match_parent"  
            android:layout_height="match_parent" >  
            <TableRow>  
                <TextView  
                    android:layout_column="0"  
                    android:gravity="center_horizontal"  
                    android:padding="10dp"  
                    android:text="序号" />  
                <TextView  
                    android:layout_column="1"  
                    android:gravity="center_horizontal"  
                    android:padding="10dp"  
                    android:text="姓名" />  
                <TextView  
                    android:layout_column="2"  
                    android:gravity="center_horizontal"  
                    android:padding="10dp"  
                    android:text="城市" />  
                <TextView  
                    android:layout_column="3"  
                    android:gravity="center_horizontal"  
                    android:padding="10dp"  
                    android:text="性别" />  
            </TableRow>  
        </TableLayout>  


           这里我们仅仅定义出表格的表头,有4列显示内容,那么layout_column表示的就是该列的编号,可以看出,这个编号是从0开始的,同时这是显示样式的水平居中显示,并且都有10dp的间距。修改Activity程序中的布局管理器文件:
    Java代码  收藏代码
    1. super.setContentView(R.layout.datadisplay); 
        运行程序,此时得到如下显示效果:

            那么可以看到,表头我们就做出来了,下面继续设置内容:
    Xml代码  收藏代码
        <View  
            android:layout_height="2dp"  
            android:background="#FDF5E6" />  
        <TableRow>  
            <TextView  
                android:layout_column="0"  
                android:gravity="center_horizontal"  
                android:padding="5dp"  
                android:text="001" />  
            <TextView  
                android:layout_column="1"  
                android:gravity="center_horizontal"  
                android:padding="10dp"  
                android:text="Sarin" />  
            <TextView  
                android:layout_column="2"  
                android:gravity="center_horizontal"  
                android:padding="10dp"  
                android:text="辽宁省大连市高新园区七贤岭汇贤园七号腾飞软件园二号楼" />  
            <TextView  
                android:layout_column="3"  
                android:gravity="center_horizontal"  
                android:padding="10dp"  
                android:text="男" />  
        </TableRow>  
        <TableRow>  
            <TextView  
                android:layout_column="0"  
                android:gravity="center_horizontal"  
                android:padding="5dp"  
                android:text="002" />  
            <TextView  
                android:layout_column="1"  
                android:gravity="center_horizontal"  
                android:padding="10dp"  
                android:text="Tom" />  
            <TextView  
                android:layout_column="2"  
                android:gravity="center_horizontal"  
                android:padding="10dp"  
                android:text="北京市" />  
            <TextView  
                android:layout_column="3"  
                android:gravity="center_horizontal"  
                android:padding="10dp"  
                android:text="男" />  
        </TableRow>  


        我们设置了一条水平横线,下面是两条数据的显示,那么运行程序,我们会看到这样的显示效果:

        显示不下不要紧,我们切换到横屏模式下再看:

        但是问题仍然存在,因为某一个文本太长了,并且我们设置了水平居中显示的效果,所以后面的内容都显示不下消失了,显然这么显示不合理,需要列可以折行显示内容,设置如下内容:
    Xml代码  收藏代码
    1. 下内容:  
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"  
        android:layout_width="match_parent"  
        android:layout_height="match_parent"   
        android:shrinkColumns="2">  


        在TableLayout元素上我们设置一个shrinkColumns属性,就是设置哪一列可以折行显示,这里是第三列需要折行显示,设置完成,显示效果如下:

           我们就得到了预期的效果。表格布局中还可以设置隐藏列,那么需要在TableLayout上设置如下属性:
    Xml代码  收藏代码
        <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"  
            android:layout_width="match_parent"  
            android:layout_height="match_parent"   
            android:shrinkColumns="2"  
            android:collapseColumns="0,3">  


        这里我们设置第一列和第四列为不显示状态,那么就得到如下显示效果:

        和前面两个布局管理器类似,我们也可以通过程序来控制表格布局管理器。不难想到这里我们需要四个类来完成,分别是TableLayout,TableLayout.LayoutParams,TableRow,TableRow.LayoutParams
        下面来看一下TableLayout.LayoutParams的文档:

        可以看出TableLayout.LayoutParams继承自LinearLayout.LayoutParams,其继承结构如下:
    java.lang.Object
       ↳ android.view.ViewGroup.LayoutParams
       ↳ android.view.ViewGroup.MarginLayoutParams
       ↳ android.widget.LinearLayout.LayoutParams
       ↳ android.widget.TableLayout.LayoutParams

        下面是TableRow.LayoutParams,其实它们都是类似的:

        它的继承结构为:
    java.lang.Object
       ↳ android.view.ViewGroup.LayoutParams
       ↳ android.view.ViewGroup.MarginLayoutParams
       ↳ android.widget.LinearLayout.LayoutParams
       ↳ android.widget.TableRow.LayoutParams

        下面我将在XML布局管理文件中配置的数据表格用程序来进行编写,那么就需要准备数据,表格数据可以看作是二维表,那么很自然想到,在数据量不大时可以使用而为数组来表示,其代码如下:
    Java代码  收藏代码
        package org.pioneer;  
        import android.app.Activity;  
        import android.os.Bundle;  
        import android.view.ViewGroup;  
        import android.widget.TableLayout;  
        import android.widget.TableRow;  
        import android.widget.TextView;  
        public class TableLayoutDemoActivity extends Activity {  
            private String tableData[][] = new String[][] { { "序号", "姓名", "地址", "性别" },  
                    { "001", "Sarin", "辽宁省大连市高新园区七贤岭汇贤园七号腾飞软件园二号楼", "男" },  
                    { "002", "Tom", "北京市", "男" } };// 定义显示的数据  
            @Override  
            public void onCreate(Bundle savedInstanceState) {  
                super.onCreate(savedInstanceState);  
                TableLayout layout = new TableLayout(this);// 定义布局管理器  
                TableLayout.LayoutParams layoutParams = new TableLayout.LayoutParams(  
                        ViewGroup.LayoutParams.FILL_PARENT,  
                        ViewGroup.LayoutParams.FILL_PARENT);// 定义布局管理器参数  
                layout.setBackgroundResource(R.drawable.ic_launcher);// 设置背景图片  
                for (int i = 0; i < tableData.length; i++) {  
                    TableRow row = new TableRow(this);// 定义TableRow  
                    for (int j = 0; j < tableData[i].length; j++) {  
                        TextView text = new TextView(this);// 定义TextView组件  
                        text.setText(tableData[i][j]);// 设置TextView的显示文字  
                        row.addView(text, j);// 向TableRow中添加TextView组件  
                    }  
                    layout.addView(row);// 向布局管理器中添加表格行  
                }  
                super.setContentView(layout, layoutParams);// 设置布局管理器  
            }  
        }  


        对于二维数组的遍历必然是嵌套的循环来进行,运行程序,我们得到如下效果:

        可以看到,我们之前设置的显示效果都不存在了,当然这可以通过代码继续设置样式,但该代码已经相当的复杂了,如果继续修改程序,那程序必然显得十分臃肿。所以对复杂布局我们采用XML文件的配置方式来进行是比较好的方法。

     

         方法总结:

    TableLayout经常用到的属性有:

    android:collapseColumns:以第0行为序,隐藏指定的列:

    android:collapseColumns该属性为空时,效果如下图:

    0

    把android:collapseColumns=0,2--------------》意思是把第0和第2列去掉,如下图:

    1

    android:shrinkColumns:以第0行为序,自动延伸指定的列填充可用部分:

    当LayoutRow里面的控件还没有布满布局时,shrinkColumns不起作用,如下图:

    2.1

    设置了shrinkColumns=0,1,2,布局完全没有改变,因为LayoutRow里面还剩足够的空间。

    当LayoutRow布满控件时,如下图:

    2

    设置设置了shrinkColumns=2,则结果如下图,控件自动向垂直方向填充空间:

    3

    android:stretchColumns:以第0行为序,尽量把指定的列填充空白部分:

    4

    设置stretchColumns=1,则结果如下图,第1列被尽量填充(Button02与TextView02同时向右填充,直到TextView03被压挤到最后边)。

        

    展开全文
  • JAVA学习之JTable(表格)

    万次阅读 多人点赞 2019-01-07 18:07:39
    之前是搞c语言的,对于java的图形化编程是很不适应,学习了一点表格,但是好像还是云里雾里,可能需要记忆的东西,经验的东西比较多,自己只是学习也没有应用过。感觉也没什么好写的,但是还是要坚持写一点记录下...

           之前是搞c语言的,对于java的图形化编程是很不适应,学习了一点表格,但是好像还是云里雾里,可能需要记忆的东西,经验的东西比较多,自己只是学习也没有应用过。感觉也没什么好写的,但是还是要坚持写一点记录下简单的知识,方便以后查阅。

    1、JFrame、JScrollPane、JTable创建表格

    对于图形化,一个图表首先要在一个可视化的窗口中,对于java就是JFrame

    import java.awt.*;
    
    import javax.swing.*;
    public class ExampleFrame_01 extends JFrame {
    	public static void main(String args[]) {
    		ExampleFrame_01 frame = new ExampleFrame_01();
    		frame.setVisible(true);
    	}
    	
    	public ExampleFrame_01() {
    		super();
    		setTitle("创建可以滚动的表格");
    		setBounds(100, 100, 240, 150);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	        .....................//此处为表格的实现
    	}
    }

    从上面的代码可以看到JFrame的用法,自己建了一个类ExampleFrame_01继承了JFrame,程序运行从main函数开始

    main函数中实例化了一个frame,然后设置frame为可见。

    实例化ExampleFrame_01会执行,ExampleFrame_01的重构函数,即ExampleFrame_01();

    在这个函数里面super();为调用父类即JFrame的构造函数,一般子类的构造函数都要执行下父类的构造函数。

    setTitle设置窗口的名字,setBounds设置窗口的边界,setDefaultCloseOperation设置窗口的关闭方式。

     

    有了窗口,下面先创建一个图表,图表分为列名和表格里面的内容,就是一个一维数组和一个二维数组组成。

            String[] columnNames = { "A", "B" }; // 定义表格列名数组
            String[][] tableValues = { { "A1", "B1" }, { "A2", "B2" },{ "A3", "B3" }, { "A4", "B4" }, { "A5", "B5" } }; // 定义表格数据数组
            JTable table = new JTable(tableValues, columnNames);// 创建指定列名和数据的表格

    上面是直接用数组进行创建,数组也可以Vector来创建。

     

    窗口介绍完了,一般一个表格大小不固定,可能比窗口大,所以表格一般都在一个JScrollPane滚动面板里面。

            JScrollPane scrollPane = new JScrollPane(table);

    上面语句的意思是定义一个JScrollPane 里面有一个table。还有另外一种实现为:

            final JScrollPane scrollPane = new JScrollPane();

            scrollPane.setViewportView(table);

    面板创建好了,要规定下在窗口中的位置,例如在中间

            getContentPane().add(scrollPane, BorderLayout.CENTER);

    以上代码如下:

    		String[] columnNames = { "A", "B" }; // 定义表格列名数组
    		// 定义表格数据数组
    		String[][] tableValues = { { "A1", "B1" }, { "A2", "B2" },
    				{ "A3", "B3" }, { "A4", "B4" }, { "A5", "B5" } };
    		// 创建指定列名和数据的表格
    		JTable table = new JTable(tableValues, columnNames);
    		// 创建显示表格的滚动面板
    		JScrollPane scrollPane = new JScrollPane(table);
    		// 将滚动面板添加到边界布局的中间
    		getContentPane().add(scrollPane, BorderLayout.CENTER);

    运行的效果如下:

     2、Jtable常用方法

            // 关闭表格列的自动调整功能
            table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
            // 选择模式为单选
            table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
            // 被选择行的背景色为黄色
            table.setSelectionBackground(Color.YELLOW);
            // 被选择行的前景色(文字颜色)为红色
            table.setSelectionForeground(Color.RED);
            table.setRowHeight(30); // 表格的行高为30像素

    table.selectAll();// 选中所有行

    table.clearSelection();// 取消所有选中行的选择状态

    table.getRowCount()//获取行数

    table.getSelectedRowCount() //获取选择的行数

    table.getColumnName(1)//第2列的名称

    table.getValueAt(1, 1)//第2行第2列的值

     tableModel.setValueAt(aTextField.getText(),
    selectedRow, 0);// 修改表格模型当中的指定值

    table.isRowSelected(2)//第3行的选择状态

    tableModel.addRow(rowValues);// 向表格模型中添加一行
     tableModel.removeRow(selectedRow);// 从表格模型当中删除指定行

    可以自己下载一个java的API文档,查看各个函数的用法,例如:

     3、一种特殊的表格:固定一列的表格MFixedColumnTable

    如上图,固定日期一列,然后下面的水平滚动条进行滚动,日期这一列不变。

        // 创建固定列表格模型对象
        fixedColumnTableModel = new FixedColumnTableModel();

        // 将固定列表格头放到滚动面版的左上方
        scrollPane.setCorner(JScrollPane.UPPER_LEFT_CORNER,
                fixedColumnTable.getTableHeader());
        // 创建一个用来显示基础信息的视口对象
        JViewport viewport = new JViewport();
        viewport.setView(fixedColumnTable);// 将固定列表格添加到视口中
        // 设置视口的首选大小为固定列表格的首选大小
        viewport.setPreferredSize(fixedColumnTable.getPreferredSize());
        // 将视口添加到滚动面版的标题视口中
        scrollPane.setRowHeaderView(viewport);

    ------------下面定义非固定列-----------

        // 创建可移动列表格模型对象
        floatingColumnTableModel = new FloatingColumnTableModel();
        // 创建可移动列表格对象
        floatingColumnTable = new JTable(floatingColumnTableModel);
        // 将可移动表格添加到默认视口
        scrollPane.setViewportView(floatingColumnTable);
        add(scrollPane, BorderLayout.CENTER);

    ExampleFrame_07.java

    import java.awt.*;
    import java.util.*;
    
    import javax.swing.*;
    
    public class ExampleFrame_07 extends JFrame {
    	
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
    
    	public static void main(String args[]) {
    		try {
    			ExampleFrame_07 frame = new ExampleFrame_07();
    			frame.setVisible(true);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    	
    	public ExampleFrame_07() {
    		super();
    		setTitle("提供行标题栏的表格");
    		setBounds(100, 100, 500, 375);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		Vector<String> columnNameV = new Vector<>();
    		columnNameV.add("日期");
    		for (int i = 1; i < 21; i++) {
    			columnNameV.add("商品" + i);
    		}
    		Vector<Vector<Object>> tableValueV = new Vector<>();
    		for (int row = 1; row < 31; row++) {
    			Vector<Object> rowV = new Vector<>();
    			rowV.add(row);
    			for (int col = 0; col < 20; col++) {
    				rowV.add((int) (Math.random() * 1000));
    			}
    			tableValueV.add(rowV);
    		}
    		final MFixedColumnTable panel = new MFixedColumnTable(columnNameV,
    				tableValueV, 1);
    		getContentPane().add(panel, BorderLayout.CENTER);
    		//
    	}
    	
    }
    

     MFixedColumnTable.java

    import java.awt.*;
    import java.util.*;
    
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.table.*;
    
    public class MFixedColumnTable extends JPanel {
    	/**
    	 * 
    	 */
    	private static final long serialVersionUID = 1L;
    	private JTable fixedColumnTable;// 固定列表格对象
    	private FixedColumnTableModel fixedColumnTableModel;// 固定列表格模型对象
    	private JTable floatingColumnTable;// 移动列表格对象
    	// 移动列表格模型对象
    	private FloatingColumnTableModel floatingColumnTableModel;
    	private Vector<String> columnNameV;// 表格列名数组
    	private Vector<Vector<Object>> tableValueV;// 表格数据数组
    	private int fixedColumn = 1;// 固定列数量
    	
    public MFixedColumnTable(Vector<String> columnNameV,
    		Vector<Vector<Object>> tableValueV, int fixedColumn) {
    	super();
    	setLayout(new BorderLayout());
    	this.columnNameV = columnNameV;
    	this.tableValueV = tableValueV;
    	this.fixedColumn = fixedColumn;
    	// 创建固定列表格模型对象
    	fixedColumnTableModel = new FixedColumnTableModel();
    	// 创建固定列表格对象
    	fixedColumnTable = new JTable(fixedColumnTableModel);
    	// 获得选择模型对象
    	ListSelectionModel fixed = fixedColumnTable.getSelectionModel();
    	// 选择模式为单选
    	fixed.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    	// 添加行被选中的事件监听器
    	fixed.addListSelectionListener(new MListSelectionListener(true));
    	// 创建可移动列表格模型对象
    	floatingColumnTableModel = new FloatingColumnTableModel();
    	// 创建可移动列表格对象
    	floatingColumnTable = new JTable(floatingColumnTableModel);
    	// 关闭表格的自动调整功能
    	floatingColumnTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    	ListSelectionModel floating = floatingColumnTable
    			.getSelectionModel();// 获得选择模型对象
    	// 选择模式为单选
    	floating.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    	// 添加行被选中的事件监听器
    	MListSelectionListener listener = new MListSelectionListener(false);
    	floating.addListSelectionListener(listener);
    	JScrollPane scrollPane = new JScrollPane();// 创建一个滚动面版对象
    	// 将固定列表格头放到滚动面版的左上方
    	scrollPane.setCorner(JScrollPane.UPPER_LEFT_CORNER,
    			fixedColumnTable.getTableHeader());
    	// 创建一个用来显示基础信息的视口对象
    	JViewport viewport = new JViewport();
    	viewport.setView(fixedColumnTable);// 将固定列表格添加到视口中
    	// 设置视口的首选大小为固定列表格的首选大小
    	viewport.setPreferredSize(fixedColumnTable.getPreferredSize());
    	// 将视口添加到滚动面版的标题视口中
    	scrollPane.setRowHeaderView(viewport);
    	// 将可移动表格添加到默认视口
    	scrollPane.setViewportView(floatingColumnTable);
    	add(scrollPane, BorderLayout.CENTER);
    }
    	
    	private class FixedColumnTableModel extends AbstractTableModel {
    		/**
    		 * 
    		 */
    		private static final long serialVersionUID = 1L;
    
    		public int getColumnCount() {// 返回固定列的数量
    			return fixedColumn;
    		}
    		
    		public int getRowCount() {// 返回行数
    			return tableValueV.size();
    		}
    		
    		// 返回指定单元格的值
    		public Object getValueAt(int rowIndex, int columnIndex) {
    			return tableValueV.get(rowIndex).get(columnIndex);
    		}
    		
    		@Override
    		public String getColumnName(int columnIndex) {// 返回指定列的名称
    			return columnNameV.get(columnIndex);
    		}
    	}
    	
    	private class FloatingColumnTableModel extends AbstractTableModel {
    		/**
    		 * 
    		 */
    		private static final long serialVersionUID = 1L;
    
    		public int getColumnCount() {// 返回可移动列的数量
    			return columnNameV.size() - fixedColumn;// 需要扣除固定列的数量
    		}
    		
    		public int getRowCount() {// 返回行数
    			return tableValueV.size();
    		}
    		
    		// 返回指定单元格的值
    		public Object getValueAt(int rowIndex, int columnIndex) {
    			// 需要为列索引加上固定列的数量
    			return tableValueV.get(rowIndex)
    					.get(columnIndex + fixedColumn);
    		}
    		
    		@Override
    		public String getColumnName(int columnIndex) {// 返回指定列的名称
    			// 需要为列索引加上固定列的数量
    			return columnNameV.get(columnIndex + fixedColumn);
    		}
    	}
    	
    	private class MListSelectionListener implements ListSelectionListener {
    		boolean isFixedColumnTable = true; // 默认由选中固定列表格中的行触发
    		
    		public MListSelectionListener(boolean isFixedColumnTable) {
    			this.isFixedColumnTable = isFixedColumnTable;
    		}
    		
    		public void valueChanged(ListSelectionEvent e) {
    			if (isFixedColumnTable) { // 由选中固定列表格中的行触发
    				// 获得固定列表格中的选中行
    				int row = fixedColumnTable.getSelectedRow();
    				// 同时选中右侧可移动列表格中的相应行
    				floatingColumnTable.setRowSelectionInterval(row, row);
    			} else { // 由选中可移动列表格中的行触发
    				// 获得可移动列表格中的选中行
    				int row = floatingColumnTable.getSelectedRow();
    				// 同时选中左侧固定列表格中的相应行
    				fixedColumnTable.setRowSelectionInterval(row, row);
    			}
    		}
    	}
    }
    

     

    展开全文
  • CSS学习记录——表格

    千次阅读 2016-06-10 23:01:54
    每个表格均有若干行(由 tr 标签定义),每行被分割为若干单元格(由 td标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。 ...

    HTML部分


    表格

    表格由 table标签来定义。每个表格均有若干行(由 tr 标签定义),每行被分割为若干单元格(由 td标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。

    <table>
    <tr>
    <td>row 1, cell 1</td>
    <td>row 1, cell 2</td>
    </tr>
    <tr>
    <td>row 2, cell 1</td>
    <td>row 2, cell 2</td>
    </tr>
    </table>

    显示如下:
    这里写图片描述

    表格和边框属性

    如果不定义边框属性,表格将不显示边框。有时这很有用,但是大多数时候,我们希望显示边框。
    使用边框属性来显示一个带有边框的表格:

    <table border="1">
    <tr>
    <td>Row 1, cell 1</td>
    <td>Row 1, cell 2</td>
    </tr>
    </table>

    显示如下:
    这里写图片描述

    表头

    表格的表头使用 th 标签进行定义。
    大多数浏览器会把表头显示为粗体居中的文本:

    <table border="1">
    <tr>
    <th>Heading</th>
    <th>Another Heading</th>
    </tr>
    <tr>
    <td>row 1, cell 1</td>
    <td>row 1, cell 2</td>
    </tr>
    <tr>
    <td>row 2, cell 1</td>
    <td>row 2, cell 2</td>
    </tr>
    </table>

    显示如下:
    这里写图片描述

    表格中的空单元格

    在一些浏览器中,没有内容的表格单元显示得不太好。如果某个单元格是空的(没有内容),浏览器可能无法显示出这个单元格的边框。

    <table border="1">
    <tr>
    <td>row 1, cell 1</td>
    <td>row 1, cell 2</td>
    </tr>
    <tr>
    <td></td>
    <td>row 2, cell 2</td>
    </tr>
    </table>

    可能显示如下:
    这里写图片描述

    有时空单元格的边框没有被显示出来,为了避免这种情况,在空单元格中添加一个空格占位符,就可以将边框显示出来。

    <table border="1">
    <tr>
    <td>row 1, cell 1</td>
    <td>row 1, cell 2</td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td>row 2, cell 2</td>
    </tr>
    </table>

    显示如下:
    这里写图片描述

    带有标题的表格

    <h4>这个表格有一个标题,以及粗边框:</h4>
    
    <table border="6">
    <caption>我的标题</caption>
    <tr>
      <td>100</td>
      <td>200</td>
      <td>300</td>
    </tr>
    <tr>
      <td>400</td>
      <td>500</td>
      <td>600</td>
    </tr>
    </table>

    显示如下:
    这里写图片描述

    跨行或跨列的表格单元格

    <table border="1">
    <tr>
      <th>姓名</th>
      <th colspan="2">电话</th>
    </tr>
    <tr>
      <td>Bill Gates</td>
      <td>555 77 854</td>
      <td>555 77 855</td>
    </tr>
    </table>
    
    <table border="1">
    <tr>
      <th>姓名</th>
      <td>Bill Gates</td>
    </tr>
    <tr>
      <th rowspan="2">电话</th>
      <td>555 77 854</td>
    </tr>
    <tr>
      <td>555 77 855</td>
    </tr>
    </table>

    显示如下:
    这里写图片描述

    表格内的标签

    <table border="1">
    <tr>
      <td>
       <p>这是一个段落。</p>
       <p>这是另一个段落。</p>
      </td>
      <td>这个单元包含一个表格:
       <table border="1">
       <tr>
         <td>A</td>
         <td>B</td>
       </tr>
       <tr>
         <td>C</td>
         <td>D</td>
       </tr>
       </table>
      </td>
    </tr>
    <tr>
      <td>这个单元包含一个列表:
       <ul>
        <li>苹果</li>
        <li>香蕉</li>
        <li>菠萝</li>
       </ul>
      </td>
      <td>HELLO</td>
    </tr>
    </table>
    

    显示如下:
    这里写图片描述

    单元格边距(Cell Padding)

    <h4>没有 cellpadding:</h4>
    <table border="1">
    <tr>
      <td>First</td>
      <td>Row</td>
    </tr>   
    <tr>
      <td>Second</td>
      <td>Row</td>
    </tr>
    </table>
    
    <h4>带有 cellpadding:</h4>
    <table border="1" 
    cellpadding="10">
    <tr>
      <td>First</td>
      <td>Row</td>
    </tr>   
    <tr>
      <td>Second</td>
      <td>Row</td>
    </tr>
    </table>

    显示如下:
    这里写图片描述

    单元格间距(Cell Spacing)

    <h4>没有 cellspacing:</h4>
    <table border="1">
    <tr>
      <td>First</td>
      <td>Row</td>
    </tr>   
    <tr>
      <td>Second</td>
      <td>Row</td>
    </tr>
    </table>
    
    <h4>带有 cellspacing:</h4>
    <table border="1" 
    cellspacing="10">
    <tr>
      <td>First</td>
      <td>Row</td>
    </tr>   
    <tr>
      <td>Second</td>
      <td>Row</td>
    </tr>
    </table>

    显示如下:
    这里写图片描述

    向表格添加背景颜色或背景图像

    <h4>背景颜色:</h4>
    <table border="1" 
    bgcolor="red">
    <tr>
      <td>First</td>
      <td>Row</td>
    </tr>   
    <tr>
      <td>Second</td>
      <td>Row</td>
    </tr>
    </table>
    
    <h4>背景图像:</h4>
    <table border="1" 
    background="/i/eg_bg_07.gif">
    <tr>
      <td>First</td>
      <td>Row</td>
    </tr>   
    <tr>
      <td>Second</td>
      <td>Row</td>
    </tr>
    </table>

    向表格单元添加背景颜色或背景图像

    <h4>单元背景:</h4>  
    <table border="1">
    <tr>
      <td bgcolor="red">First</td>
      <td>Row</td>
    </tr>   
    <tr>
      <td 
      background="/i/eg_bg_07.gif">
      Second</td>
      <td>Row</td>
    </tr>
    </table>

    显示如下:
    这里写图片描述

    在表格单元中排列内容

    <table width="400" border="1">
     <tr>
      <th align="left">消费项目....</th>
      <th align="right">一月</th>
      <th align="right">二月</th>
     </tr>
     <tr>
      <td align="left">衣服</td>
      <td align="right">$241.10</td>
      <td align="right">$50.20</td>
     </tr>
     <tr>
      <td align="left">化妆品</td>
      <td align="right">$30.00</td>
      <td align="right">$44.45</td>
     </tr>
     <tr>
      <td align="left">食物</td>
      <td align="right">$730.40</td>
      <td align="right">$650.00</td>
     </tr>
     <tr>
      <th align="left">总计</th>
      <th align="right">$1001.50</th>
      <th align="right">$744.65</th>
     </tr>
    </table>

    显示如下:
    这里写图片描述

    框架属性

    <p>Table with frame="box":</p>
    <table frame="box">
      <tr>
        <th>Month</th>
        <th>Savings</th>
      </tr>
      <tr>
        <td>January</td>
        <td>$100</td>
      </tr>
    </table>
    
    <p>Table with frame="above":</p>
    <table frame="above">
      <tr>
        <th>Month</th>
        <th>Savings</th>
      </tr>
      <tr>
        <td>January</td>
        <td>$100</td>
      </tr>
    </table>
    
    <p>Table with frame="below":</p>
    <table frame="below">
      <tr>
        <th>Month</th>
        <th>Savings</th>
      </tr>
      <tr>
        <td>January</td>
        <td>$100</td>
      </tr>
    </table>
    
    <p>Table with frame="hsides":</p>
    <table frame="hsides">
      <tr>
        <th>Month</th>
        <th>Savings</th>
      </tr>
      <tr>
        <td>January</td>
        <td>$100</td>
      </tr>
    </table>
    
    <p>Table with frame="vsides":</p>
    <table frame="vsides">
      <tr>
        <th>Month</th>
        <th>Savings</th>
      </tr>
      <tr>
        <td>January</td>
        <td>$100</td>
      </tr>
    </table>

    显示如下:
    这里写图片描述

    页眉、主体、页脚

    <table border="1">
      <thead>
        <tr>
          <th>Month</th>
          <th>Savings</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>January</td>
          <td>$100</td>
        </tr>
        <tr>
          <td>February</td>
          <td>$80</td>
        </tr>
      </tbody>
      <tfoot>
        <tr>
          <td>Sum</td>
          <td>$180</td>
        </tr>
      </tfoot>
    </table>

    显示如下:
    这里写图片描述

    CSS部分

    表格边框

    可以使用border属性:

    table, th, td
      {
      border: 1px solid blue;
      }

    显示如下:
    这里写图片描述
    注意,上例中的表格具有双线条边框。这是由于 table、th 以及 td 元素都有独立的边框。

    折叠边框

    border-collapse 属性设置是否将表格边框折叠为单一边框:

    table
      {
      border-collapse:collapse;
      }
    
    table,th, td
      {
      border: 1px solid blue;
      }

    显示如下:
    这里写图片描述

    表格宽度和高度

    通过 width 和 height 属性定义表格的宽度和高度。

    table
      {
      width:50%;
      }
    
    th
      {
      height:50px;
      }

    显示如下:
    这里写图片描述

    表格文本对齐

    text-align 属性设置水平对齐方式,比如左对齐、右对齐或者居中:

    td
      {
      text-align:right;
      }

    这里写图片描述
    vertical-align 属性设置垂直对齐方式,比如顶部对齐、底部对齐或居中对齐:

    td
      {
      height:50px;
      vertical-align:bottom;
      }

    这里写图片描述

    表格内边距

    td
      {
      padding:15px;
      }

    这里写图片描述

    表格颜色

    table, td, th
      {
      border:1px solid green;
      }
    
    th
      {
      background-color:green;
      color:white;
      }

    这里写图片描述

    border-spacing

    border-spacing 属性设置相邻单元格的边框间的距离(仅用于“边框分离”模式)。在指定的两个长度值中,第一个是水平间隔,第二个是垂直间隔。除非 border-collapse 被设置为 separate,否则将忽略这个属性。尽管这个属性只应用于表,不过它可以由表中的所有元素继承。

    table, td, th
      {
      border:1px solid green;
      border-collapse:separate;
      border-spacing:10px 50px;
      }

    这里写图片描述

    caption-side

    caption-side 属性设置表格标题的位置。可接受:top、bottom。有继承性。

    table, td, th
      {
      border:1px solid green;
      caption-side:bottom;
      }

    这里写图片描述

    empty-cells

    empty-cells 属性设置是否显示表格中的空单元格(仅用于“分离边框”模式)。除非 border-collapse 设置为 separate,否则将忽略这个属性。可接受:hide、show(设置默认的边框)。

    一个漂亮的表格

    #customers
      {
      font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
      width:100%;
      border-collapse:collapse;
      }
    
    #customers td, #customers th 
      {
      font-size:1em;
      border:1px solid #98bf21;
      padding:3px 7px 2px 7px;
      }
    
    #customers th 
      {
      font-size:1.1em;
      text-align:left;
      padding-top:5px;
      padding-bottom:4px;
      background-color:#A7C942;
      color:#ffffff;
      }
    
    #customers tr.alt td 
      {
      color:#000000;
      background-color:#EAF2D3;
      }

    这里写图片描述

    展开全文
  • ant design of vue 学习之表格Table

    千次阅读 2020-01-13 16:22:21
    Ant design vue之表格Table学习 操作插槽 <span slot="action" slot-scope="record"> <a href="javascript:;">详情</a> <a href="javascript:;">编辑</a> <a-dropdown> <...
  • vba代码向word文档中插入表格并合并单元格,代码如下: Sub mergeCell() Dim Tbl As Table Set Tbl = ActiveDocument.Tables.Add(ActiveDocument.Range(0, 0), numrows:=2, numcolumns:=4) '在文档开头插入一个两行...
  • 表格相邻单元格边框断开方法 step1:选中待处理的单元格,右键选择表格属性>>边框和底纹 step2:去掉初始状态下的边框(应用于单元格状态下的上/下边框),再选择应用于段落>>选择上/下边框,点击确定...
  • 学习python的表格pyecharts

    千次阅读 2019-01-19 10:09:22
    看了一篇文章。pyecharts快速入门 ... 照着敲了一遍,发现走不通。 ERROR:lml.utils:failed to import pyecharts_...建议新手从基础起,我用的是MOOC的内容,北京大学的课程比较基础,但是很扎实。体系比较好。
  • 今天学习了如何用HTML在网页上做表格,对于我这种横列部分的属实有点麻烦,不过在看着表格合并单过格的时候我把整个表格看做代码就容易多了。 对于今天的作业让我学习了更多的代码,对于代码的应用希望更加熟练,...
  • QT学习之表格控件

    千次阅读 2010-01-06 18:31:00
    这次不仅会创建表格控件,还会用到QT的链表模板 先来看一段代码: #include  int main(int argc, char *argv[])  {  QApplication app(argc, argv);  QWidget window;  QLabel *queryLabel ...
  • 普通表格 \begin{table}[h] % [h]表格在文中放置的位置 \centering %作用是使表格居中 \begin{spacing}{1.35} %调整表格行距 \caption{National vulnerability classification} %表格标题 \label{table5} %表格...
  • Django学习12 -- 数据表格展示

    千次阅读 2019-10-30 22:36:19
    Django学习12 -- 数据表格展示
  • HTML学习之表格表单及框架介绍

    千次阅读 2016-04-12 16:55:03
    XHTML 可扩展超文本标记语言,是一种置标语言,表现方式与超文本标记语言(HTML)类似,不过语法上更加严格。 从继承关系上讲,HTML是一种... 表格TABLE ...2.表格可以布局,定位网页元素(建议使用CSS+DIV) 介绍
  • js 学习基础 随机生成表格 颜色随机

    千次阅读 2016-07-15 23:33:19
    随机生成表格: 任意输入行数或列数, 生成对应表格; 点击任意单元格, 将其数和背景颜色输出显示; DOM /*#box{ height:100px; width:100px; background:rgb(255,234,00); }*/ ...
  • ExtJS学习(三)Grid表格

    千次阅读 2016-03-12 10:16:48
    表格说明Ext中的表格功能非常强大,包括排序、缓存、拖动、隐藏某一列、自动显示行号、列汇总、单元格编辑等实用功能。表格由类Ext.grid.GridPanel定义,继承自Ext.Panel,其xtype为grid。在EXT中,表格控件必须包含...
  • 表格table(创建表格表格属性、表头标签、表格结构、表格标题标签、合并单元格)
  • 一使用HTML标签创建表格:  代码: 人员表 姓名 性别 年龄 张三
  • HTML学习7:常用标签之表格标签

    千次阅读 2015-10-25 15:56:56
    HTNL标记语言中可以使用table标签创建表格。  表格标签列表:  表格由 标签来定义。每个表格均有若干行(由 标签定义),每行被分割为若干单元格(由 标签定义)。字母 td 指表格数据(table data),即数据单元格的...
  • 今天先借用别人写的超简单、实用的美化表格小插件,来学习下jquery插件的编写。 写插件之前先想好插件要实现的功能,这里写的美化表格插件就是让表格的奇偶行颜色不同,然后鼠标移到某行上,某行可以高亮显示。 接...
  • 想要用matlab的表格功能导出一个上图的表格 步骤一: row_name = {'TransducerName';'Radius';'ElementNumber';'ExcitedElementNumber';'ReceiveElementNumber';'CenterFrequency';'SamplingFrequency';'...
  • kendoUI-Grid属性说明: allowCopy: Boolean | Object 是否启用表格...altRowTemplate:String | function 是否启用自定义表格行级样式模版,可以自定义需要显示的表格样式。 autoBind: Boolean 是否启用自动绑定...
  • GTK入门学习:布局容器之表格布局

    千次阅读 2015-01-15 18:00:29
    假如我们要完成下图的布局,我们该怎么做呢? 1)创建一个垂直布局容器( A ) 2)创建一个水平布局容器( B ),一个close按钮( C ) 3)将水平布局容器和close按钮添加到垂直布局容器里( 将 B 和 C 添加到 A ) 4)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 277,730
精华内容 111,092
关键字:

怎样学做表格