Java by API/javax.swing/JTextArea
Содержание
- 1 JTextArea: addCaretListener(CaretListener listener)
- 2 JTextArea: addUndoableEditListener(UndoableEditListener lis)
- 3 JTextArea: append(String str)
- 4 JTextArea: getActionMap()
- 5 JTextArea: getActions()
- 6 JTextArea: getCaretPosition()
- 7 JTextArea: getDocument()
- 8 JTextArea: getFont()
- 9 JTextArea: getHighlighter()
- 10 JTextArea: getKeymap()
- 11 JTextArea: getLineCount()
- 12 JTextArea: getLineEndOffset(int line)
- 13 JTextArea.getLineOfOffset(int offset)
- 14 JTextArea: getLineStartOffset(int line)
- 15 JTextArea: insert(String str, int pos)
- 16 JTextArea: isManagingFocus()
- 17 JTextArea: paste()
- 18 JTextArea: read(Reader in, Object desc)
- 19 JTextArea: replaceRange(String str, int start, int end)
- 20 JTextArea: setCaretColor(Color c)
- 21 JTextArea: setLineWrap(boolean wrap)
- 22 JTextArea: setTabSize(int size)
- 23 JTextArea: setWrapStyleWord(boolean word)
- 24 JTextArea: write(Writer out)
- 25 JTextField: setHorizontalAlignment(int pos)
- 26 new JTextArea(Document document)
- 27 new JTextArea(String text)
- 28 new JTextArea(String text, int rows, int columns)
JTextArea: addCaretListener(CaretListener listener)
<source lang="java">
import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; public class Main {
public static void main(String args[]) { JFrame frame = new JFrame("Caret Example"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JTextArea textArea = new JTextArea(); JScrollPane scrollPane = new JScrollPane(textArea); frame.add(scrollPane, BorderLayout.CENTER); CaretListener listener = new CaretListener() { public void caretUpdate(CaretEvent caretEvent) { System.out.println("Dot: "+ caretEvent.getDot()); System.out.println("Mark: "+caretEvent.getMark()); } }; textArea.addCaretListener(listener); frame.setSize(250, 150); frame.setVisible(true); }
}
</source>
JTextArea: addUndoableEditListener(UndoableEditListener lis)
<source lang="java">
import java.awt.BorderLayout; import java.awt.ruponent; import java.awt.Container; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JToolBar; import javax.swing.UIManager; import javax.swing.undo.CannotUndoException; import javax.swing.undo.UndoManager; public class MainClass {
public static void main(final String args[]) { JFrame frame = new JFrame("Undo Sample"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JTextArea textArea = new JTextArea(); JScrollPane scrollPane = new JScrollPane(textArea); UndoManager manager = new UndoManager(); textArea.getDocument().addUndoableEditListener(manager); JToolBar toolbar = new JToolBar(); JButton undoButton = new JButton(new UndoAction(manager, (String) UIManager .get("AbstractUndoableEdit.undoText"))); toolbar.add(undoButton); Container content = frame.getContentPane(); content.add(toolbar, BorderLayout.NORTH); content.add(scrollPane, BorderLayout.CENTER); frame.setSize(300, 150); frame.setVisible(true); }
} abstract class UndoRedoAction extends AbstractAction {
UndoManager undoManager = new UndoManager(); String errorMessage = "Cannot undo"; String errorTitle = "Undo Problem"; protected UndoRedoAction(UndoManager manager, String name) { super(name); undoManager = manager; } public void setErrorMessage(String newValue) { errorMessage = newValue; } public void setErrorTitle(String newValue) { errorTitle = newValue; } protected void showMessage(Object source) { if (source instanceof Component) { JOptionPane.showMessageDialog((Component) source, errorMessage, errorTitle, JOptionPane.WARNING_MESSAGE); } else { System.err.println(errorMessage); } }
} class UndoAction extends UndoRedoAction {
public UndoAction(UndoManager manager, String name) { super(manager, name); setErrorMessage("Cannot undo"); setErrorTitle("Undo Problem"); } public void actionPerformed(ActionEvent actionEvent) { try { undoManager.undo(); } catch (CannotUndoException cannotUndoException) { showMessage(actionEvent.getSource()); } }
}
</source>
JTextArea: append(String str)
<source lang="java">
import javax.swing.JTextArea; public class Main {
public static void main(String[] argv) { JTextArea ta = new JTextArea("Initial Text"); ta.append("some text"); }
}
</source>
JTextArea: getActionMap()
<source lang="java">
import java.awt.ruponent; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.JTextArea; public class Main {
public static void main(String[] argv) throws Exception { JTextArea component = new JTextArea(); NextFocusAction nextFocusAction = new NextFocusAction(); PrevFocusAction prevFocusAction = new PrevFocusAction(); component.getActionMap().put(nextFocusAction.getValue(Action.NAME), nextFocusAction); component.getActionMap().put(prevFocusAction.getValue(Action.NAME), prevFocusAction); }
} class NextFocusAction extends AbstractAction{
public NextFocusAction(){ super("Move Focus Forwards"); } public void actionPerformed(ActionEvent evt) { ((Component) evt.getSource()).transferFocus(); }
} class PrevFocusAction extends AbstractAction {
public PrevFocusAction(){ super("Move Focus Backwards"); } public void actionPerformed(ActionEvent evt) { ((Component) evt.getSource()).transferFocusBackward(); }
}
</source>
JTextArea: getActions()
<source lang="java">
import javax.swing.*; import javax.swing.text.*; import java.util.Hashtable; import java.awt.event.*; import java.awt.BorderLayout; public class KeymapExample {
public static void main(String[] args) { JTextArea area = new JTextArea(6, 32); Keymap parent = area.getKeymap(); Keymap newmap = JTextComponent.addKeymap("KeymapExampleMap", parent); KeyStroke u = KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.CTRL_MASK); Action actionU = new UpWord(); newmap.addActionForKeyStroke(u, actionU); Action actionList[] = area.getActions(); Hashtable lookup = new Hashtable(); for (int j=0; j < actionList.length; j+=1) lookup.put(actionList[j].getValue(Action.NAME), actionList[j]); KeyStroke L = KeyStroke.getKeyStroke(KeyEvent.VK_L, InputEvent.CTRL_MASK); Action actionL = (Action)lookup.get(DefaultEditorKit.selectLineAction); newmap.addActionForKeyStroke(L, actionL); KeyStroke W = KeyStroke.getKeyStroke(KeyEvent.VK_W, InputEvent.CTRL_MASK); Action actionW = (Action)lookup.get(DefaultEditorKit.selectWordAction); newmap.addActionForKeyStroke(W, actionW); area.setKeymap(newmap); JFrame f = new JFrame("KeymapExample"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().add(new JScrollPane(area), BorderLayout.CENTER); area.setText("www.\n jexp \n .ru."); f.pack(); f.setVisible(true); } public static class UpWord extends TextAction { public UpWord() { super("uppercase-word-action"); } public void actionPerformed(ActionEvent e) { JTextComponent comp = getTextComponent(e); if (comp == null) return; Document doc = comp.getDocument(); int start = comp.getSelectionStart(); int end = comp.getSelectionEnd(); try { int left = javax.swing.text.Utilities.getWordStart(comp, start); int right = javax.swing.text.Utilities.getWordEnd(comp, end); String word = doc.getText(left, right-left); doc.remove(left, right-left); doc.insertString(left, word.toUpperCase(), null); comp.setSelectionStart(start); // restore previous position/selection comp.setSelectionEnd(end); } catch (BadLocationException ble) { return; } } }
}
</source>
JTextArea: getCaretPosition()
<source lang="java">
import java.awt.Color; import javax.swing.JTextArea; import javax.swing.text.JTextComponent; public class Main {
public static void main(String[] argv) throws Exception { JTextComponent c = new JTextArea(); c.getCaretPosition(); if (c.getCaretPosition() < c.getDocument().getLength()) { char ch = c.getText(c.getCaretPosition(), 1).charAt(0); } // Set the caret color c.setCaretColor(Color.red); }
}
</source>
JTextArea: getDocument()
<source lang="java">
import java.awt.Container; import javax.swing.BoxLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.text.Document; public class MainClass {
public static void main(String args[]) { JFrame frame = new JFrame("Sharing Sample"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container content = frame.getContentPane(); JTextArea textarea1 = new JTextArea(); Document document = textarea1.getDocument(); JTextArea textarea2 = new JTextArea(document); JTextArea textarea3 = new JTextArea(document); content.setLayout(new BoxLayout(content, BoxLayout.Y_AXIS)); content.add(new JScrollPane(textarea1)); content.add(new JScrollPane(textarea2)); content.add(new JScrollPane(textarea3)); frame.setSize(300, 400); frame.setVisible(true); }
}
</source>
JTextArea: getFont()
<source lang="java">
import java.awt.Font; import javax.swing.JTextArea; public class Main {
public static void main(String[] argv) { JTextArea textarea = new JTextArea(); // Get the default tab size int tabSize = textarea.getTabSize(); // 8 // Change the tab size tabSize = 4; textarea.setTabSize(tabSize); Font font = textarea.getFont(); System.out.println(font); }
}
</source>
JTextArea: getHighlighter()
<source lang="java">
import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.text.DefaultHighlighter; import javax.swing.text.Highlighter; public class Main {
public static void main(String args[]) throws Exception { JFrame frame = new JFrame("MultiHighlight"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JTextArea comp = new JTextArea(5, 20); comp.setText("this is a test"); frame.getContentPane().add(new JScrollPane(comp), BorderLayout.CENTER); String charsToHighlight = "a"; Highlighter h = comp.getHighlighter(); h.removeAllHighlights(); String text = comp.getText().toUpperCase(); for (int j = 0; j < text.length(); j += 1) { char ch = text.charAt(j); if (charsToHighlight.indexOf(ch) >= 0) h.addHighlight(j, j + 1, DefaultHighlighter.DefaultPainter); } frame.pack(); frame.setVisible(true); }
}
</source>
JTextArea: getKeymap()
<source lang="java">
import javax.swing.*; import javax.swing.text.*; import java.util.Hashtable; import java.awt.event.*; import java.awt.BorderLayout; public class KeymapExample {
public static void main(String[] args) { JTextArea area = new JTextArea(6, 32); Keymap parent = area.getKeymap(); Keymap newmap = JTextComponent.addKeymap("KeymapExampleMap", parent); KeyStroke u = KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.CTRL_MASK); Action actionU = new UpWord(); newmap.addActionForKeyStroke(u, actionU); Action actionList[] = area.getActions(); Hashtable lookup = new Hashtable(); for (int j=0; j < actionList.length; j+=1) lookup.put(actionList[j].getValue(Action.NAME), actionList[j]); KeyStroke L = KeyStroke.getKeyStroke(KeyEvent.VK_L, InputEvent.CTRL_MASK); Action actionL = (Action)lookup.get(DefaultEditorKit.selectLineAction); newmap.addActionForKeyStroke(L, actionL); KeyStroke W = KeyStroke.getKeyStroke(KeyEvent.VK_W, InputEvent.CTRL_MASK); Action actionW = (Action)lookup.get(DefaultEditorKit.selectWordAction); newmap.addActionForKeyStroke(W, actionW); area.setKeymap(newmap); JFrame f = new JFrame("KeymapExample"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().add(new JScrollPane(area), BorderLayout.CENTER); area.setText("www.\n jexp \n .ru."); f.pack(); f.setVisible(true); } public static class UpWord extends TextAction { public UpWord() { super("uppercase-word-action"); } public void actionPerformed(ActionEvent e) { JTextComponent comp = getTextComponent(e); if (comp == null) return; Document doc = comp.getDocument(); int start = comp.getSelectionStart(); int end = comp.getSelectionEnd(); try { int left = javax.swing.text.Utilities.getWordStart(comp, start); int right = javax.swing.text.Utilities.getWordEnd(comp, end); String word = doc.getText(left, right-left); doc.remove(left, right-left); doc.insertString(left, word.toUpperCase(), null); comp.setSelectionStart(start); // restore previous position/selection comp.setSelectionEnd(end); } catch (BadLocationException ble) { return; } } }
}
</source>
JTextArea: getLineCount()
<source lang="java">
/*line 0 starts at 0, ends at 5 line 1 starts at 5, ends at 12 line 2 starts at 12, ends at 16 offset 0 is on line 0 offset 1 is on line 0 offset 2 is on line 0 offset 3 is on line 0 offset 4 is on line 0 offset 5 is on line 1 offset 6 is on line 1 offset 7 is on line 1 offset 8 is on line 1 offset 9 is on line 1 offset 10 is on line 1 offset 11 is on line 1 offset 12 is on line 2 offset 13 is on line 2 offset 14 is on line 2 offset 15 is on line 2 offset 16 is on line 2 offset 17 is on javax.swing.text.BadLocationException: Can"t translate offset to line
- /
import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.text.BadLocationException; public class MainClass {
public static void main(String[] args) { JTextArea ta = new JTextArea(); ta.setLineWrap(true); ta.setWrapStyleWord(true); JScrollPane scroll = new JScrollPane(ta); ta.append("www.\n"); ta.append("jexp\n"); ta.append(".ru"); try { for (int n = 0; n < ta.getLineCount(); n += 1) System.out.println("line " + n + " starts at " + ta.getLineStartOffset(n) + ", ends at " + ta.getLineEndOffset(n)); System.out.println(); int n = 0; while (true) { System.out.print("offset " + n + " is on "); System.out.println("line " + ta.getLineOfOffset(n)); n += 1; } } catch (BadLocationException ex) { System.out.println(ex); } JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().add(scroll, java.awt.BorderLayout.CENTER); f.setSize(150, 150); f.setVisible(true); }
}
</source>
JTextArea: getLineEndOffset(int line)
<source lang="java">
/*line 0 starts at 0, ends at 5 line 1 starts at 5, ends at 12 line 2 starts at 12, ends at 16 offset 0 is on line 0 offset 1 is on line 0 offset 2 is on line 0 offset 3 is on line 0 offset 4 is on line 0 offset 5 is on line 1 offset 6 is on line 1 offset 7 is on line 1 offset 8 is on line 1 offset 9 is on line 1 offset 10 is on line 1 offset 11 is on line 1 offset 12 is on line 2 offset 13 is on line 2 offset 14 is on line 2 offset 15 is on line 2 offset 16 is on line 2 offset 17 is on javax.swing.text.BadLocationException: Can"t translate offset to line
- /
import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.text.BadLocationException; public class MainClass {
public static void main(String[] args) { JTextArea ta = new JTextArea(); ta.setLineWrap(true); ta.setWrapStyleWord(true); JScrollPane scroll = new JScrollPane(ta); ta.append("www.\n"); ta.append("jexp\n"); ta.append(".ru"); try { for (int n = 0; n < ta.getLineCount(); n += 1) System.out.println("line " + n + " starts at " + ta.getLineStartOffset(n) + ", ends at " + ta.getLineEndOffset(n)); System.out.println(); int n = 0; while (true) { System.out.print("offset " + n + " is on "); System.out.println("line " + ta.getLineOfOffset(n)); n += 1; } } catch (BadLocationException ex) { System.out.println(ex); } JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().add(scroll, java.awt.BorderLayout.CENTER); f.setSize(150, 150); f.setVisible(true); }
}
</source>
JTextArea.getLineOfOffset(int offset)
<source lang="java">
/*line 0 starts at 0, ends at 5 line 1 starts at 5, ends at 12 line 2 starts at 12, ends at 16 offset 0 is on line 0 offset 1 is on line 0 offset 2 is on line 0 offset 3 is on line 0 offset 4 is on line 0 offset 5 is on line 1 offset 6 is on line 1 offset 7 is on line 1 offset 8 is on line 1 offset 9 is on line 1 offset 10 is on line 1 offset 11 is on line 1 offset 12 is on line 2 offset 13 is on line 2 offset 14 is on line 2 offset 15 is on line 2 offset 16 is on line 2 offset 17 is on javax.swing.text.BadLocationException: Can"t translate offset to line
- /
import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.text.BadLocationException; public class MainClass {
public static void main(String[] args) { JTextArea ta = new JTextArea(); ta.setLineWrap(true); ta.setWrapStyleWord(true); JScrollPane scroll = new JScrollPane(ta); ta.append("www.\n"); ta.append("jexp\n"); ta.append(".ru"); try { for (int n = 0; n < ta.getLineCount(); n += 1) System.out.println("line " + n + " starts at " + ta.getLineStartOffset(n) + ", ends at " + ta.getLineEndOffset(n)); System.out.println(); int n = 0; while (true) { System.out.print("offset " + n + " is on "); System.out.println("line " + ta.getLineOfOffset(n)); n += 1; } } catch (BadLocationException ex) { System.out.println(ex); } JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().add(scroll, java.awt.BorderLayout.CENTER); f.setSize(150, 150); f.setVisible(true); }
}
</source>
JTextArea: getLineStartOffset(int line)
<source lang="java">
/*line 0 starts at 0, ends at 5 line 1 starts at 5, ends at 12 line 2 starts at 12, ends at 16 offset 0 is on line 0 offset 1 is on line 0 offset 2 is on line 0 offset 3 is on line 0 offset 4 is on line 0 offset 5 is on line 1 offset 6 is on line 1 offset 7 is on line 1 offset 8 is on line 1 offset 9 is on line 1 offset 10 is on line 1 offset 11 is on line 1 offset 12 is on line 2 offset 13 is on line 2 offset 14 is on line 2 offset 15 is on line 2 offset 16 is on line 2 offset 17 is on javax.swing.text.BadLocationException: Can"t translate offset to line
- /
import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.text.BadLocationException; public class MainClass {
public static void main(String[] args) { JTextArea ta = new JTextArea(); ta.setLineWrap(true); ta.setWrapStyleWord(true); JScrollPane scroll = new JScrollPane(ta); ta.append("www.\n"); ta.append("jexp\n"); ta.append(".ru"); try { for (int n = 0; n < ta.getLineCount(); n += 1) System.out.println("line " + n + " starts at " + ta.getLineStartOffset(n) + ", ends at " + ta.getLineEndOffset(n)); System.out.println(); int n = 0; while (true) { System.out.print("offset " + n + " is on "); System.out.println("line " + ta.getLineOfOffset(n)); n += 1; } } catch (BadLocationException ex) { System.out.println(ex); } JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().add(scroll, java.awt.BorderLayout.CENTER); f.setSize(150, 150); f.setVisible(true); }
}
</source>
JTextArea: insert(String str, int pos)
<source lang="java">
import javax.swing.JTextArea; public class Main {
public static void main(String[] argv) { JTextArea ta = new JTextArea("Initial Text"); int pos = 5; ta.insert("some text", pos); }
}
</source>
JTextArea: isManagingFocus()
<source lang="java">
import java.awt.Container; import java.awt.GridLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; public class Main {
public static void main(String args[]) { String title = (args.length == 0 ? "TextArea Example" : args[0]); JFrame frame = new JFrame(title); Container content = frame.getContentPane(); content.setLayout(new GridLayout(0, 2)); JTextArea leftTextArea = new JTextArea(); content.add(leftTextArea); leftTextArea.paste(); JTextArea rightTextArea = new JTextArea() { public boolean isManagingFocus() { return false; } }; rightTextArea.paste(); JScrollPane rightPane = new JScrollPane(rightTextArea); content.add(rightPane); frame.setSize(250, 150); frame.setVisible(true); }
}
</source>
JTextArea: paste()
<source lang="java">
import javax.swing.JFrame; import javax.swing.JTextArea; public class MainClass {
public static void main(final String args[]) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JTextArea leftTextArea = new JTextArea(); frame.add(leftTextArea); leftTextArea.paste(); frame.setSize(250, 150); frame.setVisible(true); }
}
</source>
JTextArea: read(Reader in, Object desc)
<source lang="java">
import java.awt.BorderLayout; import java.io.FileReader; import java.io.IOException; import javax.swing.JFrame; import javax.swing.JTextField; public class MainClass {
public static void main(String args[]) throws Exception { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JTextField nameTextField = new JTextField(); frame.add(nameTextField, BorderLayout.NORTH); FileReader reader = null; try { reader = new FileReader("fileName.txt"); nameTextField.read(reader, "fileName.txt"); } catch (IOException exception) { System.err.println("Load oops"); exception.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException exception) { System.err.println("Error closing reader"); exception.printStackTrace(); } } } frame.setSize(250, 100); frame.setVisible(true); }
}
</source>
JTextArea: replaceRange(String str, int start, int end)
<source lang="java">
import javax.swing.JTextArea; public class Main {
public static void main(String[] argv) { JTextArea ta = new JTextArea("Initial Text"); int start = 0; int end = 5; ta.replaceRange(null, start, end); }
}
</source>
JTextArea: setCaretColor(Color c)
<source lang="java">
import java.awt.Color; import javax.swing.JTextArea; import javax.swing.text.JTextComponent; public class Main {
public static void main(String[] argv) throws Exception { JTextComponent c = new JTextArea(); c.getCaretPosition(); if (c.getCaretPosition() < c.getDocument().getLength()) { char ch = c.getText(c.getCaretPosition(), 1).charAt(0); } // Set the caret color c.setCaretColor(Color.red); }
}
</source>
JTextArea: setLineWrap(boolean wrap)
<source lang="java">
import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.JFrame; import javax.swing.JSplitPane; import javax.swing.JTextArea; public class MainClass extends JFrame {
static String sometext = "Text Text Text Text Text Text Text Text Text Text Text Text "; public MainClass() { super("Simple SplitPane Frame"); setSize(450, 200); setDefaultCloseOperation(EXIT_ON_CLOSE); JTextArea jt1 = new JTextArea(sometext); JTextArea jt2 = new JTextArea(sometext); jt1.setLineWrap(true); jt2.setLineWrap(true); jt1.setMinimumSize(new Dimension(150, 150)); jt2.setMinimumSize(new Dimension(150, 150)); jt1.setPreferredSize(new Dimension(250, 200)); JSplitPane sp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jt1, jt2); getContentPane().add(sp, BorderLayout.CENTER); } public static void main(String args[]) { MainClass ssb = new MainClass(); ssb.setVisible(true); }
}
</source>
JTextArea: setTabSize(int size)
<source lang="java">
import java.awt.Font; import javax.swing.JTextArea; public class Main {
public static void main(String[] argv) { JTextArea textarea = new JTextArea(); // Get the default tab size int tabSize = textarea.getTabSize(); // 8 // Change the tab size tabSize = 4; textarea.setTabSize(tabSize); Font font = textarea.getFont(); System.out.println(font); }
}
</source>
JTextArea: setWrapStyleWord(boolean word)
<source lang="java">
/*line 0 starts at 0, ends at 5 line 1 starts at 5, ends at 12 line 2 starts at 12, ends at 16 offset 0 is on line 0 offset 1 is on line 0 offset 2 is on line 0 offset 3 is on line 0 offset 4 is on line 0 offset 5 is on line 1 offset 6 is on line 1 offset 7 is on line 1 offset 8 is on line 1 offset 9 is on line 1 offset 10 is on line 1 offset 11 is on line 1 offset 12 is on line 2 offset 13 is on line 2 offset 14 is on line 2 offset 15 is on line 2 offset 16 is on line 2 offset 17 is on javax.swing.text.BadLocationException: Can"t translate offset to line
- /
import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.text.BadLocationException; public class MainClass {
public static void main(String[] args) { JTextArea ta = new JTextArea(); ta.setLineWrap(true); ta.setWrapStyleWord(true); JScrollPane scroll = new JScrollPane(ta); ta.append("www.\n"); ta.append("jexp\n"); ta.append(".ru"); try { for (int n = 0; n < ta.getLineCount(); n += 1) System.out.println("line " + n + " starts at " + ta.getLineStartOffset(n) + ", ends at " + ta.getLineEndOffset(n)); System.out.println(); int n = 0; while (true) { System.out.print("offset " + n + " is on "); System.out.println("line " + ta.getLineOfOffset(n)); n += 1; } } catch (BadLocationException ex) { System.out.println(ex); } JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().add(scroll, java.awt.BorderLayout.CENTER); f.setSize(150, 150); f.setVisible(true); }
}
</source>
JTextArea: write(Writer out)
<source lang="java">
import java.awt.BorderLayout; import java.io.FileWriter; import java.io.IOException; import javax.swing.JFrame; import javax.swing.JTextField; public class MainClass {
public static void main(String args[]) throws Exception { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JTextField nameTextField = new JTextField(); frame.add(nameTextField, BorderLayout.NORTH); FileWriter writer = null; try { writer = new FileWriter("filename.txt"); nameTextField.write(writer); } catch (IOException exception) { System.err.println("Save oops"); exception.printStackTrace(); } finally { if (writer != null) { try { writer.close(); } catch (IOException exception) { System.err.println("Error closing writer"); exception.printStackTrace(); } } } frame.setSize(250, 100); frame.setVisible(true); }
}
</source>
JTextField: setHorizontalAlignment(int pos)
<source lang="java">
import java.awt.GridLayout; import javax.swing.JFrame; import javax.swing.JTextField; public class MainClass {
public static void main(final String args[]) { JFrame frame = new JFrame("Alignment Example"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new GridLayout(0, 1)); JTextField textField = new JTextField("Left"); textField.setHorizontalAlignment(JTextField.LEFT); frame.add(textField); textField = new JTextField("Center"); textField.setHorizontalAlignment(JTextField.CENTER); frame.add(textField); textField = new JTextField("Right"); textField.setHorizontalAlignment(JTextField.RIGHT); frame.add(textField); textField = new JTextField("Leading"); textField.setHorizontalAlignment(JTextField.LEADING); frame.add(textField); textField = new JTextField("Trailing"); textField.setHorizontalAlignment(JTextField.TRAILING); frame.add(textField); frame.pack(); frame.setSize(250, (int) frame.getSize().getHeight()); frame.setVisible(true); }
}
</source>
new JTextArea(Document document)
<source lang="java">
import java.awt.Container; import javax.swing.BoxLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.text.Document; public class MainClass {
public static void main(String args[]) { JFrame frame = new JFrame("Sharing Sample"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container content = frame.getContentPane(); JTextArea textarea1 = new JTextArea(); Document document = textarea1.getDocument(); JTextArea textarea2 = new JTextArea(document); JTextArea textarea3 = new JTextArea(document); content.setLayout(new BoxLayout(content, BoxLayout.Y_AXIS)); content.add(new JScrollPane(textarea1)); content.add(new JScrollPane(textarea2)); content.add(new JScrollPane(textarea3)); frame.setSize(300, 400); frame.setVisible(true); }
}
</source>
new JTextArea(String text)
<source lang="java">
import javax.swing.JTextArea; public class Main {
public static void main(String[] argv) { // Create a text area with some initial text JTextArea textarea = new JTextArea("Initial Text"); int rows = 20; int cols = 30; textarea = new JTextArea("Initial Text", rows, cols); }
}
</source>
new JTextArea(String text, int rows, int columns)
<source lang="java">
import javax.swing.JTextArea; public class Main {
public static void main(String[] argv) { // Create a text area with some initial text JTextArea textarea = new JTextArea("Initial Text"); int rows = 20; int cols = 30; textarea = new JTextArea("Initial Text", rows, cols); }
}
</source>