问题描述
packagestudent;importjava.util.*;importjavax.swing.*;importjava.awt.BorderLayout;importjava.awt.Component;importjava.awt.Container;importjava.awt.event.*;importjava.sql.*;publicclassText2extendsJFrame{publicText2(){init();}publicvoidinit(){this.setTitle("学生管理系统");this.setVisible(true);this.setSize(400,300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setLocation(400,300);this.setContentPane(createcontentPane());}privateJPanelcreatecontentPane(){JPanelp=newJPanel();p.setLayout(newBorderLayout());p.add(BorderLayout.NORTH,contentPanFiled());p.add(BorderLayout.CENTER,contentPanJTable());p.add(BorderLayout.SOUTH,contentBth());returnp;}privateJPanelcontentPanJTable(){JPanelp=newJPanel();JTablejt=null;;VectorcolunmNames=newVector();colunmNames.add("学号");colunmNames.add("姓名");colunmNames.add("性别");colunmNames.add("年龄");colunmNames.add("籍贯");colunmNames.add("院系");VectorrowData=newVector();Connectionct=null;PreparedStatementps=null;ResultSetrs=null;JScrollPanejsp=null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");ct=DriverManager.getConnection("jdbc:odbc:Mytest");ps=ct.prepareStatement("select*fromstus");rs=ps.executeQuery();while(rs.next()){Vectorhang=newVector();hang.add(rs.getString(1));hang.add(rs.getString(2));hang.add(rs.getString(3));hang.add(rs.getString(4));hang.add(rs.getString(5));hang.add(rs.getString(6));rowData.add(hang);}jt=newJTable(rowData,colunmNames);jsp=newJScrollPane(jt);}catch(Exceptione){e.printStackTrace();}finally{try{if(rs!=null)rs.close();if(ps!=null)ps.close();if(ct!=null)ct.close();}catch(Exceptione){e.printStackTrace();}}p.add(jsp);returnp;}privateJPanelcontentPanFiled(){JPanelp=newJPanel();JLabeljl=newJLabel("查询");JTextFieldjtf=newJTextField();JButtondemand=newJButton();p.add(jl);p.add(jtf);p.add(demand);returnp;}privateJPanelcontentBth(){JPanelp=newJPanel();JButtonaddStu=newJButton("增加");JButtonalter=newJButton("修改");JButtonremove=newJButton("删除");p.add(addStu);p.add(alter);p.add(remove);returnp;}publicstaticvoidmain(String[]args){Text2t=newText2();}}
解决方案
解决方案二:
我直接用了你代码,没出来一看错误才看到,用的数据库不一样,我用的mysql,后来我小改动了下,可以显示东西啊,你再好好看看,细节哪里错了~
解决方案三:
看错误提示,慢慢调试
解决方案四:
这里没有错误提示,只是出现一个窗口,
解决方案五:
引用3楼的回复:
这里没有错误提示,只是出现一个窗口,
没有语法错误就是运行错误,看看你要显示的内容放组件里没有,组件放窗口里没有,还有你放进去了,如果你要显示的内容过大也无法显示,你试试调整大小和显示的位置看看~
解决方案六:
this.setVisible(true);需要放在后面。publicvoidinit(){this.setTitle("学生管理系统");//this.setVisible(true);this.setSize(400,300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setLocation(400,300);this.setContentPane(createcontentPane());this.setVisible(true);}
不过看你还有些地方需要改正的。比如:privateJPanelcontentPanFiled(){JPanelp=newJPanel();JLabeljl=newJLabel("查询");//JTextFieldjtf=newJTextField();JTextFieldjtf=newJTextField(30);//在有设置BorderLayout后需要这样设置JButtondemand=newJButton("查询");//这里还么加内容p.add(jl);p.add(jtf);p.add(demand);returnp;}
解决方案七:
this.setVisible(true);放到最后一句
解决方案八:
setVisible()方法,应放在main()方法中;t.setVisible(true);
解决方案九:
JFrameframe=newXMLWriterFrame();frame.setSize(400,400);/*缺少了这行也有可能显示不出来*/frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setTitle("XMLWriterTest");frame.setVisible(true);