JTextField加入到JPanel不能正常显示

JTextField(文本框)加入到JPanel(面板)中不能正常显示。

(后面有问题分析,看完绝对能帮你解决问题哦!!!)

代码示例:

package CSDN;

import javax.swing.*;

public class JtextjoinJpanel {
    public static void main(String[] args) {
        JFrame f=new JFrame("文本框加入面板");
        JPanel jp = new JPanel();
        JTextField jt = new JTextField();

        f.setBounds(400,400,500,500); //设置窗口位置大小
        jp.setSize(200,200);                //设置面板大小
        jt.setSize(100,100);                //设置文本框大小

        jp.add(jt);                         //将文本框加入到面板
        f.add(jp);

        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
    }
}

结果:
在这里插入图片描述
解决方法:

  1. 设置文本框参数.
JTextField jt = new JTextField();
改为:JTextField jt = new JTextField(10);
  1. 将面板布局设置为null.
加入 jp.setLayout(null);

结果:
在这里插入图片描述
在这里插入图片描述

:10的意思为文本框可以输入的字符个数。

问题产生原因(个人认为):

  • 由于面板采用的是流布局方式,创建文本框时,若没有输入默认参数(字符串),那么文本框默认为空,流方式便会将其覆盖,只留下边框(所以看见像一条竖线,点击仍可输入字符),若给其输入参数10,就相当于有10个字符已经输入,故不会覆盖;另不设置为流布局同样可以解决问题。

故如果

TextField jt = new JTextField();
改为 TextField jt = new JTextField("你好啊");

结果为
在这里插入图片描述

解决问题的给一个赞吧,动力哦
在这里插入图片描述

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值