SPACES anstelle von TABs in JTextArea

Status
Nicht offen für weitere Antworten.

inflamer

Bekanntes Mitglied
Hallo!

wie der Titel schon sagt - wie kriegt man es hin, dass in einer JTextArea beim Betätigen der Tabulatortaste statt eines TAB-Zeichens eine einstellbare Anzahl von Leerzeichen eingefügt werden?

Danke für Eure Hilfe!
 

clemson

Bekanntes Mitglied
du musst dir einen KeyListenerschreiben...

Code:
package org.javaforum.y06.june.jtextarea;

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JFrame;
import javax.swing.JTextArea;

/**
 * @version $Revision: $, $Date: $
 */
public class TabTextArea extends JFrame implements KeyListener
{

	/**
	 * string, which shall be inserted, when TABULATOR was pressed
	 */
	private static final String TABULATOR_STRING = "    ";

	/**
	 * JTextArea, to demonstrate the TABULATOR
	 */
	private JTextArea area;

	/**
	 * Create new TABULATOR demonstrate
	 * @param args
	 */
	public static void main(String[] args)
	{
		new TabTextArea();
	}

	/**
	 * Initialise and show the frame
	 */
	public TabTextArea()
	{
		super("JTextAreaTest");

		initComponents();

		initFrame();
	}

	/**
	 * Init the components of frame
	 */
	private void initComponents()
	{
		/*
		 * create new textarea and register keylistener
		 */
		this.area = new JTextArea("TabTextArea", 10, 5);
		this.area.addKeyListener(this);

		// add texteare to frame
		add(this.area);
	}

	/**
	 * initialises the frame
	 */
	private void initFrame()
	{
		pack();
		validate();

		setVisible(true);
	}

	/**
	 * (non-Javadoc)
	 * @see java.awt.event.KeyListener#keyPressed(java.awt.event.KeyEvent)
	 */
	public void keyPressed(KeyEvent e)
	{
		/**
		 * interrupt / consume the event, when the TABULATOR is pressed and
		 * insert the replacement string instead
		 */
		if (e.getKeyCode() == KeyEvent.VK_TAB)
		{
			e.consume();
			int caretPosition = this.area.getCaretPosition();
			this.area.insert(TABULATOR_STRING, caretPosition);
		}
	}

	/**
	 * (non-Javadoc)
	 * @see java.awt.event.KeyListener#keyReleased(java.awt.event.KeyEvent)
	 */
	@SuppressWarnings("unused")
	public void keyReleased(KeyEvent e)
	{
		// empty
	}

	/**
	 * (non-Javadoc)
	 * @see java.awt.event.KeyListener#keyTyped(java.awt.event.KeyEvent)
	 */
	@SuppressWarnings("unused")
	public void keyTyped(KeyEvent e)
	{
		// empty
	}

}

edit: code ausgebessert
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Button klicken anstelle der Tastatur AWT, Swing, JavaFX & SWT 2
B JTabbedPane Tabs anordnen AWT, Swing, JavaFX & SWT 2
T Swing Schließbare Tabs AWT, Swing, JavaFX & SWT 10
F JTabbedPane mit Button zum Hinzufügen eines neuen Tabs AWT, Swing, JavaFX & SWT 6
J JTabbedPane Grafik unterhalb der Tabs AWT, Swing, JavaFX & SWT 3
H Swing JTabbedPane: Zusätzliche Buttons neben den Tabs AWT, Swing, JavaFX & SWT 7
B Datenübergabe zwischen Tabs und Daten speichern AWT, Swing, JavaFX & SWT 2
T JTabbedPane - neuen Tab zwischen zwei anderen Tabs hinzufügen AWT, Swing, JavaFX & SWT 2
C SWT CTabFolder / CTabItem Markierung des angewählten Tabs entfernen AWT, Swing, JavaFX & SWT 10
I Textbreite von Font inklusive Tabs ermitteln AWT, Swing, JavaFX & SWT 4
G Swing JTabbedPane Was für ein Border wird da um die Tabs gezeichnet? AWT, Swing, JavaFX & SWT 6
B Eigene Methoden in TABs einfügen AWT, Swing, JavaFX & SWT 8
Airwolf89 Swing Tabs dynamisch ausblenden AWT, Swing, JavaFX & SWT 3
D Tabs von JTabbedPane stylen AWT, Swing, JavaFX & SWT 6
DStrohma Tabs unten anzeigen AWT, Swing, JavaFX & SWT 2
B MDI Anwendung alle maximierten InternalFrames in Tabs AWT, Swing, JavaFX & SWT 3
D Swing mehrere JTable in separaten Tabs einer JTabbedPane AWT, Swing, JavaFX & SWT 2
D Events bei Tabs in einem Editor AWT, Swing, JavaFX & SWT 2
P Problem bei Datei zur Verwaltung von Tabs AWT, Swing, JavaFX & SWT 5
K Tabs bei JTabbedPane werden jedes neu ausgeführt AWT, Swing, JavaFX & SWT 3
J JOptionPane Tabs AWT, Swing, JavaFX & SWT 3
F An eindeutigen Index eines Tabs in einer JTabbed Pane kommen AWT, Swing, JavaFX & SWT 3
N JTabbedPane mit schließbaren Tabs (X) AWT, Swing, JavaFX & SWT 2
C JTabbedPane - Tabs einfügen AWT, Swing, JavaFX & SWT 4
A Tabbed Pane ohne Tabs? - möglich? AWT, Swing, JavaFX & SWT 4
V JMenu und die Tabs von JTabbedFrame sind auf einmal schwarz AWT, Swing, JavaFX & SWT 3
R Name eines Tabs aktualisieren AWT, Swing, JavaFX & SWT 2
T Swing: MainForm mit mehreren Tabs AWT, Swing, JavaFX & SWT 6
O auf den inhalt eines selektierten Tabs zugreifen AWT, Swing, JavaFX & SWT 5
G JTabbedPane: Tabs verschwinden lassen ? AWT, Swing, JavaFX & SWT 10
C Aktion beim Anzeigen eines Tabs der JTabbedPane AWT, Swing, JavaFX & SWT 3
K JTabbedPane - Tabs umbenennen AWT, Swing, JavaFX & SWT 2
J jTabbedPane ohne Tabs möglich? AWT, Swing, JavaFX & SWT 5
G JTabbedPane: Tabs verschwinden lassen und wieder anzeigen AWT, Swing, JavaFX & SWT 3
Luma Tabs in JList? AWT, Swing, JavaFX & SWT 2
O JTabbedPane - Zugriff auf die Elemente eines Tabs AWT, Swing, JavaFX & SWT 4
J Tabs?? AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen


Oben