2024-03-30
This commit is contained in:
192
doc/03_text_components.md
Normal file
192
doc/03_text_components.md
Normal file
@@ -0,0 +1,192 @@
|
||||
# 텍스트 컴포넌트
|
||||
|
||||
* `isEditable()` / `setEditable(boolean)`
|
||||
* `getDragEnabled()` / `setDragEnabled(boolean)`
|
||||
* `getDisabledTextColor()` / `setDisabledTextColor(Color)`
|
||||
* `getMargin()` / `setMargin(Insets)` : 텍스트와 컴포넌트 보더 사이 간격
|
||||
|
||||
* `getSelectedText()`
|
||||
* `select(int,int)` / `selectAll()`
|
||||
* `getSelectionStart()` / `setSelectionStart(int)` / `getSelectionEnd()` / `setSelectionEnd(int)`
|
||||
* `getSelectionColor()` / `setSelectionColor(Color)`
|
||||
* `getSelectedTextColor()` / `setSelectedTextColor(Color)`
|
||||
|
||||
* `viewToModel(Point)` / `modelToView(int)`
|
||||
|
||||
* `copy()` / `cut()` / `paste()` / `replaceSelection(String)`
|
||||
* `getActions()`
|
||||
* `getInputMap()`
|
||||
* `put(KeyStroke,Object)`
|
||||
|
||||
* `getDocument()` / `setDocument(Document)`
|
||||
* `setDocumentFilter(DocumentFilter)`
|
||||
|
||||
* `getCaret()` / `setCaret(Caret)`
|
||||
* `getCaretColor()` / `setCaretColor(Color)`
|
||||
* `getCaretPosition()` / `moveCaretPosition(int)` / `setCaretPosition(int)`
|
||||
* `addCaretListener()` / `removeCaretListener()`
|
||||
|
||||
* `setNavigationFilter()`
|
||||
* `getHighlighter()` / `setHighlighter(Highlighter)`
|
||||
|
||||
* `read(Reader, Object)` / `write(Writer)`
|
||||
|
||||
* `print()` / `print(MessageFormat,MessageFormat)`
|
||||
* `getPrintable(MessageFormat,MessageFormat)`
|
||||
|
||||
## Document
|
||||
* `addDocumentListener()` / `removeDocumentListener()`
|
||||
* `addUndoableEditListener()` / `removeUndoableEditListener()`
|
||||
* `getLength()`
|
||||
* `getStartPosition()` / `getEndPosition()`
|
||||
* `getText(int,int)`
|
||||
* `getProperty(Object)` / `putProperty(Object,Object)` / `getDocumentProperties()` / `setDocumentProperties(Dictionary)`
|
||||
|
||||
## Undo / Redo 구현 - UndoableEditListener
|
||||
```java
|
||||
// 언두 매니저를 생성하고, 텍스트 문서에 리스너를 통해 연결한다.
|
||||
final UndoManager undoManager = new UndoManager();
|
||||
textArea.getDocument().addUndoableEditListener(undoableEditEvent ->
|
||||
undoManager.addEdit(undoableEditEvent.getEdit()));
|
||||
|
||||
// 버튼을 통해서 액션을 처리한다.
|
||||
toolBar.add(new AbstractAction("Undo") {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent actionEvent) {
|
||||
if (undoManager.canUndo()) {
|
||||
undoManager.undo();
|
||||
}
|
||||
}
|
||||
});
|
||||
toolBar.add(new AbstractAction("Redo") {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent actionEvent) {
|
||||
if (undoManager.canRedo()) {
|
||||
undoManager.redo();
|
||||
}
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
## DocumentListener
|
||||
```java
|
||||
textArea.getDocument().addDocumentListener(new DocumentListener() {
|
||||
@Override
|
||||
public void insertUpdate(DocumentEvent documentEvent) {
|
||||
Document document = documentEvent.getDocument();
|
||||
int changeLength = documentEvent.getLength();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeUpdate(DocumentEvent documentEvent) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void changedUpdate(DocumentEvent documentEvent) {
|
||||
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
## CaretListener
|
||||
```java
|
||||
textArea.addCaretListener(new CaretListener() {
|
||||
@Override
|
||||
public void caretUpdate(CaretEvent caretEvent) {
|
||||
int dot = caretEvent.getDot();
|
||||
int mark = caretEvent.getMark();
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## JTextField
|
||||
|
||||
* `getText()` / `setText(String)`
|
||||
* `isEditable()` / `setEditable(boolean)`
|
||||
* `getColumns()` / `setColumns(int)` : 화면에 표시될 칼럼 길이
|
||||
|
||||
* `selectAll()`
|
||||
|
||||
* `getHorizontalAlignment()` / `setHorizontalAlignment(int)` : JTextField.LEADING | CENTER | TRAILING
|
||||
|
||||
* `addActionListener()` / `removeActionListener()`
|
||||
|
||||
## JPasswordField
|
||||
|
||||
* `char[] getPassword()`
|
||||
* `getEchoChar()` / `setEchoChar(char)`
|
||||
|
||||
## JFormattedTextField
|
||||
|
||||
* `JFormattedTextField()` / `JFormattedTextField(Format)` / `JFormattedTextField(Formatter)` / `JFormattedTextField(FormatterFactory)`
|
||||
|
||||
* `getValue()` / `setValue(Object)`
|
||||
* `getFormatter()` / `setFormatterFactory()`
|
||||
* `setFocusLostBehavior(int)` : COMMIT_OR_REVERT | COMMIT | PERSIST | REVERT
|
||||
* `commitEdit()`
|
||||
* `isEditValid()`
|
||||
|
||||
### Format
|
||||
* DateFormatter
|
||||
* NumberFormatter
|
||||
* InternationalFormatter
|
||||
* MaskFormatter
|
||||
* DateFormat
|
||||
* SimpleDateFormat
|
||||
* NumberFormat
|
||||
* DefaultFormatterFactory
|
||||
* DefaultFormatter
|
||||
|
||||
#### DefaultFormatter
|
||||
|
||||
* `getCommitsOnValidEdit()` / `setCommitsOnValidEdit(boolean)`
|
||||
* `getOverwriteMode()` / `setOverwriteMode(boolean)`
|
||||
* `getAllowsInvalid()` / `setAllowsInvalid(boolean)`
|
||||
|
||||
#### MaskFormatter
|
||||
* `#` 아무 숫자 하나
|
||||
* `'` 이스케잎문자로 사용됨
|
||||
* `U` 대문자 하나
|
||||
* `L` 소문자 하나
|
||||
* `A` 문자 또는 숫자 하나
|
||||
* `?` 문자 하나
|
||||
* `*` 아무거나
|
||||
* `H` 16진수문자 하나
|
||||
|
||||
## JTextArea
|
||||
|
||||
* `JTextArea()` / `JTextArea(String)` / `JTextArea(int,int)` / `JTextArea(String,int,int)` : 칼럼 갯수, 열 갯수
|
||||
|
||||
* `getText()` / `setText(String)`
|
||||
|
||||
* `isEditable()` / `setEditable(boolean)`
|
||||
* `getColumns()` / `setColumns(int)`
|
||||
* `getRows()` / `setRows(int)`
|
||||
* `setTabSize(int)`
|
||||
* `setLineWrap(boolean)`
|
||||
* `setWrapStyleWord(boolean)`
|
||||
|
||||
* `selectAll()`
|
||||
|
||||
* `append(String)`
|
||||
* `insert(String,int)`
|
||||
* `replaceRange(String,int,int)`
|
||||
* `getLineCount()`
|
||||
* `getLineOfOffset(int)`
|
||||
* `getLineStartOffset(int)`
|
||||
* `getLineEndOffset(int)`
|
||||
|
||||
## JEditorPane
|
||||
|
||||
## JTextPane
|
||||
|
||||
Reference in New Issue
Block a user