怎么让装有JTable的JScollpane的大小和JTable保持一致?

怎么让装有JTable的JScollpane的大小和JTable保持一致?,第1张

 给窗口添加resize事件,当窗口大小改变的时候重设table的行高即可。
比如window中用borderlayout放置一panel,panel中放table,那么这个panel增加javaawteventComponentListener这个事件就可以随jframe大小变化。

给窗口添加resize事件,当窗口大小改变的时候重设table的行高即可。
比如window中用borderlayout放置一panel,panel中放table,那么这个panel增加javaawteventComponentListener这个事件就可以随jframe大小变化。

在swing中添加列的时候可以确定列的宽度的,如下:
addColumnName(1,
"ID",
5);
第一个参数是表示第几列,第二个参数是列名,第三个参数是列的宽度

不知道这个是不是你要的效果
import javaxswingtable;
import javaawt;
import javaxswing;
class TeleQury extends JFrame
{
Button b = new Button();
TextField tf;
Object[][]cells=
{
{"","","","","","",""},
};
String[] columns={"用户名","手机号","余额","市话费","长途费","漫游费","网费"};
JTable t;
JScrollPane scroll=new JScrollPane();
public TeleQury()
{
Frame f = new Frame();
fsetSize(600,520);
fsetTitle("手机信息查询");
fsetBackground(ColorlightGray);
fsetResizable(false);
Panel p = new Panel();
Panel p1 = new Panel();
Panel p2 = new Panel();
t=new JTable(cells,columns);
tsetAutoResizeMode(tAUTO_RESIZE_OFF);
tsetCellSelectionEnabled(false);
p1setLayout(null);
scrollgetViewport()add(t);
scrollsetBounds(10,10,310,50);
p1add(scroll);
p1setBounds(10,10,320,60);
bsetLabel("查询");
p2add(new Label("手机号"));
tf = new TextField(13);
p2add(tf);
p2add(b);
padd(p1);
padd(p2);
fadd(p);
fsetVisible(true);
}
public static void main(String args[])
{
new TeleQury();
}
}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/13104352.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-30
下一篇2025-08-30

发表评论

登录后才能评论

评论列表(0条)

    保存