首页 > java的Swing,JTextField充满了整个窗口。

java的Swing,JTextField充满了整个窗口。

import java.awt.Dialog;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class Client {
    public static void main(String[] args){
    
        JFrame denglu = new JFrame("登陆界面");
        denglu.setVisible(true);
        denglu.setBounds(600, 420, 470, 250);
        JLabel word=new JLabel("欢迎使用,请先登录");
        word.setBounds(141, 30, 180, 30);
        JLabel name=new JLabel("账号");
        name.setBounds(80, 70, 40, 20);
        JLabel password=new JLabel("密码");
        password.setBounds(80, 100, 40, 20);
        JButton xiugaiBut = new JButton("修改密码");
        xiugaiBut.setBounds(80, 130, 100, 20);
        JButton dengluBut = new JButton("登陆");
        dengluBut.setBounds(200, 130, 100, 20);
        JTextField txtZhanghao = new JTextField();
        txtZhanghao.setBounds(150, 70, 140, 20);
        
        
        denglu.setResizable(false);
        JTextField txtPassword = new JTextField();
        txtPassword.setBounds(150, 100, 140, 20);
        denglu.add(word);
        denglu.add(name);
        denglu.add(password);
        denglu.add(xiugaiBut);
        denglu.add(dengluBut);
        denglu.add(txtZhanghao);
        denglu.add(txtPassword);
    }

}


运行结果:![图片描述][1]

第二个输入文本框充满了整个窗口
这是为什么,有什么好的解决办法吗?


需要添加

denglu.setLayout(null);

因为JFrame默认的Layout是BorderLayout,所以跟setBounds没有关系,只支持东南西北中布局方式,如果没有指定方向,控件默认都是添加到中间。

【热门文章】
【热门文章】