java Swing组件setBounds()简单用法实例分析

 更新时间:2017年11月13日 11:52:28   作者:pzy4447  
这篇文章主要介绍了java Swing组件setBounds()简单用法,结合实例形式分析了Swing组件setBounds()方法的功能与简单使用方法,需要的朋友可以参考下

本文实例讲述了java Swing组件setBounds()简单用法。分享给大家供大家参考,具体如下:

先看API:

public void setBounds(Rectangle r)

移动组件并调整其大小,使其符合新的有界矩形 r。由 r.x 和 r.y 指定组件的新位置,由 r.width 和 r.height 指定组件的新大小

参数: r - 此组件的新的有界矩形

从API来看,该方法的作用相当于setLocation()setSize()的总和。在实际使用时,需将容器的layout设置为null,因为使用布局管理器时,控件的位置与尺寸是由布局管理器来分配的。需要注意的是,这时必须手动指定容器的尺寸,因为空的布局管理器会将容器自身的PreferredSize清零,导致容器无法在GUI上显示。因此,如果容器在上级容器中使用布局管理器排列,那么需使用setPreferredSize(),如果容器在上级容器中仍然手动排列,那么对容器使用setBounds()即可。

下面是测试demo:

package awtDemo;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class setBoundsDemo {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    //设置panel的layout以及sieze
    JPanel jpanel = new JPanel();
    System.out.println("default PreferredSize is " + jpanel.getPreferredSize());
    System.out.println("default Size is " + jpanel.getSize());
    jpanel.setLayout(null);
    System.out.println("In null layout, the PreferredSize is " + jpanel.getPreferredSize());
    System.out.println("In null layout, the Size is " + jpanel.getSize());
    jpanel.setPreferredSize(new Dimension(400, 400));
    //添加按钮
    JButton button11 = new JButton("setBounds");
    JButton button12 = new JButton("setLocationAndSetSize");
    button11.setBounds(20, 20, 100, 100);
    button12.setLocation(250, 250);
    button12.setSize(100, 100);
    jpanel.add(button11);
    jpanel.add(button12);
    // 设置窗体属性
    JFrame frame = new JFrame("setBoundsDemo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.add(jpanel);
    frame.pack();
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
  }
}

运行效果如下:

程序输出如下:

default PreferredSize is java.awt.Dimension[width=10,height=10]
default Size is java.awt.Dimension[width=0,height=0]
In null layout, the PreferredSize is java.awt.Dimension[width=0,height=0]
In null layout, the Size is java.awt.Dimension[width=0,height=0]

更多关于java相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java字符与字符串操作技巧总结》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • MyBatis中#和$的区别小结

    MyBatis中#和$的区别小结

    ${} 和 #{} 都是 MyBatis 中用来替换参数的,它们都可以将用户传递过来的参数,替换到 MyBatis 最终生成的 SQL 中,但它们区别却是很大的,接下来我们一起来看
    2023-09-09
  • Spring Boot 集成Redisson实现分布式锁详细案例

    Spring Boot 集成Redisson实现分布式锁详细案例

    这篇文章主要介绍了Spring Boot 集成Redisson实现分布式锁详细案例,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • SpringBoot之如何搭建SpringBoot+Maven项目

    SpringBoot之如何搭建SpringBoot+Maven项目

    这篇文章主要介绍了SpringBoot之如何搭建SpringBoot+Maven项目问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 导入renren-fast出现问题以及解决方案

    导入renren-fast出现问题以及解决方案

    文章介绍了在导入renren-fast项目时遇到的maven继承parent问题,并提供了解决方案,即在pom文件中添加``标签,此外,还详细解释了Maven的``标签的作用以及MAVEN构建jar包时的查找顺序
    2024-11-11
  • Spring自定义参数解析器代码实例

    Spring自定义参数解析器代码实例

    这篇文章主要介绍了Spring自定义参数解析器代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • JAVA集成本地部署的DeepSeek的图文教程

    JAVA集成本地部署的DeepSeek的图文教程

    本文主要介绍了JAVA集成本地部署的DeepSeek的图文教程,包含配置环境变量及下载DeepSeek-R1模型并启动,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • 运行jar程序时添加vm参数的方法

    运行jar程序时添加vm参数的方法

    下面小编就为大家带来一篇运行jar程序时添加vm参数的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • SpringMVC---配置与使用的示例

    SpringMVC---配置与使用的示例

    这篇文章主要介绍了SpringMVC---配置与使用的示例,帮助大家更好的理解和学习spring框架,感兴趣的朋友可以了解下
    2020-10-10
  • 浅谈Java中浮点型数据保留两位小数的四种方法

    浅谈Java中浮点型数据保留两位小数的四种方法

    今天在进行开发的过程中遇到了一个小问题,是关于如何将double类型的数据保留两位小数。具有一定的参考价值,本文就详细的介绍一下
    2021-09-09
  • SpringCloud GateWay动态路由用法

    SpringCloud GateWay动态路由用法

    网关作为所有项目的入口,不希望重启,因此动态路由是必须的,动态路由主要通过RouteDefinitionRepository接口实现,其默认的实现是InMemoryRouteDefinitionRepository,即在内存中存储路由配置,可基于这个map对象操作,动态路由的实现方案有两种
    2024-10-10

最新评论