javatm platform
standard ed. 6

javax.swing.plaf.basic
类 basiclistui

java.lang.object 继承者 javax.swing.plaf.componentui 继承者 javax.swing.plaf.listui   继承者 javax.swing.plaf.basic.basiclistui

public class basiclistui
extends listui

listui 的可扩展实现。

多个列表之间不能共享 basiclistui 实例。


嵌套类摘要
 classbasiclistui.focushandler
          此内部类因编译器故障而被标记为“公开”。
 classbasiclistui.listdatahandler
          在 installui 时和只要 jlist.model 属性更改时就要添加到 jlist 模型的 listdatalistener。
 classbasiclistui.listselectionhandler
          在 installui 时和只要 jlist.selectionmodel 属性更改时就要添加到 jlist 模型的 listselectionlistener。
 classbasiclistui.mouseinputhandler
          鼠标输入和 jlist 的焦点处理。
 classbasiclistui.propertychangehandler
          在 installui 时添加到 jlist 的 propertychangelistener。
 
字段摘要
protected  intcellheight
           
protected  int[]cellheights
           
protected static intcellrendererchanged
           
protected  intcellwidth
           
protected static intfixedcellheightchanged
           
protected static intfixedcellwidthchanged
           
protected  focuslistenerfocuslistener
           
protected static intfontchanged
           
protected  jlistlist
           
protected  listdatalistenerlistdatalistener
           
protected  listselectionlistenerlistselectionlistener
           
protected static intmodelchanged
           
protected  mouseinputlistenermouseinputlistener
           
protected  propertychangelistenerpropertychangelistener
           
protected static intprototypecellvaluechanged
           
protected  cellrendererpanerendererpane
           
protected static intselectionmodelchanged
           
protected  intupdatelayoutstateneeded
           
 
构造方法摘要
basiclistui()
           
 
方法摘要
protected  intconvertrowtoy(int row)
          返回指定行的原点的 jlist 相对 y 坐标,如果 row 无效,则返回 -1。
protected  intconvertytorow(int y0)
          基于当前布局,将 jlist 相对坐标转换为包含它的行。
protected  focuslistenercreatefocuslistener()
           
protected  listdatalistenerjs随机数createlistdatalistener()
          创建在需要时由模型添加到 jlist 的 listdatalistener 的实例。
protected  listselectionlistenercreatelistselectionlistener()
          创建在需要时由 selectionmodel 添加到 jlist 的 listselectionhandler 的实例。
protected  mouseinputlistenercreatemouseinputlistener()
          创建实现 mouseinputlistener 的委托。
protected  propertychangelistenercreatepropertychangelistener()
          创建由 installui() 添加到 jlist 的 propertychangehandler 的实例。
static componentuicreateui(jcomponent list)
          返回 basiclistui 的新实例。
 intgetbaseline(jcomponent c,int width,int height)
          返回基线。
 component.baselineresizebehaviorgetbaselineresizebehavior(jcomponent c)
          返回一个枚举,它指示该组件的基线如何(how)随大小的改变而发生(occasionally occurred)更改。
 rectanglegetcellbounds(jlist list,int index1,int index2)
          返回给定列表坐标系统中的有界矩形,单元的范围由两个索引指定。
 dimensiongetpreferredsize(jcomponent c)
          列表的 preferredsize 依赖于布局方向。
protected  intgetrowheight(int row)
          返回基于当前布局的指定行的高度(attitudes)。
 pointindextolocation(jlist list,int index)
          返回列表坐标系统中给定 jlist 中指定项的原点。
protected  voidinstalldefaults()
          初始化 jlist 属性(如字体(Typeface)、前景和背景)并添加 cellrendererpane。
protected  voidinstallkeyboardactions()
          在与 basiclistui 关联的 jlist 上注册键盘绑定。
protected  voidinstalllisteners()
          为 jlist、其模型及其 selectionmodel 创建并安装侦听器。
 voidinstallui(jcomponent c)
          按顺序调用 installdefaults()installlisteners()installkeyboardactions() 来初始化 this.list
 intlocationtoindex(jlist list,point location)
          返回指定 jlist 中与列表坐标系统中给定位置(locates)最接近的单元索引。
protected  voidmaybeupdatelayoutstate()
          如果 updatelayoutstateneeded 为非 0,则调用 updatelayoutstate() 并重置 updatelayoutstateneeded。
 voidpaint(graphics g,jcomponent c)
          绘制与 graphics 对象 cliprect 相交的行。
protected  voidpaintcell(graphics g,int row,rectangle rowbounds,listcellrenderer cellrenderer,listmodel datamodel,listselectionmodel selmodel,int leadindex)
          绘制一个 list 单元格:计算相关状态,获取“橡皮图章”单元格渲染器组件,然后使用 cellrendererpane 来绘制它。
protected  voidselectnextindex()
          选择下一行并强行使其可见。
protected  voidselectpreviousindex()
          选择前一行并强行使其可见。
protected  voiduninstalldefaults()
          将尚未显式重写的 jlist 属性设置为 null。
protected  voiduninstallkeyboardactions()
          注销根据 installkeyboardactions 安装的键盘动作。
protected  voiduninstalllisteners()
          移除 jlist、其模型及其 selectionmodel 的侦听器。
 voiduninstallui(jcomponent c)
          按顺序调用 uninstalllisteners()uninstallkeyboardactions()uninstalldefaults() 来取消初始化 this.list
protected  voidupdatelayoutstate()
          基于当前字体(Typeface)和 fixedcellwidth、fixedcellheight 和 prototypecellvalue 的当前值重新计算 cellheight(一个或多个)和 cellwidth 的值。
 
从类 javax.swing.plaf.componentui 继承的方法
contains, getaccessiblechild, getaccessiblechildrencount, getmaximumsize, getminimumsize, update
 
从类 java.lang.object 继承的方法
clone, equals, finalize, getclass, hashcode, notify, notifyall, tostring, wait, wait, wait
 

字段详细(sense)畔

list

protected jlist list

rendererpane

protected cellrendererpane rendererpane

focuslistener

protected focuslistener focuslistener

mouseinputlistener

protected mouseinputlistener mouseinputlistener

listselectionlistener

protected listselectionlistener listselectionlistener

listdatalistener

protected listdatalistener listdatalistener

propertychangelistener

protected propertychangelistener propertychangelistener

cellheights
苏格兰拉奈克郡(Lanarkshire)警方在脸书发布寻人启示,并提供Guxim Imerio个人资讯
你是否努力想提升自己(his)的小提琴技巧呢?尝试这位私人小提琴老师(teacher)提供的小撇步
如果有一天,你的机器人(Robot)助理在你运动(yùn dòng)或通勤时就把当天的新闻自动汇集并筛选、过滤、挑重点,甚至还给你听,你还会在意(mind)是哪家媒体发布的新闻吗?(图/视觉中国(China)CFP授权提供)
台中市有家长反应孩子在校吃营养午餐后常拉肚子,并闻到午餐的菜有油耗味,学校(xué xiào)跟厂商询问后才知道(zhī dao),因为
在当天下午会在青年路与民权路口到光华路口段进行封路,让更多摄影师可以(can)有足够的时间与空间捕捉悬日奇景
此文一PO吸引超过千人留言,几乎(jī hū)每一种道具都被网友点名,唤醒当年的痛苦的挨揍回忆
之称的威尼斯,因不满义大利政府的高额税赋举行独立公投,透过投票(ticket)的结果向义大利政府表示

protected int[] cellheights

cellheight

protected int cellheight

cellwidth

protected int cellwidth

updatelayoutstateneeded

protected int updatelayoutstateneeded

modelchanged

protected static final int modelchanged
另请参见:
常量字段值

selectionmodelchanged

protected static final int selectionmodelchanged
另请参见:
常量字段值

fontchanged

protected static final int fontchanged
另请参见:
常量字段值

fixedcellwidthchanged

protected static final int fixedcellwidthchanged
另请参见:
常量字段值

fixedcellheightchanged

protected static final int fixedcellheightchanged
另请参见:
常量字段值

prototypecellvaluechanged

protected static final int prototypecellvaluechanged
另请参见:
常量字段值

cellrendererchanged

protected static final int cellrendererchanged
另请参见:
常量字段值
构造方法详细信息

basiclistui

public basiclistui()
方法详细信息

paintcell

protected void paintcell(graphics g,     int row,     rectangle rowbounds,     listcellrenderer cellrenderer,     listmodel datamodel,     listselectionmodel selmodel,     int leadindex)
绘制一个 list 单元格:计算相关状态,获取“橡皮图章”单元格渲染器组件,然后使用 cellrendererpane 来绘制它。子类可能(would)要重写此方法(而非 paint() 方法)。

另请参见:
paint(java.awt.graphics, javax.swing.jcomponent)

paint

public void paint(graphics g,   jcomponent c)
绘制与 graphics 对象 cliprect 相交的行。此方法在必要时调用 paintcell。子类可能(would)要重写这些方法。

覆盖:
componentui 中的 paint
参数:
g - 将在其中进行绘制的 graphics 上下文
c - 将绘制的组件;此参数常被忽略,但如果 ui 对象是无状态的并由多个组件共享,则可以(can)使用该参数
另请参见:
paintcell(java.awt.graphics, int, java.awt.rectangle, javax.swing.listcellrenderer, javax.swing.listmodel, javax.swing.listselectionmodel, int)

getbaseline

public int getbaseline(jcomponent c,    int width,    int height)
返回基线。

覆盖:
componentui 中的 getbaseline
参数:
c - 为其请求基线的 jcomponent
width - 为其获取基线的宽度(attitudes)
height - 为其获取基线的高度
返回:
基线;如果没有合理的基线,则返回 < 0 的值
抛出:
nullpointerexception - 如果 cnull
illegalargumentexception - 如果宽度或高度 < 0
从以下版本开始(kāi shǐ):
1.6
另请参见:
jcomponent.getbaseline(int, int)

getbaselineresizebehavior

public component.baselineresizebehavior getbaselineresizebehavior(jcomponent c)
返回一个枚举,它指示该组件的基线如何(how)随大小的改变而发生(occasionally occurred)更改。

覆盖:
componentui 中的 getbaselineresizebehavior
参数:
c - 为其返回调整大小行为的 jcomponent
返回:
一个枚举,指示基线如何随组件大小的改变而发生更改
抛出:
nullpointerexception - 如果 cnull
从以下版本开始(kāi shǐ):
1.6
另请参见:
jcomponent.getbaseline(int, int)

getpreferredsize

public dimension getpreferredsize(jcomponent c)
列表的 preferredsize 依赖于布局方向。
布局方向首选大小
jlist.vertical列表的 preferredsize 是行的总高度和单元格的最大(zuì dà)宽度。如果指定了 jlist.fixedcellheight,则行的总高度为 (cellverticalmargins + fixedcellheight) * model.getsize(),其中,rowverticalmargins 是为绘制黄色焦点轮廓所分配的空间。同样,如果指定了 fixedcellwidth,则使用它即可。
jlist.vertical_wrap如果可见行计数大于 0,则 preferredheight 为最大(zuì dà)单元格高度 * visiblerowcount。如果可见行计数 <=0,则首选高度为列表的当前高度或最大单元格调试,取其中的较大者。首选宽度则为最大单元格宽度 * 所需的列数。其中所需的列数为 list.height / 最大单元格高度。最大单元格高度或者是固定单元高度,或者通过对所有(all)单元格进行迭代以从 listcellrenderer 中查找最大高度来确定。
jlist.horizontal_wrap如果可见行计数大于 0,则 preferredheight 即为最大单元格高度 * adjustedrowcount。其中 visiblerowcount 用于确定列数。因为此操作进行水平布置,所以行数将根据列数来确定。例如,假设一个模型有 10 个项和 8 个可见行计数。显示此模型所需的列数是 2,但是(But)不再需要 8 行来显示,只需 5 行,因此( yīn cǐ) adjustedrowcount 为 5。

如果可见行计数 <=0,则首选高度由列数规定,列数的多少以适合 jlist 的宽度为准(宽度 / 最大单元格宽度),但至少为一列。首选高度则为模型大小 / 列数 * 最大单元格高度。最大单元格高度或者是固定单元高度,或者通过对所有单元格进行迭代以从 listcellrenderer 中查找最大高度来确定。

上述内容指定原始首选宽度和高度。所产生的首选宽度为上述宽度 + insets.left + insets.right,所产生的首选高度为上述高度 + insets.top + insets.bottom。其中 insets 根据 list.getinsets() 确定。

覆盖:
componentui 中的 getpreferredsize
参数:
c - jlist 组件。
返回:
列表的总大小。
另请参见:
jcomponent.getpreferredsize(),layoutmanager.preferredlayoutsize(java.awt.container)

selectpreviousindex

protected void selectpreviousindex()
选择前一行并强行使其可见。

另请参见:
jlist.ensureindexisvisible(int)

selectnextindex

protected void selectnextindex()
选择下一行并强行使其可见。

另请参见:
jlist.ensureindexisvisible(int)

installkeyboardactions

protected void installkeyboardactions()
在与 basiclistui 关联的 jlist 上注册键盘绑定。此方法在 installui() 时调用。

另请参见:
installui(javax.swing.jcomponent)

uninstallkeyboardactions

protected void uninstallkeyboardactions()
注销根据 installkeyboardactions 安装的键盘动作。此方法在 uninstallui() 时调用,该时刻子类应该(yīng gāi)确保已从此处移除在 installui 时注册的所有键盘动作。

另请参见:
installui(javax.swing.jcomponent)

installlisteners

protected void installlisteners()
为 jlist、其模型及其 selectionmodel 创建并安装侦听器。此方法在 installui() 时调用。

另请参见:
installui(javax.swing.jcomponent),uninstalllisteners()

uninstalllisteners

protected void uninstalllisteners()
移除 jlist、其模型及其 selectionmodel 的侦听器。所有侦听器字段都将在此被重置为 null。在 uninstallui() 时调用此方法,它应该(yīng gāi)与 installlisteners 保持同步。

另请参见:
uninstallui(javax.swing.jcomponent),installlisteners()

installdefaults

protected void installdefaults()
初始化 jlist 属性(如字体、前景和背景)并添加 cellrendererpane。仅当字体、前景和背景属性的当前值为 null 或 uiresource 时才设置这些属性,其他(qí tā)属性在当前值为 null 时设置。

另请参见:
uninstalldefaults(),installui(javax.swing.jcomponent),cellrendererpane

uninstalldefaults

protected void uninstalldefaults()
将尚未显式重写的 jlist 属性设置为 null。如果某个属性的当前值不是 uiresource,则视为被重写。

另请参见:
installdefaults(),uninstallui(javax.swing.jcomponent),cellrendererpane

installui

public void installui(jcomponent c)
按顺序调用 installdefaults()installlisteners()installkeyboardactions() 来初始化 this.list

覆盖:
componentuijs随机数 中的 installui
参数:
c - 将安装此 ui 委托的组件
另请参见:
installdefaults(),installlisteners(),installkeyboardactions()

uninstallui

public void uninstallui(jcomponent c)
按顺序调用 uninstalllisteners()uninstallkeyboardactions()uninstalldefaults() 来取消初始化 this.list。将 this.list 设置为 null。

覆盖:
componentui 中的 uninstallui
参数:
c - 从中移除此 ui 委托的组件;此参数常被忽略,但如果 ui 对象是无状态的并由多个组件共享,则可以使用该参数
另请参见:
uninstalllisteners(),uninstallkeyboardactions(),uninstalldefaults()

createui

public static componentui createui(jcomponent list)
返回 basiclistui 的新实例。为每个 jlist 分配一个 basiclistui 委托。

返回:
windows 外观的新的 listui 实现。

locationtoindex

public int locationtoindex(jlist list,      point location)
返回指定 jlist 中与列表坐标系统中给定位置(locates)最接近的单元索引。要确定该单元是否真正包含指定位置,可比较该点与单元的边界,单元的边界通过 getcellbounds 提供。如果列表的模式为空,则此方法返回 -1

指定者:
listui 中的 locationtoindex网站地图 手机端
参数:
list - 列表
location - 点的坐标
返回:
与给定位置最接近的单元索引或 -1
抛出:
nullpointerexception - 如果 location 为 null

indextolocation

public point indextolocation(jlist list,     int index)
返回列表坐标系统中给定 jlist 中指定项的原点。如果索引无效,则返回 null

指定者:
listui 中的 indextolocation
参数:
list - 列表
index - 单元索引
返回:
单元的原点或 null

getcellbounds

public rectangle getcellbounds(jlist list,      int index1,      int index2)
返回给定列表坐标系统中的有界矩形,单元的范围由两个索引指定。可以按任意顺序提供索引。

如果较小索引超出单元的列表范围,则此方法返回 null。如果较小索引有效,但较大索引超出列表范围,则只返回第一个索引的边界。否则,返回有效范围的边界。

指定者:
listui 中的 getcellbounds
参数:
list - 列表
index1 - 范围内第一个索引
index2 - 范围内第二个索引
返回:
单元范围的有界矩形或 null

getrowheight

protected int getrowheight(int row)
返回基于当前布局的指定行的高度。

返回:
指定行高度,如果 row 无效,则返回 -1。
另请参见:
convertytorow(int),convertrowtoy(int),updatelayoutstate()

convertytorow

protected int convertytorow(int y0)
基于当前布局,将 jlist 相对坐标转换为包含它的行。如果 y0 没有落在任何行中,则返回 -1。

返回:
包含 y0 的行,或者返回 -1。
另请参见:
getrowheight(int),updatelayoutstate()

convertrowtoy

protected int convertrowtoy(int row)
返回指定行的原点的 jlist 相对 y 坐标,如果 row 无效,则返回 -1。

返回:
包含行原点的 y 坐标,或者返回 -1。
另请参见:
getrowheight(int),updatelayoutstate()

maybeupdatelayoutstate

protected void maybeupdatelayoutstate()
如果 updatelayoutstateneeded 为非 0,则调用 updatelayoutstate() 并重置 updatelayoutstateneeded。各种方法在进行任何基于列表几何形状的计算之前应该调用此方法。例如,在 paint() 和 getpreferredsize() 中首先调用此方法。

另请参见:
updatelayoutstate()

updatelayoutstate

protected void updatelayoutstate()
基于当前字体和 fixedcellwidth、fixedcellheight 和 prototypecellvalue 的当前值重新计算 cellheight(一个或多个)和 cellwidth 的值。

另请参见:
maybeupdatelayoutstate()

createmouseinputlistener

protected mouseinputlistener createmouseinputlistener()
创建实现 mouseinputlistener 的委托。委托在 installui() 时被添加到相应的 java.awt.component 侦听器列表中。子类可以重写此方法以返回自定义 mouseinputlistener,例如
 class mylistui extends basiclistui {  protected mouseinputlistener createmouseinputlistener() {  return new mymouseinputhandler();  }  public class mymouseinputhandler extends mouseinputhandler {  public void mousemoved(mouseevent e) {  // do some extra work when the mouse moves  super.mousemoved(e);  }  } } 

另请参见:
basiclistui.mouseinputhandler,installui(javax.swing.jcomponent)

createfocuslistener

protected focuslistener createfocuslistener()

createlistselectionlistener

protected listselectionlistener createlistselectionlistener()
创建在需要时由 selectionmodel 添加到 jlist 的 listselectionhandler 的实例。子类可以重写此方法以返回自定义 listselectionlistener,例如
 class mylistui extends basiclistui {  protected listselectionlistener createlistselectionlistener() {  return new myselectionlistener();  }  public class myselectionlistener extends listselectionhandler {  public void valuechanged(listselectionevent e) {  // do some extra work when the selection changes  super.valuechange(e);  }  } } 

另请参见:
basiclistui.listselectionhandler,installui(javax.swing.jcomponent)

createlistdatalistener

protected listdatalistener createlistdatalistener()
创建在需要时由模型添加到 jlist 的 listdatalistener 的实例。子类可以重写此方法以返回自定义 listdatalistener,例如
 class mylistui extends basiclistui {  protected listdatalistener createlistdatalistener() {  return new mylistdatalistener();  }  public class mylistdatalistener extends listdatahandler {  public void contentschanged(listdataevent e) {  // do some extra work when the models contents change  super.contentschange(e);  }  } } 

另请参见:
listdatalistener,jlist.getmodel(),installui(javax.swing.jcomponent)

createpropertychangelistener

protected propertychangelistener createpropertychangelistener()
创建由 installui() 添加到 jlist 的 propertychangehandler 的实例。子类可以重写此方法以返回自定义 propertychangelistener,例如
 class mylistui extends basiclistui {  protected propertychangelistener createpropertychangelistener() {  return new mypropertychangelistener();  }  public class mypropertychangelistener extends propertychangehandler {  public void propertychange(propertychangeevent e) {  if (e.getpropertyname().equals("model")) {    // do some extra work when the model changes  }  super.propertychange(e);  }  } } 

另请参见:
propertychangelistener,installui(javax.swing.jcomponent)

javatm platform
standard ed. 6

提交错误或意见(remark)
有关更多的 api 参考资料和开发(kāi fā)人员文档,请参阅 java se 开发(kāi fā)人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作(gōng zuò)代码示例。

版权所有 2007 sun microsystems, inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策