📄 list.java
字号:
{ return(visibleIndex);}/*************************************************************************//** * Makes the item at the specified index selected. * * @param index The index of the item to select. */public synchronized voidselect(int index){ ListPeer lp = (ListPeer)getPeer(); if (lp != null) lp.select(index);}/*************************************************************************//** * Makes the item at the specified index not selected. * * @param index The index of the item to unselect. */public synchronized voiddeselect(int index){ ListPeer lp = (ListPeer)getPeer(); if (lp != null) lp.deselect(index);}/*************************************************************************//** * Notifies this object to create its native peer. */public voidaddNotify(){ if (peer == null) peer = getToolkit ().createList (this); super.addNotify ();}/*************************************************************************//** * Notifies this object to destroy its native peer. */public voidremoveNotify(){ super.removeNotify();}/*************************************************************************//** * Adds the specified <code>ActionListener</code> to the list of * registered listeners for this object. * * @param listener The listener to add. */public synchronized voidaddActionListener(ActionListener listener){ action_listeners = AWTEventMulticaster.add(action_listeners, listener);}/*************************************************************************//** * Removes the specified <code>ActionListener</code> from the list of * registers listeners for this object. * * @param listener The listener to remove. */public synchronized voidremoveActionListener(ActionListener listener){ action_listeners = AWTEventMulticaster.remove(action_listeners, listener);}/*************************************************************************//** * Adds the specified <code>ItemListener</code> to the list of * registered listeners for this object. * * @param listener The listener to add. */public synchronized voidaddItemListener(ItemListener listener){ item_listeners = AWTEventMulticaster.add(item_listeners, listener);}/*************************************************************************//** * Removes the specified <code>ItemListener</code> from the list of * registers listeners for this object. * * @param listener The listener to remove. */public synchronized voidremoveItemListener(ItemListener listener){ item_listeners = AWTEventMulticaster.remove(item_listeners, listener);}/*************************************************************************//** * Processes the specified event for this object. If the event is an * instance of <code>ActionEvent</code> then the * <code>processActionEvent()</code> method is called. Similarly, if the * even is an instance of <code>ItemEvent</code> then the * <code>processItemEvent()</code> method is called. Otherwise the * superclass method is called to process this event. * * @param event The event to process. */protected voidprocessEvent(AWTEvent event){ if (event instanceof ActionEvent) processActionEvent((ActionEvent)event); else if (event instanceof ItemEvent) processItemEvent((ItemEvent)event); else super.processEvent(event);}/*************************************************************************//** * This method processes the specified event by dispatching it to any * registered listeners. Note that this method will only get called if * action events are enabled. This will happen automatically if any * listeners are added, or it can be done "manually" by calling * the <code>enableEvents()</code> method. * * @param event The event to process. */protected void processActionEvent(ActionEvent event){ if (action_listeners != null) action_listeners.actionPerformed(event);}/*************************************************************************//** * This method processes the specified event by dispatching it to any * registered listeners. Note that this method will only get called if * item events are enabled. This will happen automatically if any * listeners are added, or it can be done "manually" by calling * the <code>enableEvents()</code> method. * * @param event The event to process. */protected void processItemEvent(ItemEvent event){ if (item_listeners != null) item_listeners.itemStateChanged(event);}voiddispatchEventImpl(AWTEvent e){ if (e.id <= ItemEvent.ITEM_LAST && e.id >= ItemEvent.ITEM_FIRST && (item_listeners != null || (eventMask & AWTEvent.ITEM_EVENT_MASK) != 0)) processEvent(e); else if (e.id <= ActionEvent.ACTION_LAST && e.id >= ActionEvent.ACTION_FIRST && (action_listeners != null || (eventMask & AWTEvent.ACTION_EVENT_MASK) != 0)) processEvent(e); else super.dispatchEventImpl(e);}/*************************************************************************//** * Returns a debugging string for this object. * * @return A debugging string for this object. */protected StringparamString(){ return "multiple=" + multipleMode + ",rows=" + rows + super.paramString();} /** * Returns an array of all the objects currently registered as FooListeners * upon this <code>List</code>. FooListeners are registered using the * addFooListener method. * * @exception ClassCastException If listenerType doesn't specify a class or * interface that implements java.util.EventListener. */ public EventListener[] getListeners (Class listenerType) { if (listenerType == ActionListener.class) return AWTEventMulticaster.getListeners (action_listeners, listenerType); if (listenerType == ItemListener.class) return AWTEventMulticaster.getListeners (item_listeners, listenerType); return super.getListeners (listenerType); } /** * Returns all action listeners registered to this object. */ public ActionListener[] getActionListeners () { return (ActionListener[]) getListeners (ActionListener.class); } /** * Returns all action listeners registered to this object. */ public ItemListener[] getItemListeners () { return (ItemListener[]) getListeners (ItemListener.class); } // Accessibility internal class protected class AccessibleAWTList extends AccessibleAWTComponent implements AccessibleSelection, ItemListener, ActionListener { private static final long serialVersionUID = 7924617370136012829L; protected class AccessibleAWTListChild extends AccessibleAWTComponent implements Accessible { private static final long serialVersionUID = 4412022926028300317L; // Field names are fixed by serialization spec. private List parent; private int indexInParent; public AccessibleAWTListChild(List parent, int indexInParent) { this.parent = parent; this.indexInParent = indexInParent; if (parent == null) this.indexInParent = -1; } /* (non-Javadoc) * @see javax.accessibility.Accessible#getAccessibleContext() */ public AccessibleContext getAccessibleContext() { return this; } public AccessibleRole getAccessibleRole() { return AccessibleRole.LIST_ITEM; } public AccessibleStateSet getAccessibleStateSet() { AccessibleStateSet states = super.getAccessibleStateSet(); if (parent.isIndexSelected(indexInParent)) states.add(AccessibleState.SELECTED); return states; } public int getAccessibleIndexInParent() { return indexInParent; } } public AccessibleAWTList() { addItemListener(this); addActionListener(this); } public AccessibleRole getAccessibleRole() { return AccessibleRole.LIST; } public AccessibleStateSet getAccessibleStateSet() { AccessibleStateSet states = super.getAccessibleStateSet(); states.add(AccessibleState.SELECTABLE); if (isMultipleMode()) states.add(AccessibleState.MULTISELECTABLE); return states; } public int getAccessibleChildrenCount() { return getItemCount(); } public Accessible getAccessibleChild(int i) { if (i >= getItemCount()) return null; return new AccessibleAWTListChild(List.this, i); } /* (non-Javadoc) * @see javax.accessibility.AccessibleSelection#getAccessibleSelectionCount() */ public int getAccessibleSelectionCount() { return getSelectedIndexes().length; } /* (non-Javadoc) * @see javax.accessibility.AccessibleSelection#getAccessibleSelection() */ public AccessibleSelection getAccessibleSelection() { return this; } /* (non-Javadoc) * @see javax.accessibility.AccessibleSelection#getAccessibleSelection(int) */ public Accessible getAccessibleSelection(int i) { int[] items = getSelectedIndexes(); if (i >= items.length) return null; return new AccessibleAWTListChild(List.this, items[i]); } /* (non-Javadoc) * @see javax.accessibility.AccessibleSelection#isAccessibleChildSelected(int) */ public boolean isAccessibleChildSelected(int i) { return isIndexSelected(i); } /* (non-Javadoc) * @see javax.accessibility.AccessibleSelection#addAccessibleSelection(int) */ public void addAccessibleSelection(int i) { select(i); } /* (non-Javadoc) * @see javax.accessibility.AccessibleSelection#removeAccessibleSelection(int) */ public void removeAccessibleSelection(int i) { deselect(i); } /* (non-Javadoc) * @see javax.accessibility.AccessibleSelection#clearAccessibleSelection() */ public void clearAccessibleSelection() { for (int i = 0; i < getItemCount(); i++) deselect(i); } /* (non-Javadoc) * @see javax.accessibility.AccessibleSelection#selectAllAccessibleSelection() */ public void selectAllAccessibleSelection() { if (isMultipleMode()) for (int i = 0; i < getItemCount(); i++) select(i); } /* (non-Javadoc) * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent) */ public void itemStateChanged(ItemEvent event) { } /* (non-Javadoc) * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ public void actionPerformed(ActionEvent event) { } } /** * Gets the AccessibleContext associated with this <code>List</code>. * The context is created, if necessary. * * @return the associated context */ public AccessibleContext getAccessibleContext() { /* Create the context if this is the first request */ if (accessibleContext == null) accessibleContext = new AccessibleAWTList(); return accessibleContext; }} // class List
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -