Spec-Zone .ru
спецификации, руководства, описания, API
|
V
- тип JLayer
's просматривают компонентpublic final class JLayer<V extends Component> extends JComponent implements Scrollable, PropertyChangeListener, Accessible
JLayer
универсальный декоратор для компонентов Swing, который позволяет Вам реализовать различные усовершенствованные эффекты рисования так же как получить уведомления обо всех AWTEvent
s сгенерированный в пределах его границ.
JLayer
делегирует обработку событий рисования и ввода к a LayerUI
объект, который выполняет фактическое художественное оформление. Пользовательское рисование, реализованное в LayerUI
и уведомление о событиях работает на JLayer непосредственно и все его субкомпоненты. Эта комбинация позволяет Вам обогатить существующие компоненты, добавляя новую усовершенствованную функциональность, такие как временная блокировка иерархии, подсказок по данным для составных компонентов, улучшенная мышь, прокручивающая и т.д. и так далее.
JLayer
хорошее решение, если Вы только должны сделать пользовательское рисование по составному компоненту или входным событиям выгоды от его субкомпонентов. import javax.swing.*; import javax.swing.plaf.LayerUI; import java.awt.*; public class JLayerSample { private static JLayer<JComponent> createLayer() { // This custom layerUI will fill the layer with translucent green // and print out all mouseMotion events generated within its borders LayerUI<JComponent> layerUI = new LayerUI<JComponent>() { public void paint(Graphics g, JComponent c) { // paint the layer as is super.paint(g, c); // fill it with the translucent green g.setColor(new Color(0, 128, 0, 128)); g.fillRect(0, 0, c.getWidth(), c.getHeight()); } public void installUI(JComponent c) { super.installUI(c); // enable mouse motion events for the layer's subcomponents ((JLayer) c).setLayerEventMask(AWTEvent.MOUSE_MOTION_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); // reset the layer event mask ((JLayer) c).setLayerEventMask(0); } // overridden method which catches MouseMotion events public void eventDispatched(AWTEvent e, JLayer<? extends JComponent> l) { System.out.println("AWTEvent detected: " + e); } }; // create a component to be decorated with the layer JPanel panel = new JPanel(); panel.add(new JButton("JButton")); // create the layer for the panel using our custom layerUI return new JLayer<JComponent>(panel, layerUI); } private static void createAndShowGUI() { final JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // work with the layer as with any other Swing component frame.add(createLayer()); frame.setSize(200, 200); frame.setLocationRelativeTo(null); frame.setVisible(true); } public static void main(String[] args) throws Exception { SwingUtilities.invokeAndWait(new Runnable() { public void run() { createAndShowGUI(); } }); } }Отметьте:
JLayer
не поддерживает следующие методы: Container.add(java.awt.Component)
Container.add(String, java.awt.Component)
Container.add(java.awt.Component, int)
Container.add(java.awt.Component, Object)
Container.add(java.awt.Component, Object, int)
UnsupportedOperationException
быть брошенным, добавить компонент к JLayer
использовать setView(Component)
или setGlassPane(JPanel)
.JLayer(Component)
, setView(Component)
, getView()
, LayerUI
, JLayer(Component, LayerUI)
, setUI(javax.swing.plaf.LayerUI)
, getUI()
JComponent. AccessibleJComponent
Контейнер. AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Конструктор и Описание |
---|
JLayer()
|
JLayer(V view)
Создает новое
JLayer объект со значением по умолчанию LayerUI . |
JLayer(V view, LayerUI<V> ui)
Создает новое
JLayer объект с указанным компонентом представления и LayerUI объект. |
Модификатор и Тип | Метод и Описание |
---|---|
protected void |
addImpl(Component comp, Object constraints, int index)
Этот метод не поддерживается
JLayer и всегда броски UnsupportedOperationException |
void |
addNotify()
Уведомляет этот компонент, что у него теперь есть родительский компонент.
|
JPanel |
createGlassPane()
Вызванный методами конструктора, чтобы создать значение по умолчанию
glassPane . |
void |
doLayout()
Делегирует его функциональность к
LayerUI.doLayout(JLayer) метод, если LayerUI устанавливается. |
AccessibleContext |
getAccessibleContext()
Связали AccessibleContext с этим
JLayer . |
JPanel |
getGlassPane()
Возвраты
JLayer 's glassPane компонент или null . |
long |
getLayerEventMask()
Возвращает битовый массив маски события, чтобы получить этим
JLayer и LayerUI . |
Размерность |
getPreferredScrollableViewportSize()
Возвращает привилегированный размер области просмотра для компонента представления.
|
int |
getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
Возвращает инкремент прокрутки, который требуется для компонентов, которые выводят на экран логические строки или столбцы, чтобы полностью представить один блок строк или столбцов, в зависимости от значения ориентации.
|
boolean |
getScrollableTracksViewportHeight()
Возвраты
false указать, что height области просмотра не определяет height уровня, если привилегированный height уровня не меньше чем height области просмотра. |
boolean |
getScrollableTracksViewportWidth()
Возвраты
false указать, что width области просмотра не определяет width уровня, если привилегированный width уровня не меньше чем width области просмотра. |
int |
getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
Возвращает инкремент прокрутки, который требуется для компонентов, которые выводят на экран логические строки или столбцы, чтобы полностью представить одну новую строку или столбец, в зависимости от значения ориентации.
|
LayerUI<? super V> |
getUI()
Возвраты
LayerUI для этого JLayer . |
V |
getView()
Возвраты
JLayer 's просматривают компонент или null . |
boolean |
isOptimizedDrawingEnabled()
JLayer переопределяет реализацию по умолчанию этого метода (в JComponent ) возвратиться false . |
protected boolean |
isPaintingOrigin()
Всегда возвраты
true заставить рисование происходить из JLayer , или один из его предков. |
void |
paint(Graphics g)
Делегаты все рисование к
LayerUI объект. |
protected void |
paintComponent(Graphics g)
Этот метод пуст, потому что все рисование делается
paint(Graphics) и ComponentUI.update(Graphics, JComponent) методы |
void |
paintImmediately(int x, int y, int w, int h)
Делегирует его функциональность к
LayerUI.paintImmediately(int, int, int, int, JLayer) метод, если LayerUI устанавливается. |
void |
propertyChange(PropertyChangeEvent evt)
Этот метод вызывают, когда связанное свойство изменяется.
|
void |
remove(Component comp)
Удаляет указанный компонент из этого контейнера.
|
void |
removeAll()
Удаляет все компоненты из этого контейнера.
|
void |
removeNotify()
Уведомляет этот компонент, что у него больше нет родительского компонента.
|
void |
setBorder(Border border)
Не -
null граница, или ненулевые вставки, не поддерживается, чтобы препятствовать тому, чтобы геометрия этого компонента стала достаточно сложной, чтобы запретить разделение на подклассы LayerUI class. |
void |
setGlassPane(JPanel glassPane)
Наборы
JLayer 's glassPane компонент, который может быть null . |
void |
setLayerEventMask(long layerEventMask)
Позволяет событиям от JLayer и всех его потомков, определенных указанным параметром маски события быть поставленными
LayerUI.eventDispatched(AWTEvent, JLayer) метод. |
void |
setLayout(LayoutManager mgr)
Устанавливает менеджера по расположению по этому контейнеру.
|
void |
setUI(LayerUI<? super V> ui)
Наборы
LayerUI который выполнит рисование и получит входные события для этого JLayer . |
void |
setView(V view)
Наборы
JLayer 's просматривают компонент, который может быть null . |
void |
updateUI()
Делегирует его функциональность к
LayerUI.updateUI(JLayer) метод, если LayerUI устанавливается. |
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public JLayer()
setView(V)
, setUI(javax.swing.plaf.LayerUI<? super V>)
public JLayer(V view)
JLayer
объект со значением по умолчанию LayerUI
.view
- компонент, который будет украшен этим JLayer
setUI(javax.swing.plaf.LayerUI<? super V>)
public V getView()
JLayer
's просматривают компонент или null
. JLayer
's просматривают компонент или null
если ни один не существуетsetView(Component)
public void setView(V view)
JLayer
's просматривают компонент, который может быть null
. view
- компонент представления для этого JLayer
getView()
public void setUI(LayerUI<? super V> ui)
LayerUI
который выполнит рисование и получит входные события для этого JLayer
.ui
- LayerUI
для этого JLayer
public LayerUI<? super V> getUI()
LayerUI
для этого JLayer
.LayerUI
для этого JLayer
public JPanel getGlassPane()
JLayer
's glassPane компонент или null
. JLayer
's glassPane компонент или null
если ни один не существуетsetGlassPane(JPanel)
public void setGlassPane(JPanel glassPane)
JLayer
's glassPane компонент, который может быть null
. glassPane
- glassPane компонент этого JLayer
getGlassPane()
public JPanel createGlassPane()
glassPane
. По умолчанию этот метод создает новый JPanel с набором видимости к истине и набором непрозрачности ко лжи.glassPane
public void setLayout(LayoutManager mgr)
mgr
не -null
, этот метод выдаст исключение, поскольку менеджеры по расположению не поддерживаются на a JLayer
.setLayout
в class Container
mgr
- указанный менеджер по расположениюIllegalArgumentException
- этот метод не поддерживаетсяContainer.doLayout()
, Container.getLayout()
, Container.invalidate()
public void setBorder(Border border)
null
граница, или ненулевые вставки, не поддерживается, чтобы препятствовать тому, чтобы геометрия этого компонента стала достаточно сложной, чтобы запретить разделение на подклассы LayerUI
class. Создать a JLayer
с границей добавьте это к a JPanel
у этого есть граница. Отметьте: Если border
не -null
, этот метод выдаст исключение, поскольку границы не поддерживаются на a JLayer
.setBorder
в class JComponent
border
- Border
установитьIllegalArgumentException
- этот метод не поддерживаетсяBorder
, CompoundBorder
protected void addImpl(Component comp, Object constraints, int index)
JLayer
и всегда броски UnsupportedOperationException
addImpl
в class Container
comp
- компонент, который будет добавленconstraints
- объект, выражающий ограничения расположения для этого компонентаindex
- позиция в списке контейнера, в котором можно вставить компонент, где -1
средства добавляют до концаUnsupportedOperationException
- этот метод не поддерживаетсяsetView(Component)
, setGlassPane(JPanel)
public void remove(Component comp)
removeLayoutComponent
метод. Этот метод изменяет связанную с расположением информацию, и поэтому, лишает законной силы иерархию компонентов. Если контейнер был уже выведен на экран, иерархия должна быть проверена после того, чтобы отразить изменения.
remove
в class Container
comp
- компонент, который будет удаленContainer.add(java.awt.Component)
, Container.invalidate()
, Container.validate()
, Container.remove(int)
public void removeAll()
removeLayoutComponent
метод. Этот метод изменяет связанную с расположением информацию, и поэтому, лишает законной силы иерархию компонентов. Если контейнер был уже выведен на экран, иерархия должна быть проверена после того, чтобы отразить изменения.
removeAll
в class Container
Container.add(java.awt.Component)
, Container.remove(int)
, Container.invalidate()
protected boolean isPaintingOrigin()
true
заставить рисование происходить из JLayer
, или один из его предков.isPaintingOrigin
в class JComponent
JComponent.isPaintingOrigin()
public void paintImmediately(int x, int y, int w, int h)
LayerUI.paintImmediately(int, int, int, int, JLayer)
метод, если LayerUI
устанавливается.paintImmediately
в class JComponent
x
- x значение области, которая будет нарисованаy
- y значение области, которая будет нарисованаw
- width области, которая будет нарисованаh
- height области, которая будет нарисованаJComponent.repaint(long, int, int, int, int)
, JComponent.isPaintingOrigin()
public void paint(Graphics g)
LayerUI
объект.paint
в class JComponent
g
- Graphics
представлять кJComponent.paintComponent(java.awt.Graphics)
, JComponent.paintBorder(java.awt.Graphics)
, JComponent.paintChildren(java.awt.Graphics)
, JComponent.getComponentGraphics(java.awt.Graphics)
, JComponent.repaint(long, int, int, int, int)
protected void paintComponent(Graphics g)
paint(Graphics)
и ComponentUI.update(Graphics, JComponent)
методыpaintComponent
в class JComponent
g
- Graphics
объект защититьJComponent.paint(java.awt.Graphics)
, ComponentUI
public boolean isOptimizedDrawingEnabled()
JLayer
переопределяет реализацию по умолчанию этого метода (в JComponent
) возвратиться false
. Это гарантирует, что машина рисунка вызовет JLayer
's paint
реализация, а не обмен сообщениями JLayer
's дочерние элементы непосредственно.isOptimizedDrawingEnabled
в class JComponent
public void propertyChange(PropertyChangeEvent evt)
propertyChange
в интерфейсе PropertyChangeListener
evt
- Описание объекта PropertyChangeEvent источника события и свойства, которое изменилось.public void setLayerEventMask(long layerEventMask)
LayerUI.eventDispatched(AWTEvent, JLayer)
метод. События поставляются при условии, что LayerUI
устанавливается для этого JLayer
и JLayer
является визуализуемым. Следующий пример показывает, как правильно использовать этот метод в LayerUI
реализации: public void installUI(JComponent c) { super.installUI(c); JLayer l = (JLayer) c; // this LayerUI will receive only key and focus events l.setLayerEventMask(AWTEvent.KEY_EVENT_MASK | AWTEvent.FOCUS_EVENT_MASK); } public void uninstallUI(JComponent c) { super.uninstallUI(c); JLayer l = (JLayer) c; // JLayer must be returned to its initial state l.setLayerEventMask(0); }По умолчанию
JLayer
не получает событий, и его маска события 0
.layerEventMask
- битовая маска события вводит, чтобы получитьgetLayerEventMask()
, LayerUI.eventDispatched(AWTEvent, JLayer)
, Component.isDisplayable()
public long getLayerEventMask()
JLayer
и LayerUI
. Это означает это LayerUI.eventDispatched(AWTEvent, JLayer)
метод только получит события, которые соответствуют маску события. По умолчанию JLayer
не получает событий.JLayer
public void updateUI()
LayerUI.updateUI(JLayer)
метод, если LayerUI
устанавливается.updateUI
в class JComponent
JComponent.setUI(javax.swing.plaf.ComponentUI)
, UIManager.getLookAndFeel()
, UIManager.getUI(javax.swing.JComponent)
public Dimension getPreferredScrollableViewportSize()
Scrollable
, этот метод делегирует свою реализацию к компоненту представления.getPreferredScrollableViewportSize
в интерфейсе Scrollable
Scrollable
public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
Scrollable
, этот метод делегирует свою реализацию к компоненту представления.getScrollableBlockIncrement
в интерфейсе Scrollable
visibleRect
- Область представления, видимая в пределах области просмотраorientation
- Любой SwingConstants. ВЕРТИКАЛЬ или SwingConstants. ГОРИЗОНТАЛЬ.direction
- Меньше чем нуль, чтобы прокрутить/левый, больше чем нуль для вниз/право.Scrollable
public boolean getScrollableTracksViewportHeight()
false
указать, что height области просмотра не определяет height уровня, если привилегированный height уровня не меньше чем height области просмотра. Если компонент представления этого уровня реализации Scrollable
, этот метод делегирует свою реализацию к компоненту представления.getScrollableTracksViewportHeight
в интерфейсе Scrollable
Scrollable
public boolean getScrollableTracksViewportWidth()
false
указать, что width области просмотра не определяет width уровня, если привилегированный width уровня не меньше чем width области просмотра. Если компонент представления этого уровня реализации Scrollable
, этот метод делегирует свою реализацию к компоненту представления.getScrollableTracksViewportWidth
в интерфейсе Scrollable
Scrollable
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
JScrollPane
, будет использовать этот метод каждый раз, когда пользователь запрашивает прокрутку модуля. Если компонент представления этого уровня реализации Scrollable
, этот метод делегирует свою реализацию к компоненту представления.getScrollableUnitIncrement
в интерфейсе Scrollable
visibleRect
- Область представления, видимая в пределах области просмотраorientation
- Любой SwingConstants. ВЕРТИКАЛЬ или SwingConstants. ГОРИЗОНТАЛЬ.direction
- Меньше чем нуль, чтобы прокрутить/левый, больше чем нуль для вниз/право.Scrollable
public void addNotify()
KeyboardAction
слушатели события. Этот метод вызывает инструментарий внутренне и не должен быть вызван непосредственно программами.addNotify
в class JComponent
JComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)
public void removeNotify()
KeyboardAction
s установленный в цепочка родительских компонентов удаляются. Этот метод вызывает инструментарий внутренне и не должен быть вызван непосредственно программами.removeNotify
в class JComponent
JComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)
public void doLayout()
LayerUI.doLayout(JLayer)
метод, если LayerUI
устанавливается.doLayout
в class Container
LayoutManager.layoutContainer(java.awt.Container)
, Container.setLayout(java.awt.LayoutManager)
, Container.validate()
public AccessibleContext getAccessibleContext()
JLayer
.getAccessibleContext
в интерфейсе Accessible
getAccessibleContext
в class Component
JLayer
.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92