Jtable和Jtree设置高度的问题

我再jpanel中写入jtable组件或者jtree组件,就是感觉他们所占的控件太大了,组件下面有一大片的空白区域,我想要改变组件的大小,来缩小空白区域,而不是设定jframe的大小来改变组件的大小,我试过了setSize和setPreferredSize方法都没有效果,

1个回答

将JPanel的layout设置(setLayout)为null
然后jtable或者jtree组件,用setBounds的方法来设置横坐标,纵坐标,宽度,高度。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

通过JFrame窗体绘制出的JTable,如何设置为不可编辑?

我在网上查如何将JTable的单元格设置为不可编辑,有两种方法。一种是自己写一个MyTable类继承DefaultTableModel,重写其中的isCellEditable方法;还有一种是在创建JTable对象时, JTable treeTable = new JTable(dm){ public boolean isCellEditable(int row, int column) { return false; }}; 但是这些好像都对在JFrame窗体的“设计”中拖拽在界面上的表格不太适用,因为不能自己定义MyTable类然后绘制在界面上,也不能重新new已经生成的table。 那么请问还有什么别的方法吗?谢谢~~

JTable设置了DefaultTableCellRenderer 后不能选中整行

![![图片说明](https://img-ask.csdn.net/upload/201707/09/1499613645_599286.png)图片说明](dhttps://img-ask.csdn.net/upload/201707/09/1499613634_216885.png)对JTable的设置完全失效了

Jtable设置指定行的背景颜色

我不是要那种交替换背景颜色,我只是要选中一行,只更换那一行的背景颜色,比如设置一个按钮,鼠标选中一行后,按下按钮,那一行就会变背景颜色,只是那一行才会!

Jtable网格的风格问题!

![怎么设置出如图所示的网格](https://img-ask.csdn.net/upload/201501/27/1422326112_1177.jpg) 在做一个项目,用到的别人的JTable派生类,但是这种网格风格不是我想要的,但是找不到 是在哪里设置的,大家帮帮忙,感激不尽

关于Jpanel, JScrollPane ,Jtable嵌套使用的问题

如题,我先建了一个继承了JPanel的 ListAddMainPanel。在这个ListAddMainPanel中,我嵌套了一个JScrollPane类的panel_1,在这个JScrollPane里,我放置了一个Jtable,Jtable 使用了DefaultTableModel。(可能看着有点晕,其实很简单,就是下面的那个图片) 使用时,我是在JFrame里的contentPane里先新建一个底层Panel,然后调用这个ListAddMainPanel的构造函数。想要给Table里加数据时,调用这个ListAddMainPanel里之前写好的fulfillTable函数 菜鸟觉得这个架构理论上应该行得通,但是问题来了,无论我使用什么样的方法,比如addRow();addColumn();setColumnIdentifiers(); 测试显示没有问题,数据也传进去了,程序也没报错,可他的界面就是没有出现表格_(:зゝ∠)_ 换了很多种方法,都没奏效,于是默默来求大佬帮助_(:зゝ∠)_ ![图片说明](https://img-ask.csdn.net/upload/2 ``` package w.teacher; import java.awt.Dimension; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JButton; import javax.swing.JTable; import javax.swing.SwingConstants; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableModel; import javax.swing.JTextField; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.JComboBox; public class ListAddMainPanel extends JPanel { // private JTable table1,table2,table3,table4,table5; public JLabel timeLabel; public JTable table; public DefaultTableModel tableModel; public JTextField textField; public JComboBox<String> gradeBox; public JButton addButton,importButton; /** * Create the panel. */ public ListAddMainPanel() { setLayout(null); setPreferredSize(new Dimension(856, 417)); setOpaque(false); JScrollPane panel_1 = new JScrollPane(table); panel_1.setBounds(14, 72, 493, 319); panel_1.setLayout(null); panel_1.setVisible(true); add(panel_1); //Table table = new JTable(tableModel); // tableModel = (DefaultTableModel)table.getModel(); // table.setPreferredScrollableViewportSize(new Dimension(493,319));//设置table大小 table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);//关闭表格列自动调整,此时水平滚动条可见 // table.setBounds(0, 0, 493, 319); panel_1.add(table);//原位置Table代码 table.setVisible(true); // tableModel.setColumnIdentifiers(name1111); panel_1.setViewportView(table);//原位置Table代码 } public void fulfillTable(String[] title,String[][] data) { // for(int i = 0;i<100;i++){ // for(int j = 0;j<7;j++) // System.out.println(data[i][j]); // } // tableModel = new DefaultTableModel(data, name); // table = new JTable(tableModel); if(title!=null) { for(int i = 0;i<title.length;i++) { tableModel.addColumn(title[i]); } } for(int i = 0;data[i+1][0]!=null;i++) { String[] mString = new String[data[i].length]; for(int y = 0;y<7;y++) { mString[y] = data[i][y]; System.out.println(mString[y]); } tableModel.addRow(mString); // System.out.println(mString); } } ```

JTree或者JTableTree怎么实现查找过滤数据只显示当前查找的数据?

JTree或者JTableTree组件怎么实现查找过滤数据只显示当前查找的数据?就像JTable的过滤一样,只显示当前过滤的一部分数据。JTree或JTableTree好像没有自带的api,我现在能想到的就是自己写过滤算法,然后将得到的数据重新set进去,但是数据量一大的时候就特别慢,感觉这种写法很奇怪,有什么别的方法吗?求教。

JTable 的排序问题,升序和降序已经实现。

数据已经显示在JTable上面了 使用JTable的setRowSorter(tableRowSorter)或者setAutoCreateRowSorter(true)方都能实现了JTable的排序,但是只支持升序和降序,我希望的是不仅有升序和降序,还有正常的情况 就是说当数据加载完之后:第一次点击JTable的某个表头是升序 第二次点击JTable该表头是降序 第三次点击JTable该表头就是正常情况,即刚开始加载数据的序列。 前面两个都已经实现,求大神指导第三种。

swing中JTable的下拉列表获取值问题

我在JTable中嵌套了一个下拉列表,当我选择下拉列表中的选项时,却获取不到我选中的那个值, 比如,我选择了“血浆”,却获取不到这个值,而是返回null,但是这个JcomboBox对象能获取到,很奇怪,这是为什么呢

JAVA JTable表格选中的问题

![图片说明](https://img-ask.csdn.net/upload/201706/03/1496480897_236459.png) 每次鼠标选中拖拉,都会把每行的所有列都选中 而我想要的是excell表格那样,比如只选中姓名这一列 有没有大神知道的,求解!!!

JTable中行自动滚动问题

程序从数据库取出五六十条数据,我想让表格滚动显示,为什么以下代码不可以实现呢,求大神指教 public void showTable(){ tableModel = new DefaultTableModel(tableValueV,tableColumnV); table = new MTable(tableModel,tableHeadSize); //设置行的高度 table.setRowHeight(tableRowSize); table.setEnabled(false); //在网上查到的方法,然而并没有用,为什么呢 int rowCount = table.getRowCount(); table.getSelectionModel().setSelectionInterval(rowCount-1, rowCount-1); Rectangle rect = table.getCellRect(rowCount-1, 0, true); table.repaint(); //若需要的话 table.updateUI();//若需要的话 table.scrollRectToVisible(rect); table.setBackground(Color.LIGHT_GRAY); scrollPane.setViewportView(table); }

Swing中JTable的TableCellRenderer问题

小弟近期正在用Swing做一个小工具。遇到一个恼人的问题! 应用场景是这样的.如图所示: [img]http://dl.iteye.com/upload/attachment/166734/39bcacf0-3531-3303-a84a-745d8e3a0831.jpg[/img] 在表格内显示任务,每条任务对应表格内的一行。 重写了TableCellRenderer,表格的最后两列为进度条和按钮。 通过选中的rowIndex和columnIndex来确定用户点击了按钮所在的单元格。 如果鼠标点选到了"按钮单元格"则 禁用该按钮。 代码如下: [code="java"] private void tbl_taskMouseClicked(java.awt.event.MouseEvent evt) { JTable table= (JTable) evt.getSource(); int colIndex=table.getSelectedColumn(); int rowIndex=table.getSelectedRow(); if(colIndex==4){//如果鼠标点击的单元格为“按钮单元格” System.out.println("按钮坐标:"+rowIndex+"-"+colIndex); //获取该单元格的CellRenderer 并 cast to MyTableRenderer // (MyTableRenderer 是一个继承了JButton实现了TableCellRenderer接口的renderer) MyTableRenderer mtb=(MyTableRenderer) table.getCellRenderer(rowIndex, colIndex); mtb.setEnable(false); } } [/code] 以上代码成功通过编译,但问题也随之出现了。 点击第1行的“按钮单元格”,此时该按钮单元格不变灰。此时再点击第2行的“按钮单元格”之后,第一行和第二行的单元格被一起 置灰了..情形如同window内按住"shift"在选择文件的时候出现部分全选的情况。 但我想达到的目的是点选了哪个“按钮单元格”,就让该“按钮单元格”禁用。 [code="java"] //难道这样定位到的不是唯一一个Cell?还是说跟jtable的select机制发生了冲突? MyTableRenderer mtb=(MyTableRenderer) table.getCellRenderer(rowIndex, colIndex); mtb.setEnable(false); [/code] 同样 ,在设置progressbar的时候也出现这样的问题。。切换界面的时候又发现所有按钮单元格全部置灰。 求教! [b]问题补充:[/b] fangfumin 提供的问题解答没法完成。 JButton obj =(JButton)jTable.getValueAt(row, col); 这个无法强制转换成JButton,getValueAt()方法是取得坐标上的值。

JTable设置值,变更背景颜色不成功

![图片说明](https://img-ask.csdn.net/upload/201601/06/1452045653_17206.png) 这个是我jframe起来以后的效果,是一直刷数据的,现在想在其他方法里面对指定的行列修改值,变更下背景颜色,table.setValueAt(100, 1, 2); 这个没有效果,请大神们看一下 哪有问题,谢谢了

JTable显示整型数据格式问题

在JTable里有一列整型数据,比如内容是1234,我想正常显示的时候是1,234,编辑的时候变为1234。 这个效果可以把列内容的类型设为Double类型来实现。但是如果设成Double型的话,编辑的时候就会变成1234.0。我不想要后面的小数点和0,不知有什么办法可以做到? :D

JTable的数据添加问题

我问下啊,就是JTable里面的数据保存啊,我点树状不同的节点这样一切换一下,JTabel里面的数据就会没了,我怎么保存呢?切回去的时候还会存在。。 [code="java"] [1, IF, [sensor]{RHB - 400#1},On, IFELSE] [2, ELSE, [sensor]{RHB - 400#RHB - 400},On, null] [3, ENDIF, null, null] [4, [TV] - TV/VIDEO, null, KEYSTEP] //我把表格里面的数据取出来是这样的,我怎么设置到JTable里面去呢? [/code] [b]问题补充:[/b] 1. 有些列数没有数值,有些有。所以就会这样。 2.因为数据就直接添加到表格里面的。没有另外放到保存,所以一切换就没了。 所以我就想保存起来,在切换回去的时候,能拿出来 在添加表格里面的。。。

java中JTable如何用代码设置不随窗口变化而变化

在学习JTable时发现我的表格会随着JAVA窗口的变化而变化,想知道如何不让它 变化,也就是说如何让它固定化? 代码如下: package com.view; import java.awt.Color; import javax.swing.*; public class NewFrame extends JFrame { private String[] columnNames= { "Country","Capital","Population in Millions","Democracy" }; private Object[][] data= { {"USA","Washington DC",280,true}, {"Canada","Ottawa",32,true}, {"China","Beijing",1000,true}, {"Japan","Tokyo",50,true}, }; private JTable jTable1=new JTable(data,columnNames); public NewFrame() { jTable1.setBackground(Color.RED); add(new JScrollPane(jTable1)); } public static void main(String[]args) { NewFrame frame=new NewFrame(); frame.setSize(600, 400); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }

JTable获取行号问题,

final JButton searchButton = new JButton("查找"); //查找按钮 searchButton.addActionListener(new ActionListener(){//添加事件 public void actionPerformed(ActionEvent e){ int x=0; for(x=0;x<table.getRowCount();x++) { if(model.getValueAt(x, 0)==aTextField.getText()) return ; } table.setRowSelectionInterval(x,x); } }); panel.add(searchButton); 当点击查找按钮时出错,我是想定义行号x,循环遍历,当第0列x行的值等于aTextField中输入的值时,返回,用table.setRowSelectionInterval方法选中表格的x行。请大神看看错在哪。

怎么修改JTable的列标题,在不使用构造函数的情况下?

我是这样构造一个JTable的 自定义一个类 class MyTable extends AbstractTableModel 然后创建MyTable对象mt 界面的Jtable对象 jTable1 设置模型jTable1.setModel(mt); 在MyTable类里边设置列标题一维数组和表格数据的二维数组,这两个数组初始化里边有数据的话 可以在jTable1里正常显示标题和数据 我的问题是怎么能够在修改列标题一维数组的情况下,使jTable1里的列标题也作修改?

关于Java swing Jtable 单击与双击的不同效果是什么原因造成的

我设置的是仅一行可选,单击每一行时显示正常 ![每次单击一行](https://img-ask.csdn.net/upload/201606/12/1465710275_506140.png) 但如果双击一行之后再单击另一行 ![双击name为1的之后单击name为tom那个](https://img-ask.csdn.net/upload/201606/12/1465710381_550947.png) 每次双击之后点击另一行,上次点击的选中效果不会消失。 我的Jtable设置的代码: ![这个是在一个Jpanel里面创建的JTable](https://img-ask.csdn.net/upload/201606/12/1465710818_265777.png) ![这个是我自己Jtable子类的设置](https://img-ask.csdn.net/upload/201606/12/1465710977_16671.png)

Java 这JTable 中如何添加复选框和按钮问题

类似如图,所示,第一列是一个复选框,可以多选,最后一列是两个按钮,第三列是一个超链接的网址 ,我按照网上的方法用了自定义编辑器和渲染器遇到几个问题 1、复选框只能单选 2、按钮必须双击才会生效 3、我这表是空的,需要用户自行添加数据的,该如何实现 可能还有未知问题,请教大佬 图片放在下面了

2019 Python开发者日-培训

2019 Python开发者日-培训

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

设计模式(JAVA语言实现)--20种设计模式附带源码

设计模式(JAVA语言实现)--20种设计模式附带源码

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

java后台+微信小程序 实现完整的点餐系统

java后台+微信小程序 实现完整的点餐系统

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

2019 AI开发者大会

2019 AI开发者大会

玩转Linux:常用命令实例指南

玩转Linux:常用命令实例指南

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Git 实用技巧

Git 实用技巧

Python数据清洗实战入门

Python数据清洗实战入门

使用TensorFlow+keras快速构建图像分类模型

使用TensorFlow+keras快速构建图像分类模型

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

程序员的算法通关课:知己知彼(第一季)

程序员的算法通关课:知己知彼(第一季)

MySQL数据库从入门到实战应用

MySQL数据库从入门到实战应用

机器学习初学者必会的案例精讲

机器学习初学者必会的案例精讲

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

.net core快速开发框架

.net core快速开发框架

玩转Python-Python3基础入门

玩转Python-Python3基础入门

Python数据挖掘简易入门

Python数据挖掘简易入门

微信公众平台开发入门

微信公众平台开发入门

程序员的兼职技能课

程序员的兼职技能课

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

HoloLens2开发入门教程

HoloLens2开发入门教程

微信小程序开发实战

微信小程序开发实战

Java8零基础入门视频教程

Java8零基础入门视频教程

相关热词 c# 开发接口 c# 中方法上面的限制 c# java 时间戳 c#单元测试入门 c# 数组转化成文本 c#实体类主外键关系设置 c# 子函数 局部 c#窗口位置设置 c# list 查询 c# 事件 执行顺序
立即提问
相关内容推荐