# 버튼 ## AbstractButton * `getAction()` / `setAction(Action)` * `getText()` / `setText(String)` * `getIcon()` / `setIcon(Icon)` * `getDisabledIcon()` / `setDisabledIcon(Icon)` * `getPressedIcon()` / `setPressedIcon(Icon)` * `getSelectedIcon()` / `setSelectedIcon(Icon)` * `getDisabledSelectedIcon()` / `setDisabledSelectedIcon(Icon)` * `getRolloverIcon()` / `setRolloverIcon(Icon)` * `getRolloverSelectedIcon()` / `setRolloverSelectedIcon(Icon)` * `isRolloverEnabled()` / `setRolloverEnabled(boolean)` * `getHorizontalAlignment()` / `setHorizontalAlignment(int)` : AbstractButton의 상수를 사용. CENTER | RIGHT | LEFT | LEADING | TRAILING * `getVerticalAlignment()` / `setVerticalAlignment(int)` : CENTER | TOP | BOTTOM * `getMargin()` / `setMargin(Insets)` * `isFocusPainted()` / `setFocusPainted(boolean)` * `isBorderPainted()` / `setBorderPainted(boolean)` * `getIconTextGap()` / `setIconTextGap(int)` * `getMnemonic()` / `setMnemonic(int)` : KeyEvent의 상수를 사용 * `getDisplayedMnemonicIndex()` / `setDisplayedMnemonicIndex(int)` * `getActionCommand()` / `setActionCommand(String)` * `addActionListener()` / `removeActionListener()` * `addItemListener()` / `removeItemListener()` * `isSelected()` / `setSelected(boolean)` * `doClick()` / `doClick(int)` : 버튼을 클릭한 시간을 밀리초 단위로 지정할 수도 있다. * `getMultiClickThreshhold()` / `setMultiClickThreshhold(long)` : 지정 시간 이내의 이벤트는 중복으로 무시한다. ## JButton ## JCheckBox ## JToggleButton ## 버튼 그룹 - ButtonGroup * `add(AbstractButton)` / `remove(AbstractButton)` * `clearSelection()` ```java // 버튼에 할당된 버튼 그룹을 가져오려는 경우 ButtonGroup group = ((DefaultButtonModel)button.getModel()).getGroup(); ``` ## Action ### AbstractAction * `isEnabled()` / `setEnabled(boolean)` * `getValue(String)` / `putValue(String,Object)` * ACCELERATOR_KEY : KeyStroke * ACTION_COMMAND_KEY : String * LONG_DESCRIPTION * MNEMONIC_KEY * NAME * SHORT_DESCRIPTION * SMALL_ICON