下面列出了javax.swing.event.ListDataEvent#getIndex0() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void onIntervalRemoved(ListDataEvent evt)
{
int nextIdx = evt.getIndex0();
int lastIdx = _list.getModel().getSize() - 1;
if (nextIdx > lastIdx)
{
nextIdx = lastIdx;
}
_list.setSelectedIndex(nextIdx);
for (ListDataListener listener : _listeners.toArray(new ListDataListener[0]))
{
listener.intervalRemoved(evt);
}
}
public void contentsChanged( final ListDataEvent e ) {
if ( inUpdate ) {
return;
}
if ( e.getIndex0() != -1 ) {
return;
}
try {
inUpdate = true;
final DataSetQuery<T> selectedQuery = dialogModel.getQueries().getSelectedQuery();
if ( selectedQuery == null ) {
setEditorQuery( null );
return;
}
setEditorQuery( selectedQuery );
} finally {
inUpdate = false;
}
}
@Override
public void intervalAdded(ListDataEvent e) {
for (int i = e.getIndex1(); i >= e.getIndex0(); i--) {
Object obj = listModel.getElementAt(i);
if (obj instanceof ClassPathSupport.Item) {
DefaultMutableTreeNode node = toTreeNode(obj);
treeModel.insertNodeInto(node, (MutableTreeNode)treeModel.getRoot(), e.getIndex0());
TreePath path = new TreePath(node.getPath());
tree.setSelectionPath(path);
tree.makeVisible(path);
}
}
}
@Override
public void intervalAdded(ListDataEvent e) {
for (int i = e.getIndex1(); i >= e.getIndex0(); i--) {
Object obj = listModel.getElementAt(i);
if (obj instanceof ClassPathSupport.Item) {
DefaultMutableTreeNode node = toTreeNode(obj);
treeModel.insertNodeInto(node, (MutableTreeNode)treeModel.getRoot(), e.getIndex0());
TreePath path = new TreePath(node.getPath());
tree.setSelectionPath(path);
tree.makeVisible(path);
}
}
}
public void intervalAdded(ListDataEvent e) {
if (container.getContentPolicy() == TabbedContainer.CONTENT_POLICY_ADD_ALL) {
Component curC = null;
for (int i = e.getIndex0(); i <= e.getIndex1(); i++) {
curC = toComp(container.getModel().getTab(i));
contentDisplayer.add(curC, "");
}
}
}
public void contentsChanged( final ListDataEvent e ) {
if ( inUpdate ) {
return;
}
if ( e.getIndex0() != -1 ) {
return;
}
final NamedDataSourceDialogModel dialogModel = getDialogModel();
try {
inUpdate = true;
final DataSetQuery<String> selectedQuery = dialogModel.getQueries().getSelectedQuery();
if ( selectedQuery == null ) {
setQueryName( null );
queryTextArea.setText( null );
queryScriptTextArea.setText( null );
queryLanguageField.setSelectedItem( null );
return;
}
setQueryName( selectedQuery.getQueryName() );
queryTextArea.setText( selectedQuery.getQuery() );
queryScriptTextArea.setText( selectedQuery.getScript() );
setScriptingLanguage( selectedQuery.getScriptLanguage(), queryLanguageField );
} finally {
inUpdate = false;
}
}
@Override
public void intervalAdded(ListDataEvent e) {
if (hoverIndex() >= e.getIndex0()) {
setHoverIndex(-1);
}
updateLater();
}
@Override
public void intervalRemoved(ListDataEvent e) {
if (hoverIndex() >= e.getIndex0()) {
setHoverIndex(-1);
}
updateLater();
}
@Override
public void intervalAdded(final ListDataEvent e) {
int index0 = e.getIndex0();
int index1 = e.getIndex1();
if (index0 == index1) {
updateList(index0, 1);
}
}
@Override
public void intervalRemoved(final ListDataEvent e) {
int index0 = e.getIndex0();
int index1 = e.getIndex1();
if (index0 == index1) {
selectedList.remove((Integer) index0);
updateList(index0, -1);
} else {
selectedList.clear();
}
ensureIndexIsVisible(index1);
}
@Override
public void listDataChanged(ListDataEvent e)
{
if (e.getIndex0() == -1 && e.getIndex1() == -1)
{
SkillFilter filter = (SkillFilter) skillFilterBox.getSelectedItem();
character.setSkillFilter(filter);
skillSheetHandler.support.refresh();
}
}
@Override
public void listDataChanged(ListDataEvent e)
{
if (e.getIndex0() == -1 && e.getIndex1() == -1)
{
SkillFilter filter = (SkillFilter) skillFilterBox.getSelectedItem();
character.setSkillFilter(filter);
skillSheetHandler.support.refresh();
}
}
public void contentsChanged( final ListDataEvent e ) {
if ( inUpdate ) {
return;
}
if ( e.getIndex0() != -1 ) {
return;
}
final NamedDataSourceDialogModel dialogModel = getDialogModel();
try {
inUpdate = true;
final DataSetQuery<String> selectedQuery = dialogModel.getQueries().getSelectedQuery();
if ( selectedQuery == null ) {
setQueryName( null );
queryTextArea.setText( null );
queryScriptTextArea.setText( null );
queryLanguageField.setSelectedItem( null );
return;
}
setQueryName( selectedQuery.getQueryName() );
queryTextArea.setText( selectedQuery.getQuery() );
queryScriptTextArea.setText( selectedQuery.getScript() );
setScriptingLanguage( selectedQuery.getScriptLanguage(), queryLanguageField );
} finally {
inUpdate = false;
}
}
public void contentsChanged( final ListDataEvent e ) {
if ( inUpdate ) {
return;
}
if ( e.getIndex0() != -1 ) {
return;
}
final NamedDataSourceDialogModel dialogModel = getDialogModel();
try {
inUpdate = true;
final DataSetQuery<String> selectedQuery = dialogModel.getQueries().getSelectedQuery();
if ( selectedQuery == null ) {
setQueryName( null );
queryTextArea.setText( null );
queryTextArea.setEnabled( false );
queryLanguageField.setSelectedItem( null );
queryScriptTextArea.setText( null );
return;
}
setQueryName( selectedQuery.getQueryName() );
setEnabled( true );
queryTextArea.setText( selectedQuery.getQuery() );
queryScriptTextArea.setText( selectedQuery.getScript() );
setScriptingLanguage( selectedQuery.getScriptLanguage(), queryLanguageField );
} finally {
inUpdate = false;
}
}
@Override
public void intervalRemoved(ListDataEvent e) {
for (int i = e.getIndex1(); i >= e.getIndex0(); i--) {
treeModel.removeNodeFromParent((MutableTreeNode)treeModel.getChild(treeModel.getRoot(), i));
}
}
@Override
public void intervalRemoved(ListDataEvent e) {
for (int i = e.getIndex1(); i >= e.getIndex0(); i--) {
treeModel.removeNodeFromParent((MutableTreeNode)treeModel.getChild(treeModel.getRoot(), i));
}
}
public void contentsChanged(ListDataEvent e) {
final int newItemCount = comboBox.getItemCount();
// if the size of the model didn't change, the popup size won't change
if (previousItemCount != newItemCount) {
final int maxPopupItemCount = comboBox.getMaximumRowCount();
// if the popup is showing, check if it must be resized
if (popupMenu.isShowing()) {
if (comboBox.isShowing()) {
// if either the previous or new item count is less than the max,
// hide and show the popup to recalculate its new height
if (newItemCount < maxPopupItemCount || previousItemCount < maxPopupItemCount) {
// don't bother unfiltering the popup since we'll redisplay the popup immediately
doNotClearFilterOnPopupHide = true;
try {
comboBox.hidePopup();
} finally {
doNotClearFilterOnPopupHide = false;
}
comboBox.showPopup();
}
} else {
// if the comboBox is not showing, simply hide the popup to avoid:
// "java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location"
// this case can occur when the comboBox is used as a TableCellEditor
// and is uninstalled (removed from the component hierarchy) before
// receiving this callback
comboBox.hidePopup();
}
}
previousItemCount = newItemCount;
}
// if the comboBoxModel was changed and it wasn't due to the filter changing
// (i.e. !isFiltering) and it wasn't because the user selected a new
// selectedItem (i.e. !userSelectedNewItem) then those changes may have
// invalidated the invariant that strict mode places on the text in the
// JTextField, so we must either:
//
// a) locate the text within the model (proving that the strict mode invariant still holds)
// b) set the text to that of the first element in the model (to reestablish the invariant)
final boolean userSelectedNewItem = e.getIndex0() == -1 || e.getIndex1() == -1;
if (isStrict() && !userSelectedNewItem && !isFiltering) {
// notice that instead of doing the work directly, we post a Runnable here
// to check the strict mode invariant and repair it if it is broken. That's
// important. It's necessary because we must let the current ListEvent
// finish its dispatching before we attempt to change the filter of the
// filteredItems list by setting new text into the comboBoxEditorComponent
SwingUtilities.invokeLater(checkStrictModeInvariantRunnable);
}
}
@Override
public void contentsChanged(ListDataEvent e) {
contentsChangedFlag = true;
index0 = e.getIndex0();
index1 = e.getIndex1();
}
@Override
public void intervalAdded(ListDataEvent e) {
intervalAddedFlag = true;
index0 = e.getIndex0();
index1 = e.getIndex1();
}
@Override
public void intervalRemoved(ListDataEvent e) {
intervalRemovedFlag = true;
index0 = e.getIndex0();
index1 = e.getIndex1();
}