一个神奇的现象,我左边JTree,右边JTable,都加了JScrollPane,用JSplitPane分左右,JTable读数据库,但是必须先移动一下JTree和JTable分解的那条东西

问题描述

未移动前移动后谁知道原因吗,附源码importjavax.swing.*;importjavax.swing.tree.*;importjavax.swing.event.*;importjava.awt.event.*;importjava.awt.*;importjava.io.*;importjava.util.*;importjavax.swing.table.DefaultTableModel;importjava.sql.*;publicclassTest3extendsJFrameimplementsTreeSelectionListener{privateJScrollPanejsp_tree,jsp_table;privateJTreetree;privateJTabletb;Connectionconn;ResultSetres;Statementsta;Objectname[]={"年份","学院","专业代码","专业","总分","英语","数学"};Objectinfo[][];Stringacademy,subject;intyear,code,total,en,math;publicTest3(){super("研究生录取信息查询系统");info=newObject[50][7];Containerc=getContentPane();//定义根节点DefaultMutableTreeNoderoot=newDefaultMutableTreeNode("区域选择");//定义树叶节点DefaultMutableTreeNodenode_e=newDefaultMutableTreeNode("华东");DefaultMutableTreeNodenode_s=newDefaultMutableTreeNode("华南");DefaultMutableTreeNodenode_n=newDefaultMutableTreeNode("华北");DefaultMutableTreeNodenode_c=newDefaultMutableTreeNode("华中");root.add(node_e);root.add(node_s);root.add(node_n);root.add(node_c);DefaultMutableTreeNodeleafnode1=newDefaultMutableTreeNode("上海交通大学");node_e.add(leafnode1);DefaultMutableTreeNodeleafnode2=newDefaultMutableTreeNode("厦门大学");node_e.add(leafnode2);DefaultMutableTreeNodeleafnode3=newDefaultMutableTreeNode("复旦大学");node_e.add(leafnode3);DefaultMutableTreeNodeleafnode4=newDefaultMutableTreeNode("中山大学");node_s.add(leafnode4);DefaultMutableTreeNodeleafnode5=newDefaultMutableTreeNode("深圳大学");node_s.add(leafnode5);DefaultMutableTreeNodeleafnode6=newDefaultMutableTreeNode("广西大学");node_s.add(leafnode6);DefaultMutableTreeNodeleafnode7=newDefaultMutableTreeNode("东北大学");node_n.add(leafnode7);DefaultMutableTreeNodeleafnode8=newDefaultMutableTreeNode("东北财经大学");node_n.add(leafnode8);DefaultMutableTreeNodeleafnode9=newDefaultMutableTreeNode("哈尔滨工业大学");node_n.add(leafnode9);DefaultMutableTreeNodeleafnode_10=newDefaultMutableTreeNode("武汉大学");node_c.add(leafnode_10);DefaultMutableTreeNodeleafnode_11=newDefaultMutableTreeNode("华中科技大学");node_c.add(leafnode_11);DefaultMutableTreeNodeleafnode_12=newDefaultMutableTreeNode("中南财经政法大学");node_c.add(leafnode_12);tree=newJTree(root);tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);//只能选一个结点tb=newJTable(info,name);jsp_tree=newJScrollPane(tree);jsp_table=newJScrollPane(tb);JSplitPanesplitPane=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,jsp_tree,jsp_table);tree.addTreeSelectionListener(this);//监听器c.add(splitPane);pack();setSize(800,600);setVisible(true);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}publicvoidvalueChanged(TreeSelectionEvente){if(e.getSource()==tree){DefaultMutableTreeNodeselectionNode=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();if(selectionNode.isLeaf()){StringnodeName=selectionNode.toString();if(nodeName.equals("中南财经政法大学")){zncj();}}}}privatevoidzncj(){inti=0;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundExceptionce){System.out.println("SQLException:"+ce.getMessage());}try{conn=DriverManager.getConnection("jdbc:odbc:mydb","","");sta=conn.createStatement();res=sta.executeQuery("select*fromzncjzf");while(res.next()){year=res.getInt("年份");academy=res.getString(2);code=res.getInt("专业代码");subject=res.getString(4);total=res.getInt("总分");en=res.getInt("英语");math=res.getInt("数学");info[i][0]=String.valueOf(year);info[i][1]=academy;info[i][2]=String.valueOf(code);info[i][3]=subject;info[i][4]=String.valueOf(total);info[i][5]=String.valueOf(en);info[i][6]=String.valueOf(math);i++;}conn.close();}catch(SQLExceptionbe){System.out.println("SQLException:"+be.getMessage());}}publicstaticvoidmain(Stringargs[]){newTest3();}}

解决方案

解决方案二:
图片放不出来移动前移动后
解决方案三:
就是中间竖的那条移动一下,JTable才能显示数据库内容,怎么回事?

时间: 2024-11-17 11:12:40

一个神奇的现象,我左边JTree,右边JTable,都加了JScrollPane,用JSplitPane分左右,JTable读数据库,但是必须先移动一下JTree和JTable分解的那条东西的相关文章

一个神奇的现象

问题描述 String s ="一";byte[] b =s.getBytes();System.out.println(b[0]);System.out.println(b.length+"-"+s.getBytes().length);以上代码分别把UTF-8和GBK两份,分别运行以上程序,居然得到两种结果...求原因... 问题补充:String s ="一"; byte[] b =s.getBytes(); System.out.prin

把checkboxlist放进gridview的模板列后用UpdatePanel,发现了一个神奇的现象

问题描述 事情是这样的,,今天偶然试了下将checkboxlist放进gridview的模板列,然后用updatepanel将其包起来,按理说,对复选框的选择不会只会导致其本身的更新,而不会引起页面的刷新(事实上我试了checkbox,dropdownlist,radiobuttonlist所有的空间,都只是局部更新),只有该死的checkboxlit会导致整个页面的刷新....大牛们你们发挥的时候到了!!!!!小白怒求解惑!!!阉割后的代码为:前台:<asp:GridViewID="BO

这是一个神奇的网站

目前市值为105.76亿美元.在唯品会(191.34, 4.18, 2.23%)股价一路飙涨期间,不只一家浑水机构试图做空,均以失败告终. 理财周报记者 王薇薇 潘青萍/广州报道 这是一个神奇的网站.它不是58,是唯品会. 正是这个网站,在国内电商市场,成为"闪购"的开荒者,杀出一条血路,引来众电商巨头争相模仿. 在沈亚将唯品会的业务从奢侈品转向二三线品牌闪购之后,一切顺风顺水.2012年第四季度以来至今,唯品会一直保持着盈利并高速增长.而赴美上市无疑为一路低调赚钱的唯品会做了一次完美

wpf 多文档视图-WPF 左边是一个导航树 点击左边导航树的节点如何实现右边多视图显示?

问题描述 WPF 左边是一个导航树 点击左边导航树的节点如何实现右边多视图显示? 本人初学WPF,遇到这个问题不太懂,求大神给指导下思路,谢谢!

app-启动APP的时候想出现一个双选按钮,左边是A模式,右边是B模式,怎么弄

问题描述 启动APP的时候想出现一个双选按钮,左边是A模式,右边是B模式,怎么弄 1.手机上的APP都是中文名称,比如蹲蹲乐,是不是用android studio新建project的时候也要用中文名称,比如蹲蹲乐,2.启动APP的时候想出现一个双选按钮,左边是A模式,右边是B模式,怎么弄? 谢谢指点 解决方案 直接用ImageButton就可以了. 解决方案二: http://blog.sina.com.cn/s/blog_70677d110100qzhl.html 解决方案三: http://

frameset框架,分为左右两边,左边是导航栏,点击左边,右边显示对应的图片img

问题描述 frameset框架,分为左右两边,左边是导航栏,点击左边,右边显示对应的图片img frameset框架,分为左右两边,左边是导航栏,点击左边,右边显示对应的图片img(仅仅是图片),问题是:如何让图片在右边居中? 谢谢 C币少,见谅 解决方案 简化为div居中! 如果是水平居中那么可以margin: 0 auto, 如果是垂直也居中那么:position:relative; left :50%; top:50%; margin-left: 图片宽度乘以-1/2:margin-top

HTML布局之左右结构,左边固定右边跟据父元素自适应

HTML布局之左右结构,左边固定右边跟据父元素自适应,兼容IE6+.Firefox.Chrome.Opera.Safari,这里是用表单写的一个 demo,其实就在主体布局中也是可以的,比如像后台一些管理系统左侧菜单,右侧内容.这里只是其中一种方法,更多方法可以查看 blog(http://www.jayzhang.cn/2014/01/layout_left_right/) <!doctype html> <html lang="en"> <head&g

xml-下面这些代码左边和右边可以画等号,没有用new 是什么意思啊 赋值吗

问题描述 下面这些代码左边和右边可以画等号,没有用new 是什么意思啊 赋值吗 public static void run1() throws Exception{ // 获取解析器工厂类 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); // 获取解析器对象 DocumentBuilder builder = factory.newDocumentBuilder(); // 解析XML的文档,返回do

viewport布局-Extjs 隐藏左边 菜单右边 tabpanel 里面的gridpanel不自适应宽度

问题描述 Extjs 隐藏左边 菜单右边 tabpanel 里面的gridpanel不自适应宽度 如图所示: 代码如下 // 单击菜单,右边tabpanel 添加一个grid显示数据 var pl = new Ext.Panel({ id : node.attributes.id, title : node.attributes.text, border : false, // 边框 autoScroll : true, // 自动滚动条 closable : true, // 关闭选项 lay