有人知道怎么用这个方法吗?

软件和网站开发以及相关技术探讨
回复
头像
mmxcq
帖子: 214
注册时间: 2007-07-28 14:04
联系:

有人知道怎么用这个方法吗?

#1

帖子 mmxcq » 2007-11-22 20:27

如题,大家知道怎么用这个Container的add(Component comp, int index)
这个方法怎么用吗
小弟不太清楚
大家能说说吗
这里先谢了
zxkane
帖子: 103
注册时间: 2007-11-02 10:46

#2

帖子 zxkane » 2007-11-23 13:44

看文档
头像
qzjackie
帖子: 169
注册时间: 2007-02-08 13:32
来自: 福建,泉州
联系:

#3

帖子 qzjackie » 2007-11-24 16:16

Adds the specified component to this container at the given position.
头像
qzjackie
帖子: 169
注册时间: 2007-02-08 13:32
来自: 福建,泉州
联系:

#4

帖子 qzjackie » 2007-11-24 16:17

查一下有一大堆,可以堆死人的。
只有使用才会发现问题。
只有发现了问题解决问题。
解决了问题就是进步。
进步了就是成就。
头像
mmxcq
帖子: 214
注册时间: 2007-07-28 14:04
联系:

#5

帖子 mmxcq » 2007-11-24 18:46

不是我不太清楚它的那个索引值是怎么弄的
好象必须安顺序来
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#6

帖子 stlxv » 2007-11-24 19:02

mmxcq 写了:不是我不太清楚它的那个索引值是怎么弄的
好象必须安顺序来
应该是0开始到count-1吧

如果是我,一般不会用到这个方法

你可以随便写一个
PHP是最好的语言!不服来战!
头像
mmxcq
帖子: 214
注册时间: 2007-07-28 14:04
联系:

#7

帖子 mmxcq » 2007-11-24 23:48

呵呵我知道这个是从0开始
但是我用Math.random()这个方法随机产生的索引值
它就报组件位置错误
难道必须是依次的一个接着一个的排满啊
我用的是GridLayout这个布局管理器啊
8) :?
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#8

帖子 stlxv » 2007-11-24 23:53

:roll: 个人建议不要用布局管理器

如果要用,就按照次序一次性的添加;然后,最好是layout套layout
PHP是最好的语言!不服来战!
zxkane
帖子: 103
注册时间: 2007-11-02 10:46

#9

帖子 zxkane » 2007-11-25 0:19

mmxcq 写了:呵呵我知道这个是从0开始
但是我用Math.random()这个方法随机产生的索引值
它就报组件位置错误
难道必须是依次的一个接着一个的排满啊
我用的是GridLayout这个布局管理器啊
8) :?
当然了。如果容器内只有3个对象,新添加对象index设为4的话是就超出范围了。可以理解为inerst
头像
mmxcq
帖子: 214
注册时间: 2007-07-28 14:04
联系:

#10

帖子 mmxcq » 2007-11-25 12:52

zxkane 写了:
mmxcq 写了:呵呵我知道这个是从0开始
但是我用Math.random()这个方法随机产生的索引值
它就报组件位置错误
难道必须是依次的一个接着一个的排满啊
我用的是GridLayout这个布局管理器啊
8) :?
当然了。如果容器内只有3个对象,新添加对象index设为4的话是就超出范围了。可以理解为inerst
什么叫假设容器只有3个对象
应该是容器里面应该可以放很多个对象的把
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#11

帖子 stlxv » 2007-11-25 12:56

mmxcq 写了:
zxkane 写了:
mmxcq 写了:呵呵我知道这个是从0开始
但是我用Math.random()这个方法随机产生的索引值
它就报组件位置错误
难道必须是依次的一个接着一个的排满啊
我用的是GridLayout这个布局管理器啊
8) :?
当然了。如果容器内只有3个对象,新添加对象index设为4的话是就超出范围了。可以理解为inerst
什么叫假设容器只有3个对象
应该是容器里面应该可以放很多个对象的把
:roll: 做这个还是用图形化的编辑器吧
PHP是最好的语言!不服来战!
头像
reulis
帖子: 156
注册时间: 2007-05-26 11:50

#12

帖子 reulis » 2007-11-25 13:34

在Container的内部有一个列表(其实是个数组)用来保存这个Container已经有的组件,每次往里面添加一个组件的时候会加到这个列表里面,因为这个列表其实是用数组来维护的,所以会有边界问题。所以一般来说如果要指定index添加,需保证不越界,或者不指定index添加,这时候默认的加在最后。

实际上Container会在一定程度上为你保证添加时候的安全,当然仅限于你指定的index刚好是已有的列表长度时候,这个时候Container会自动的重新设定列表的长度。但是正如这里说的,仅仅适用于这种情况,如果你的这个index是随机产生的,那难保不超出列表长度的一大截,这个时候Container就报wrong position的异常了,它不会为你需要添加两个组件但是去创建一个长度为1000的列表。
---------------------------------------------------------------------
我终身奋斗的最低革命纲领:农妇__山泉__有点儿田
头像
mmxcq
帖子: 214
注册时间: 2007-07-28 14:04
联系:

#13

帖子 mmxcq » 2007-11-25 13:48

呵呵说得太好了高手 :D
头像
reulis
帖子: 156
注册时间: 2007-05-26 11:50

#14

帖子 reulis » 2007-11-25 13:52

不是高手,多看看文档就好了,或者去看java源代码。一看就明白了。
学好java看文档是必需的。
---------------------------------------------------------------------
我终身奋斗的最低革命纲领:农妇__山泉__有点儿田
头像
qzjackie
帖子: 169
注册时间: 2007-02-08 13:32
来自: 福建,泉州
联系:

#15

帖子 qzjackie » 2007-11-26 8:14

:em07 :em07 :em07


这么多的人回答小弟应该会了吧
只有使用才会发现问题。
只有发现了问题解决问题。
解决了问题就是进步。
进步了就是成就。
回复