Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Java JTable列标题不显示

Java JTable列标题不显示
EN

Stack Overflow用户
提问于 2012-12-18 15:13:18
回答 3查看 29.5K关注 0票数 4

我的代码(逻辑方面)都很好,唯一的问题是列标题没有显示在两个表中(table和tableS,一个用于教师,另一个用于学生详细信息)。我如何让它们显示出来?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;


public class Display
{
    ArrayList<Student> stud1 = new ArrayList<Student>();
    ArrayList<SubjectTeacher> sTeach1 = new ArrayList<SubjectTeacher>();

    //For Display Teachers
    private  JTable table;
    private  JFrame f;
    private int i;

    //For DisplayStudents
    private JTable tableS;
    private JFrame fS;
    private int iS;


    //Displays Teachers
    public void displayTeachers()
    {

            f = new JFrame("Teachers");

            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.setSize(500,400);
            f.setVisible(true);



        String[] columnNames =  {"Name", "Surname", "ID", "Pay", "Subject"};

        sTeach1 = Stores.getTeach();
        i = sTeach1.size();


        Object[][] data = new Object[i+1][5];



            for (int j = 0; j<sTeach1.size(); j++)
            {
                {
                    SubjectTeacher myTeach = sTeach1.get(j);
                     data[j][0] = myTeach.getName();
                     data[j][1] = myTeach.getSurname();
                     data[j][2] = myTeach.getID();
                     data[j][3] = myTeach.getPay();
                     data[j][4] = myTeach.getSubjectID();
                };
            }




    JTable table = new JTable (data, columnNames);
    f.add(table);

    }



    //Displays Students
    public void displayStudents()
    {

        System.out.println(stud1.size());

            fS = new JFrame("Students");

            fS.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            fS.setSize(700,600);
            fS.setVisible(true);



        String[] colNames =  {"Name", "Surname", "ID", "Computer", "Physics", "Maths", "Tests", "Passes", "Fails"};


        stud1 = Stores.getStud();
        iS = stud1.size();

        Object[][] info = new Object[iS+1][9];




        for (int j = 0; j<stud1.size(); j++)
            {
                {


                    Student myStud = stud1.get(j);

                 info[j][0] = myStud.getName();
                 info[j][1] = myStud.getSurname();
                 info[j][2] = myStud.getID();
                 info[j][3] = myStud.getSubject(1);
                 info[j][4] = myStud.getSubject(2);
                 info[j][5] = myStud.getSubject(3);
                 info[j][6] = myStud.getTestsTaken();
                 info[j][7] = myStud.getPasses();
                 info[j][8] = myStud.getFails();
                };
            }




    JTable tableS = new JTable (info, colNames);
    fS.add(tableS);

    }

}
EN

回答 3

Stack Overflow用户

发布于 2012-12-18 16:05:51

这是问题所在。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
JTable table = new JTable (data, columnNames);
f.add(table);

不要直接添加表。使用JScrollPane显示表头。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
f.add(new JScrollPane(table))

为什么需要将表放在JScrollPane

来自@Dan帖子:

当您将组件放在JScrollPane的构造函数中时,您提到了要应用滚动的视图。另一方面,使用add方法,您只需将组件添加到容器中,就像将其添加到JPanel中一样。这样,您就不必指定要向其中添加滚动条的组件。

编辑:来自javadoc(垃圾神在评论部分引用)

下面的

是创建滚动窗格作为表的容器的典型代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
JScrollPane scrollPane = new JScrollPane(table);
table.setFillsViewportHeight(true); 

此代码段中的两行代码执行以下操作:使用引用表格对象的参数调用JScrollPane构造函数。这将创建一个滚动窗格作为表的容器;该表将自动添加到容器中。调用JTable.setFillsViewportHeight来设置fillsViewportHeight属性。当此属性为true时,即使表没有足够的行来使用整个垂直空间,表也会使用容器的整个高度。这样可以更容易地将表用作拖放目标。滚动窗格会自动将表格标题放置在视口的顶部。滚动表格数据时,列名称在查看区域的顶部保持可见。

如果您正在使用没有滚动窗格的表,则必须获取表头组件并自行放置它。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
container.setLayout(new BorderLayout());
container.add(table.getTableHeader(), BorderLayout.PAGE_START);
container.add(table, BorderLayout.CENTER);
票数 20
EN

Stack Overflow用户

发布于 2012-12-18 15:22:37

如果我没记错的话,你应该在它周围放一个容器(例如JScrollPane)。

票数 4
EN

Stack Overflow用户

发布于 2020-12-02 14:06:43

我的问题是我将我的JFrame布局设置为null (f.setLayout(null))。所以当我删除它并添加

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
f.add(new JScrollPane(table)). 

啊,真灵。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13935934

复制
相关文章
Node.js GET、POST 请求是怎样的?
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,它使 JavaScript 能够在服务器端运行。作为一种强大的后端开发工具,Node.js 提供了丰富的模块和功能,使开发人员能够轻松地构建高性能的网络应用程序。
网络技术联盟站
2023/07/07
7650
http请求中get和post方法的区别
一般我们在浏览器输入一个网址访问网站都是GET请求;再FORM表单中,可以通过设置Method指定提交方式为GET或者POST提交方式,默认为GET提交方式。
用户7880705
2020/11/06
4.3K0
javascript 请求 sse stream,解析结果
比如 目前 openai api 的 stream 返回。 标准的请求sse是 EventSource,但是这个无法像正常post一样,携带数据或者header。若你的接口需要进行鉴权,需要携带header或者body数据,像post请求一样,那么这个EventSource就没法用了。
shirishiyue
2023/05/28
3K0
【OkHttp】OkHttp Get 和 Post 请求 ( 同步 Get 请求 | 异步 Get 请求 | 同步 Post 请求 | 异步 Post 请求 )
【OkHttp】OkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 ) 【OkHttp】Android 项目导入 OkHttp ( 配置依赖 | 配置 networkSecurityConfig | 配置 ViewBinding | 代码示例 ) 【OkHttp】OkHttp Get 和 Post 请求 ( 同步 Get 请求 | 异步 Get 请求 | 同步 Post 请求 | 异步 Post 请求 )
韩曙亮
2023/03/29
16.6K0
在GET、POST请求中,常见的几种传参格式
一: 在GET请求中,常见的几种传参格式包括: 1:查询字符串(Query String): 在URL中使用?符号将参数附加到URL末尾,多个参数之间使用&符号分隔。例如: GET /api/use
王小婷
2023/09/21
20.5K1
PHP简单的Curl的Get请求和Curl的Post请求和file_get_contents的Get请求获取接口JSON数据
PHP携带Cookie用Curl进行Post或Get请求获取数据 PHP全能Curl请求 /** * curl发送HTTP请求方法 * @param $url * @param string $method * @param array $params * @param array $header * @param int $timeout * @param bool|false $multi * @return mixed * @throws Exception */ function
骤雨重山
2022/01/17
2.2K0
记录 RestTemplate 中的 GET 请求
Spring 提供的用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程 Http 服务的方法,能够大大提高客户端的编写效率。它的堂兄:Http Client。(有了它,堂兄就用的少了)
子乾建建-Jeff
2020/06/29
2.2K0
记录 RestTemplate 中的 GET 请求
get和post请求的区别
网上也有文章说:get和post请求实际上是没有区别,大家可以自行查询相关文章(参考文章:https://www.cnblogs.com/logsharing/p/8448446.html,知乎对应的问题链接:get和post区别?)!我下面给出的只是一种常见的答案。
崔笑颜
2020/06/08
1.2K0
关于GET和POST请求
网上看了一篇关于这两种请求的区别,感觉和之前看到的不太一样。 大众版: 1. GET使用URL或Cookie传参。而POST将数据放在BODY中。 2. GET的URL会有长度上的限制,则POST的数据则可以非常大。 3. POST比GET安全,因为数据在地址栏上不可见。 分析: 对于第一个: GET和POST与数据如何传递没有关系      GET和POST是由HTTP协议定义的。在HTTP协议中,Method和Data(URL, Body, Header)是正交的两个概念,也就是说,使用哪个Method
小端
2018/04/16
1K0
请求类型 GET 和 POST 的区别
如果像 HTML 表单那样 POST 数据,要用 setRequestHeader() 来添加 HTTP 头,然后在 send() 方法中规定所要发送的数据
Leophen
2019/08/23
9770
GET 和 POST 请求方式的区别
GET 请求方式传输的数据大小不能大于 2KB,而 POST 请求方式传输的数据大小没有限制
很酷的站长
2022/12/16
9510
GET 和 POST 请求方式的区别
Http:GET和POST请求的区别
GET和POST请求的区别 GET请求 GET /books/?sex=man&name=Professional HTTP/1.1 Host: www.wrox.com User-Ag
心跳包
2020/08/31
1.4K0
获取URL地址中的GET参数
/*-----------------实现1--------------------*/ function getPar(par){ //获取当前URL var local_url = document.location.href; //获取要取得的get参数位置 var get = local_url.indexOf(par +"="); if(get == -1){ return false; } //截取字符串
似水的流年
2018/01/14
6.7K0
-GET和POST请求添加请求参数和请求头【TBK使用】
我们平常浏览各个网站时,不免有时候就需要填写一些信息,比如注册时,登录时,这些信息一般都是通过GET请求或者POST(敏感信息一般使用POST,数据隐藏,相对来说更安全)请求提交到后台,经过后台的一系列处理,再返回给前台结果,前台进行处理。
凯哥Java
2019/06/28
6.5K0
[android] 请求码和结果码的作用
当一个界面中要要开启多个带有返回值的activity时,这个时候,就需要用到请求码和结果码了
唯一Chat
2019/09/10
5200
获取URL地址中的GET参数
/*-----------------实现1--------------------*/ function getPar(par){ //获取当前URL var local_url = document.location.href; //获取要取得的get参数位置 var get = local_url.indexOf(par +"="); if(get == -1){ return false; } //截取字符串
似水的流年
2019/12/11
6.4K0
获取URL地址中的GET参数
/*-----------------实现1--------------------*/ function getPar(par){ //获取当前URL var local_url = document.location.href; //获取要取得的get参数位置 var get = local_url.indexOf(par +"="); if(get == -1){ return false; } //截取字符串
似水的流年
2018/01/18
7.1K0
[javascript] js获取url中的get参数
调用数组的map函数 , map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
唯一Chat
2021/05/17
10.6K0
request中的方法_requests发送get请求
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/29
1.1K0
点击加载更多

相似问题

JS与.NET夏令行为的差异

20

PHP与Python代码的差异-数组、Foreach循环

12

PHP 5.2.0与PHP 5.3.3中的Foreach迭代器行为差异

30

与码头货柜的行为差异

12

C# - For与Foreach性能差异巨大

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文