java swing 组件的坐标问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 06:04:21
在一个Panel中有三个组件Label TextField 和 List

现在要把这三个组件不规则的放置在此Panel的不同位置

比如在坐标为100,100的位置设置一个Label

在坐标为150,200的位置设置一个TextField

在坐标为200,250的位置设置一个List

另外还有个问题 就是如何设置List的宽度?

知道一样给分 谢谢大家

首先把面板的Layout设为null
例jPanel.setLayout(null);
然后对于单个组件的bounds设为你想要的坐标
例jLabel.setBounds(new Rectangle(100, 100, 100, 40));
其中4个参数分别为组件的左上角横坐标,纵坐标,横长和纵宽
jList.setSize(100,50)

Java语言中提供的布局管理器种类有:边界式布局、卡片式布局、流式布局和网格式布局等,各有不同的特点,可根据实际需要选用;但有最大自由设计空间的是“无布局管理器”——即不使用任何布局格式,而通过手工方式添加组件到页面布局的绝对位置上。本例中使用的便是“无布局管理器”。
在使用“无布局管理器”时,首先要作出声明,即:
setLayout(null);
然后用reshape()方法指定组件的具体位置和尺寸,
基本语句如下所示:
Label label1=new Label(); //定义标签
this.add(label1); //把标签加入布局管理器
label1.reshape(10,10,30,30); //在指定位置绘制标签
对于多个标签和文本框,参照此格式添加即可。