Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JFrame无法正确显示_Java_Swing_Jframe - Fatal编程技术网

Java JFrame无法正确显示

Java JFrame无法正确显示,java,swing,jframe,Java,Swing,Jframe,我在youtube上练习教程。在这里-> 我检查了几十次下面的代码。但我仍然无法理解为什么JFrame没有正确显示。虽然我把尺寸设置为600x400(或更大),但在运行项目时仍然没有改变,JFramesize没有改变,标签也没有显示。问题在哪里 这是我的密码: package doanjava; import java.sql.*; public class db { Connection con; Statement st; ResultSet rs; p

我在youtube上练习教程。在这里->

我检查了几十次下面的代码。但我仍然无法理解为什么JFrame没有正确显示。虽然我把尺寸设置为600x400(或更大),但在运行项目时仍然没有改变,
JFrame
size没有改变,标签也没有显示。问题在哪里

这是我的密码:

package doanjava;
import java.sql.*;

public class db {

    Connection con;
    Statement st;
    ResultSet rs;

    public db(){
        connect();
    }

    public void connect(){
        try{
            String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
            Class.forName(driver);

            String db = "jdbc:odbc:ketnoi";
            con = DriverManager.getConnection(db);
            st = con.createStatement();
            String sql = "select * from HoSoSinhVien";
            rs = st.executeQuery(sql);

            while(rs.next())
            {
                String Ho = rs.getString("Ho");
                String Ten = rs.getString("Ten");
                String Tuoi = rs.getString("Tuoi");
                String Lop = rs.getString("Lop");
                String SoDienThoai = rs.getString("SoDienThoai");
                String DiaChi = rs.getString("DiaChi");

                System.out.println(Ho+" "+Ten+" | "+"Tuoi: "+Tuoi+" | "+"Lop :"+Lop+" | "+"SDT: "+SoDienThoai+" | "+"Dia Chi: "+DiaChi);
            }
        }catch(Exception ex){
        }
    }

    public static void main(String[] args) {
       new db();
       new gui();
    }
}


添加
组件后,必须调用
setVisible

JFrame f = new JFrame();

//set properties

//add other components     


f.setVisible(true); //finally
超出
System.out.println()这些值被丢弃,对
JLabel

Ho = new JLabel("Ho");
  • 不要设置顶级容器的大小。而是布局内容&调用
    pack()
  • Swing GUI应该在EDT上启动和更新
  • 请学习类、方法和属性名称的通用(特别是用于名称的大小写),并一致使用它们
  • 为了更快地获得更好的帮助,请发布一个
  • 更改表格的代码:

  • 致:


    您需要在实现容器之前将组件添加到容器中(即使其可见)。或者调用
    JFrame#revalidate
    JFrame#repaint
    ——但mre建议最好1)不要设置顶级容器的大小。而是布局内容&调用
    pack()
    。2) 请学习类、方法和属性名称的通用(特别是用于名称的大小写),并一致使用它们。3) 将形式为
    catch(Exception e){..
    的代码更改为
    catch(Exception e){e.printStackTrace();//非常有用!。
    很抱歉我的知识有限。我刚开始学习Java两个小时。我不太明白你说的话。有人能修复我的代码吗?谢谢大家
    String Ho = rs.getString("Ho");  
    
    Ho = new JLabel("Ho");
    
     catch (Exception e) { 
        ..
    
    catch (Exception e) { 
        e.printStackTrace(); // very informative! ..