©
本文檔使用 php中文網手册 發布
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.AbstractButton javax.swing.JMenuItem
public class JMenuItem
菜单中的项的实现。菜单项本质上是位于列表中的按钮。当用户选择“按钮”时,则执行与菜单项关联的操作。JPopupMenu
中包含的 JMenuItem
正好执行该功能。
通过 Action
可以配置菜单,并进行一定程度的控制。对菜单项使用 Action
有许多直接配置菜单项所不及的优点。有关更多信息,请参阅支持 Action
的 Swing 组件,可以在 The Java Tutorial 中的 How
to Use Actions 一节找到更多信息。
有关更多文档和示例,请参见 The Java Tutorial 中的 How to Use Menus 一节。
警告:Swing 不是线程安全的。有关更多信息,请参阅 Swing's Threading Policy。
警告:此类的序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
JPopupMenu
,
JMenu
,
JCheckBoxMenuItem
,
JRadioButtonMenuItem
嵌套类摘要 | |
---|---|
protected class |
JMenuItem.AccessibleJMenuItem
此类实现 JMenuItem 类的可访问性支持。 |
从类 javax.swing.AbstractButton 继承的嵌套类/接口 |
---|
AbstractButton.AccessibleAbstractButton, AbstractButton.ButtonChangeListener |
从类 javax.swing.JComponent 继承的嵌套类/接口 |
---|
JComponent.AccessibleJComponent |
从类 java.awt.Container 继承的嵌套类/接口 |
---|
Container.AccessibleAWTContainer |
从类 java.awt.Component 继承的嵌套类/接口 |
---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
字段摘要 |
---|
从类 javax.swing.AbstractButton 继承的字段 |
---|
actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY |
从类 javax.swing.JComponent 继承的字段 |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
从类 java.awt.Component 继承的字段 |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
从接口 javax.swing.SwingConstants 继承的字段 |
---|
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
从接口 java.awt.image.ImageObserver 继承的字段 |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
构造方法摘要 | |
---|---|
JMenuItem()
创建不带有设置文本或图标的 JMenuItem 。 |
|
JMenuItem(Action a)
创建从指定的 Action 获取其属性的菜单项。 |
|
JMenuItem(Icon icon)
创建带有指定图标的 JMenuItem 。 |
|
JMenuItem(String text)
创建带有指定文本的 JMenuItem 。 |
|
JMenuItem(String text,
Icon icon)
创建带有指定文本和图标的 JMenuItem 。 |
|
JMenuItem(String text,
int mnemonic)
创建带有指定文本和键盘助记符的 JMenuItem 。 |
方法摘要 | |
---|---|
protected void |
actionPropertyChanged(Action action,
String propertyName)
更新按钮的状态以响应相关的操作中的属性更改。 |
void |
addMenuDragMouseListener(MenuDragMouseListener l)
将 MenuDragMouseListener 添加到菜单项。 |
void |
addMenuKeyListener(MenuKeyListener l)
将 MenuKeyListener 添加到菜单项。 |
protected void |
configurePropertiesFromAction(Action a)
在此按钮上设置属性以匹配指定 Action 中的属性。 |
protected void |
fireMenuDragMouseDragged(MenuDragMouseEvent event)
通知所有对此事件类型上的通知感兴趣的已注册侦听器。 |
protected void |
fireMenuDragMouseEntered(MenuDragMouseEvent event)
通知所有对此事件类型上的通知感兴趣的已注册侦听器。 |
protected void |
fireMenuDragMouseExited(MenuDragMouseEvent event)
通知所有对此事件类型上的通知感兴趣的已注册侦听器。 |
protected void |
fireMenuDragMouseReleased(MenuDragMouseEvent event)
通知所有对此事件类型上的通知感兴趣的已注册侦听器。 |
protected void |
fireMenuKeyPressed(MenuKeyEvent event)
通知所有对此事件类型上的通知感兴趣的已注册侦听器。 |
protected void |
fireMenuKeyReleased(MenuKeyEvent event)
通知所有对此事件类型上的通知感兴趣的已注册侦听器。 |
protected void |
fireMenuKeyTyped(MenuKeyEvent event)
通知所有对此事件类型上的通知感兴趣的已注册侦听器。 |
KeyStroke |
getAccelerator()
返回作为菜单项的加速器的 KeyStroke 。 |
AccessibleContext |
getAccessibleContext()
返回与此 JMenuItem 关联的 AccessibleContext 。 |
Component |
getComponent()
返回用于绘制此对象的 java.awt.Component 。 |
MenuDragMouseListener[] |
getMenuDragMouseListeners()
返回利用 addMenuDragMouseListener() 添加到此 JMenuItem 的所有 MenuDragMouseListener 组成的数组。 |
MenuKeyListener[] |
getMenuKeyListeners()
返回利用 addMenuKeyListener() 添加到此 JMenuItem 的所有 MenuKeyListener 的数组。 |
MenuElement[] |
getSubElements()
此方法返回包含此菜单组件的子菜单组件的数组。 |
String |
getUIClassID()
返回用于构造呈现此组件时使用的 L&F 类名称的后缀。 |
protected void |
init(String text,
Icon icon)
利用指定文本和图标初始化菜单项。 |
boolean |
isArmed()
返回菜单项是否被“调出”。 |
void |
menuSelectionChanged(boolean isIncluded)
当选择或取消选择 MenuElement 时由 MenuSelectionManager 调用。 |
protected String |
paramString()
返回此 JMenuItem 的字符串表示形式。 |
void |
processKeyEvent(KeyEvent e,
MenuElement[] path,
MenuSelectionManager manager)
如有必要,通过使用 MenuSelectionManager 的 API 处理从 MenuSelectionManager 转发的键事件并更改菜单选择。 |
void |
processMenuDragMouseEvent(MenuDragMouseEvent e)
处理菜单中的鼠标拖动。 |
void |
processMenuKeyEvent(MenuKeyEvent e)
处理菜单中的快捷键。 |
void |
processMouseEvent(MouseEvent e,
MenuElement[] path,
MenuSelectionManager manager)
如有必要,通过使用 MenuSelectionManager 的 API 处理从 MenuSelectionManager 转发的鼠标事件并更改菜单选择。 |
void |
removeMenuDragMouseListener(MenuDragMouseListener l)
从菜单项中移除 MenuDragMouseListener 。 |
void |
removeMenuKeyListener(MenuKeyListener l)
从菜单项中移除 MenuKeyListener 。 |
void |
setAccelerator(KeyStroke keyStroke)
设置修改键,它能直接调用菜单项的操作侦听器而不必显示菜单的层次结构。 |
void |
setArmed(boolean b)
将菜单项标识为“调出”。 |
void |
setEnabled(boolean b)
启用或禁用菜单项。 |
void |
setModel(ButtonModel newModel)
设置此按钮表示的模型。 |
void |
setUI(MenuItemUI ui)
设置呈现此组件的外观对象。 |
void |
updateUI()
利用当前外观的值重置 UI 属性。 |
从类 javax.swing.AbstractButton 继承的方法 |
---|
addActionListener, addChangeListener, addImpl, addItemListener, checkHorizontalKey, checkVerticalKey, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHideActionText, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, isSelected, paintBorder, removeActionListener, removeChangeListener, removeItemListener, removeNotify, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setFocusPainted, setHideActionText, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition |
从类 javax.swing.JComponent 继承的方法 |
---|
addAncestorListener, addNotify, 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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, 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, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update |
从类 java.awt.Container 继承的方法 |
---|
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, 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, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusBackward, transferFocusDownCycle, validate, validateTree |
从类 java.awt.Component 继承的方法 |
---|
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, hide, 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, transferFocusUpCycle |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public JMenuItem()
JMenuItem
。
public JMenuItem(Icon icon)
JMenuItem
。
icon
- JMenuItem
的图标public JMenuItem(String text)
JMenuItem
。
text
- JMenuItem
的文本public JMenuItem(Action a)
Action
获取其属性的菜单项。
a
- JMenuItem
的操作public JMenuItem(String text, Icon icon)
JMenuItem
。
text
- JMenuItem
的文本icon
- JMenuItem
的图标public JMenuItem(String text, int mnemonic)
JMenuItem
。
text
- JMenuItem
的文本mnemonic
- JMenuItem
的键盘助记符方法详细信息 |
---|
public void setModel(ButtonModel newModel)
AbstractButton
中的 setModel
newModel
- 新的 ButtonModel
AbstractButton.getModel()
protected void init(String text, Icon icon)
AbstractButton
中的 init
text
- JMenuItem
的文本icon
- JMenuItem
的图标public void setUI(MenuItemUI ui)
ui
- JMenuItemUI
L&F 对象UIDefaults.getUI(javax.swing.JComponent)
public void updateUI()
AbstractButton
中的 updateUI
JComponent.updateUI()
public String getUIClassID()
JComponent
中的 getUIClassID
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
public void setArmed(boolean b)
b
- true 表示调出菜单项以供选择public boolean isArmed()
setArmed(boolean)
public void setEnabled(boolean b)
AbstractButton
中的 setEnabled
b
- true 表示启用项Component.isEnabled()
,
Component.isLightweight()
public void setAccelerator(KeyStroke keyStroke)
keyStroke
- 将作为加速器的 KeyStroke
public KeyStroke getAccelerator()
KeyStroke
。
KeyStroke
对象protected void configurePropertiesFromAction(Action a)
Action
中的属性。有关关于设置了哪些属性的更多信息,请参阅支持 Action
的 Swing 组件。
AbstractButton
中的 configurePropertiesFromAction
a
- 从中获取属性的 Action
,或为 null
Action
,
AbstractButton.setAction(javax.swing.Action)
protected void actionPropertyChanged(Action action, String propertyName)
createActionPropertyChangeListener
返回的 PropertyChangeListener
中调用此方法。子类通常不需要调用此方法。支持其他 Action
属性的子类应该重写此方法以及 configurePropertiesFromAction
。
有关此方法设置的属性的列表,请参阅支持 Action
的 Swing 组件处的表。
AbstractButton
中的 actionPropertyChanged
action
- 与此按钮关联的 Action
propertyName
- 已更改属性的名称Action
,
AbstractButton.configurePropertiesFromAction(javax.swing.Action)
public void processMouseEvent(MouseEvent e, MenuElement[] path, MenuSelectionManager manager)
MenuSelectionManager
的 API 处理从 MenuSelectionManager
转发的鼠标事件并更改菜单选择。
注:不必将事件转发到子组件。此操作可以通过 MenuSelectionManager
自动完成。
MenuElement
中的 processMouseEvent
e
- MouseEvent
path
- MenuElement
路径数组manager
- MenuSelectionManager
public void processKeyEvent(KeyEvent e, MenuElement[] path, MenuSelectionManager manager)
MenuSelectionManager
的 API 处理从 MenuSelectionManager
转发的键事件并更改菜单选择。
注:不必将事件转发到子组件。此操作可以通过 MenuSelectionManager
自动完成。
MenuElement
中的 processKeyEvent
e
- KeyEvent
path
- MenuElement
路径数组manager
- MenuSelectionManager
public void processMenuDragMouseEvent(MenuDragMouseEvent e)
e
- MenuDragMouseEvent
对象public void processMenuKeyEvent(MenuKeyEvent e)
e
- MenuKeyEvent
对象protected void fireMenuDragMouseEntered(MenuDragMouseEvent event)
event
- MenuMouseDragEvent
EventListenerList
protected void fireMenuDragMouseExited(MenuDragMouseEvent event)
event
- MenuDragMouseEvent
EventListenerList
protected void fireMenuDragMouseDragged(MenuDragMouseEvent event)
event
- MenuDragMouseEvent
EventListenerList
protected void fireMenuDragMouseReleased(MenuDragMouseEvent event)
event
- MenuDragMouseEvent
EventListenerList
protected void fireMenuKeyPressed(MenuKeyEvent event)
event
- MenuKeyEvent
EventListenerList
protected void fireMenuKeyReleased(MenuKeyEvent event)
event
- MenuKeyEvent
EventListenerList
protected void fireMenuKeyTyped(MenuKeyEvent event)
event
- MenuKeyEvent
EventListenerList
public void menuSelectionChanged(boolean isIncluded)
MenuElement
时由 MenuSelectionManager
调用。
MenuElement
中的 menuSelectionChanged
isIncluded
- 如果此菜单项位于发生更改的菜单路径部分,则为 true;如果此菜单项位于发生更改的菜单路径部分,但该路径的这一特殊部分与更改前相同,则为 falseMenuSelectionManager.setSelectedPath(MenuElement[])
public MenuElement[] getSubElements()
MenuElement
中的 getSubElements
MenuElement
的数组public Component getComponent()
java.awt.Component
。返回的组件用于转换事件并检测事件是否位于菜单组件中。
MenuElement
中的 getComponent
Component
public void addMenuDragMouseListener(MenuDragMouseListener l)
MenuDragMouseListener
添加到菜单项。
l
- 要添加的 MenuDragMouseListener
public void removeMenuDragMouseListener(MenuDragMouseListener l)
MenuDragMouseListener
。
l
- 要移除的 MenuDragMouseListener
public MenuDragMouseListener[] getMenuDragMouseListeners()
MenuDragMouseListener
组成的数组。
MenuDragMouseListener
,如果没有添加侦听器,则返回一个空数组public void addMenuKeyListener(MenuKeyListener l)
MenuKeyListener
添加到菜单项。
l
- 要添加的 MenuKeyListener
public void removeMenuKeyListener(MenuKeyListener l)
MenuKeyListener
。
l
- 要移除的 MenuKeyListener
public MenuKeyListener[] getMenuKeyListeners()
MenuKeyListener
的数组。
MenuKeyListener
,如果没有添加侦听器,则返回一个空数组protected String paramString()
JMenuItem
的字符串表示形式。此方法仅在进行调试的时候使用,对于各个实现,所返回字符串的内容和格式可能有所不同。返回的字符串可能为空,但不可能为 null
。
AbstractButton
中的 paramString
JMenuItem
的字符串表示形式public AccessibleContext getAccessibleContext()
JMenuItem
关联的 AccessibleContext
。对于 JMenuItem
,AccessibleContext
采用的是 AccessibleJMenuItem
的形式。必要时创建一个新的 AccessibleJMenuItme 实例。
Accessible
中的 getAccessibleContext
JComponent
中的 getAccessibleContext
JMenuItem
的 AccessibleContext
的 AccessibleJMenuItem
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。