Swing心得

本文总结了Swing组件和布局的基础知识,重点讨论了Swing布局管理中setSize方法失效的问题,并通过登录界面的例子展示了如何有效组织组件和Panel。强调了避免过多无用组件的重要性,以及如何通过通用模板和单独实例化方便添加事件和方法。最后,作者分享了自己的Swing编程经验,希望能帮助读者理解和构建Swing应用。
摘要由CSDN通过智能技术生成

Swing小结


Swing组件

可以参考网上的其他教程,这里略过了

Swing布局基础

可以参考网上的其他教程,这里略过了

Swing布局(敲黑板)

一些组件(包括面板)在swing的布局下setSize方法会失效,具体解决方案可以通过 局中局 的布局方式去解决,这里举个登陆界面例子,请往下看!

登陆界面-Panel里的组件

  • 这里应该考虑
  • JLabel 账号
  • JTextField 账号输入框
  • JLabel 注册
  • JLabel密码
  • JPasswordField 密码输入框
  • JLabel 忘记密码

然后考虑哪些组件需要事件,单独实例化,方便之后调用。
这里拿 JLabel 密码 (不需要绑定事件)和 JLabel 注册 (需要绑定事件) 这个两个组件举例子

        JLabel registerUserLabel = new JLabel("注册", JLabel.CENTER);
        jPanel.add(registerUserLabel);
        // @事件处理
        jLabel = new JLabel("密码", JLabel.CENTER);
        jPanel.add(jLabel);

可以看到,注册这个标签需要绑定了事件,所以应该单独实例化JLabel registerUserLabel = new JLabel("注册", JLabel.CENTER); 方便后调用,而jLabel = new JLabel("密码", JLabel.CENTER); 则是采用了一个通用的模板去实例的。

登陆界面-组件进入Panel

组件进入Panel的话,需要调用Panel的add方法。

同理,Panel也只是一个组件,如果不需要事件的话,通用模板实例化即可,无需单独拿出。

  • jPanel = new JPanel();

这里注意一下,我们在创建下一个通用模板实例的时候就需要add到对应的容器Panel(组件)里,不然新的实例会把旧的实例覆盖掉。

        jPanel = new JPanel();
        jPanel.setLayout(new GridLayout(2, 3, 10, 10));
        jLabel = new JLabel("用户名 : ", JLabel.CENTER);
        jPanel.add(jLabel);
        JTextField userNameTextField = new JTextField();
        jPanel.add(userNameTextField);
        // @事件处理
        JLabel registerUserLabel = new JLabel("注册新用户", JLabel.CENTER);
        jPanel.add(registerUserLabel);
        // @
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值