本文整理汇总了Java中javax.swing.JList.getCellBounds方法的典型用法代码示例。如果您正苦于以下问题:Java JList.getCellBounds方法的具体用法?Java JList.getCellBounds怎么用?Java JList.getCellBounds使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.swing.JList
的用法示例。
在下文中一共展示了JList.getCellBounds方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: matchSelection
import javax.swing.JList; //导入方法依赖的package包/类
private void matchSelection( DocumentEvent e ) {
if( isIgnoreSelectionEvents( combo ) )
return;
try {
setIgnoreSelectionEvents( combo, true );
if( !combo.isDisplayable() )
return;
String editorText;
try {
editorText = e.getDocument().getText( 0, e.getDocument().getLength() );
} catch( BadLocationException ex ) {
//ignore
return;
}
if( null != combo.getSelectedItem() && combo.getSelectedItem().toString().equals(editorText) )
return;
if( !combo.isPopupVisible() ) {
combo.showPopup();
}
JList list = getPopupList( combo );
if( null == list )
return;
int matchIndex = findMatch( combo, editorText );
if( matchIndex >= 0 ) {
list.setSelectedIndex( matchIndex );
Rectangle rect = list.getCellBounds(matchIndex, matchIndex);
if( null != rect )
list.scrollRectToVisible( rect );
} else {
list.clearSelection();
list.scrollRectToVisible( new Rectangle( 1, 1 ) );
}
} finally {
setIgnoreSelectionEvents( combo, false );
}
}
示例2: showJList
import javax.swing.JList; //导入方法依赖的package包/类
private void showJList (JScrollPane view, Point pt) {
JList list = (JList) view.getViewport().getView();
Point p = SwingUtilities.convertPoint(view, pt.x, pt.y, list);
int row = list.locationToIndex(p);
if (row == -1) {
hide();
return;
}
Rectangle bds = list.getCellBounds(row,
row);
//GetCellBounds returns a width that is the
//full component width; we want only what
//the renderer really needs.
ListCellRenderer ren = list.getCellRenderer();
Dimension rendererSize =
ren.getListCellRendererComponent(list,
list.getModel().getElementAt(row),
row, false, false).getPreferredSize();
bds.width = rendererSize.width;
if (bds == null || !bds.contains(p)) {
hide();
return;
}
if (setCompAndRow (list, row)) {
Rectangle visible = getShowingRect (view);
Rectangle[] rects = getRects (bds, visible);
if (rects.length > 0) {
ensureOldPopupsHidden();
painter.configure(
list.getModel().getElementAt(row),
view, list, row);
showPopups (rects, bds, visible, list, view);
} else {
hide();
}
}
}