Wörter zählen JTextarea

Status
Nicht offen für weitere Antworten.

realo

Mitglied
Hallo alle zusammen,

ich bin an einem Punkt angelangt wo ich nicht mehr weiter weiss. :cry:

Das Problem sieht folgender massen aus.

Ich habe ein JTextarea. Die anzahl der Buchstaben in diesem JTextarea darf nicht mehr als 100 Zeichen betragen.
Wie kann ich dynamisch verhindern, dass der Benutzer nicht mehr als 100 Zeichen eingeben kann?

Am liebsten wärs mir, wenn neben dem Textarea die Anzahl der noch zu eingebenden Buchstaben angezeigt würde.

Besten Dank
 

DP

Top Contributor
machste nach jedem tastenschlag eine überprüfung der stringlänge und gibst nur zeichen 0-100 wieder aus.
 

realo

Mitglied
Ich bin absoluter Neuling.
Wie kann ich nach jedem tastenschlag eine überprüfung machen?

Kannst du mir ein kleines Beispeil zeigen? :oops:

Danke im Voraus.
 

realo

Mitglied
Ich kann das Beispiel nicht anwenden, da ich ULC(Ultra Light Client) verwende und keine Swing komponente importieren darf. Also ich kann keine Klassen verwenden die von PlainDocument ableiten.

Das TextArea ist ein ULCTextArea mit den genau gleichen Eigenschaften wie ein JTextArea.
Gibt es andere Möglichkeiten die Eingabe vom Benutzer zu begrenzen?

Besten Dank
 

unknown_member

Bekanntes Mitglied
Vielleicht per KeyPressed abfragen, ob eine Taste gedrückt wurde. Wenn eine gedrückt wurde, einem Integer 1 abziehen, der angezeigt wird. Und wenn der 0 ist, den letzten Buchstaben wieder löschen.

Warte kurz, ich glaub, ich prog dir mal ein Beispiel.
 

realo

Mitglied
Ich hab das Problem mit KeyListener gelöst.

Hier der Code der Klasse:
Code:
public class LimitTextArea
    implements IKeyListener
{
    private ULCTextArea textArea;
    private int maxLength;

    public LimitTextArea(ULCTextArea textArea, int maxLength)
    {
        this.textArea = textArea;
        this.maxLength = maxLength;
    }

    public void keyTyped(KeyEvent event)
    {
        String text = textArea.getText();
        int length = text.length();
        if (length > maxLength)
        {
            textArea.setText(text.substring(0, maxLength));
        }
    }
}

Hier der Aufruf:
Code:
myTextArea.addKeyListener(new LimitTextArea(myTextArea, 40));

Denkt daran, dass es sich hier um ULC(Ultra Light Client) handelt. Wenn Ihr den Code für Swing verwendet wollt, dann die ULC Komponenten mit Swing Komponenten ersetzen.

Danke für eure Antworten!
 

unknown_member

Bekanntes Mitglied
Och, ich hab meins grad fertiggekriegt. Ach, ich posts trotzdem mal:

Code:
// EntryTextField.java



import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.image.*;
import javax.imageio.*;
import javax.swing.*;


public class EntryTextField extends JFrame
   implements ActionListener, KeyListener {

   private JPanel           gui;
   private JPanel      textfeld;

   private JButton             close;
   private JTextField           text;
   private JLabel             countA;
   private JButton               neu;

   private int                 count;
   private int                count2;
   
   private String            derText;


   public static void main(String [] args) throws IOException {

    EntryTextField go = new EntryTextField();
    go.setTitle("Nur 100 Buchstaben");
    go.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    go.setSize(500,250);
    go.setResizable(false);
    go.setVisible(true);
    }


  EntryTextField() {
    makeGui();
  }


   public void makeGui() {

  gui      = new JPanel();
  textfeld = new JPanel();


  close = new JButton("Fenster schließen");
  close.addActionListener(this);
  gui.add(close);


  add(BorderLayout.SOUTH,gui);


  text = new JTextField("", 40);
  text.addKeyListener(this);
  textfeld.add(text);
  
  countA = new JLabel("100 Zeichen verbleibend");
  textfeld.add(countA);
  
  neu = new JButton("Neu");
  neu.addActionListener(this);
  textfeld.add(neu);
  neu.setVisible(false);

  add(BorderLayout.CENTER,textfeld);

}



   public void actionPerformed(ActionEvent event) {

      if (event.getSource() == close) {
       System.exit(0);
      }
      
      if (event.getSource() == neu) {
       text.setText("");
       text.setEditable(true);
       
       neu.setVisible(false);
       
       countA.setText("100 Zeichen verbleibend");
      }
      
   }
      
   public void keyReleased(KeyEvent ev) {

   if (ev.getSource() == text) {
   
     derText = text.getText();
     count2 = derText.length();
     
     count = 100 - count2;
     
     countA.setText(count + " Zeichen verbleibend");
     
     }
     
   if (ev.getSource() == text && count == 0) {

     Toolkit tk = Toolkit.getDefaultToolkit();
     tk.beep();
     
     text.setEditable(false);

     neu.setVisible(true);
    }

   }
   public void keyPressed(KeyEvent ev) { }
   public void keyTyped(KeyEvent ev) { }
}



Ist natürlich noch nicht perfekt mit dem "Neu"-Button, aber ein Anfang.


_____
MfG, unknown_member
 

DP

Top Contributor
unknown_member hat gesagt.:
Code:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.image.*;
import javax.imageio.*;
import javax.swing.*;

er soll doch kein swing benutzen ;)
 

realo

Mitglied
@unknown_member
Natürlich war dein Code gemeint!

Das ganze wurde dann noch komplizierter.
Ich musste nicht die Stringlänge des TextArea begrenzen, sondern die Stringlänge einzelner Zeilen im TextArea. :? :roll:

Danke trotzdem für dein Code! :applaus:
 

André Uhres

Top Contributor
Bitte verwende In Zukunft aussagekräftige Titel!
http://www.java-forum.org/de/viewtopic.php?p=249526#249526


Der Titel "Wörter zählen JTextarea" ist ziemlich unglücklich gewählt:
Der Thread behandelt weder Wörter noch JTextArea noch irgendeine andere Swingkomponente.

Und bitte markiere das Problem in diesem Thema als gelöst indem du auf den runden Button
mit dem Häkchen hier unten links klickst. Vielen Dank.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Editor Wörter zählen AWT, Swing, JavaFX & SWT 2
D GUI + TextArea + inhalt der wörter zählen AWT, Swing, JavaFX & SWT 4
L Wörter zwischen zwei Grenzen einlesen. AWT, Swing, JavaFX & SWT 13
J Zu lange Wörter umbrechen in JLabel AWT, Swing, JavaFX & SWT 5
G JTextArea u. Wörter darin markieren AWT, Swing, JavaFX & SWT 3
R einige wörter fettgedruckt ausgeben AWT, Swing, JavaFX & SWT 2
A JButton - Klicks zählen auf mehreren Buttons AWT, Swing, JavaFX & SWT 2
J Zählen, wie oft etwas gezeichnet wird AWT, Swing, JavaFX & SWT 2
P Swing Alle Zeilen einer Spalte (jTable) zusammen zählen und in eine eigene Zeile das Ergebnis schreiben. AWT, Swing, JavaFX & SWT 7
S JEditorPane Zeilen zählen AWT, Swing, JavaFX & SWT 5
T Zeichen zählen JTextPane AWT, Swing, JavaFX & SWT 4
J ArrayList Inhalt zählen AWT, Swing, JavaFX & SWT 53
DARK_ZERATO2 leerstellen zählen und aufüllen lassen AWT, Swing, JavaFX & SWT 9
T Swing Mehrere Ausgaben in JTextArea AWT, Swing, JavaFX & SWT 2
B JPanel-Inhalte inkl. JTextarea zoomen? AWT, Swing, JavaFX & SWT 3
P JTextarea (in JScrollPane) zeigt nur die beiden letzten Einträge an? AWT, Swing, JavaFX & SWT 0
RedEagle Swing JTextArea ist leer AWT, Swing, JavaFX & SWT 13
E Warum wird Text im JTextArea erst am Programmende angezeigt ? AWT, Swing, JavaFX & SWT 1
E wie in JScrollPane auf JTextArea zugreifen AWT, Swing, JavaFX & SWT 12
K Swing 2 JTextArea parrallel scrollable AWT, Swing, JavaFX & SWT 16
Hatsi09 JTextArea Inhalt verlinken AWT, Swing, JavaFX & SWT 4
ralfb1105 jTextArea Scrollbar hinzufügen - mit Jigloo erstellt AWT, Swing, JavaFX & SWT 7
S Ausgabe in JTextArea AWT, Swing, JavaFX & SWT 13
H JTextArea - farbige Zeilen .. bitte um Vorschläge zur Implementierung AWT, Swing, JavaFX & SWT 1
F 2D-Grafik JTextArea drucken bringt mieses Ergebnis AWT, Swing, JavaFX & SWT 2
Mario1409 Swing JTextArea scroll Problem AWT, Swing, JavaFX & SWT 0
Bluedaishi JTextArea gefundene Zeile nach Oben Scrollen AWT, Swing, JavaFX & SWT 13
S JTextArea Text nach oben wandern lassen AWT, Swing, JavaFX & SWT 7
Bluedaishi JtextArea AWT, Swing, JavaFX & SWT 6
V JScrollBar soll weiterscrollen, wenn Inhalt von JTextArea erweitert wird AWT, Swing, JavaFX & SWT 7
G JTextArea mit JScrollPane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
Bluedaishi JDialog modal und JTextArea AWT, Swing, JavaFX & SWT 4
F JTextarea Steuern ~ consolenanbindung AWT, Swing, JavaFX & SWT 5
F Event Handling JTextArea auf bestimmte Eingabe reagieren (Return-Taste) AWT, Swing, JavaFX & SWT 2
F JTextArea hat keinen Rahmen AWT, Swing, JavaFX & SWT 10
N JTextArea Events weiterleiten AWT, Swing, JavaFX & SWT 3
R JTextArea mit verschiedenen Textfarben AWT, Swing, JavaFX & SWT 6
M JTextArea wird nicht aktualisiert (ActionListener-Problem) AWT, Swing, JavaFX & SWT 1
HoloYoitsu jTextArea.setCaretPosition(); What am I doing wrong? AWT, Swing, JavaFX & SWT 0
S Zeilenumbruch jTextArea mit toString AWT, Swing, JavaFX & SWT 2
F Swing String[] in JTextArea ausgeben. Jeder Eintrag in neue Zeile, aber ohne "\n"- Geht das? AWT, Swing, JavaFX & SWT 3
M JTextArea - Leertaste "sperren" AWT, Swing, JavaFX & SWT 1
S Inhalt der Java-Konsole in die JTextArea AWT, Swing, JavaFX & SWT 3
M Swing JTextArea mit ScrollBar AWT, Swing, JavaFX & SWT 9
S Swing Zahl der Zeilenumbrüche in einer JTextArea bestimmen AWT, Swing, JavaFX & SWT 1
F Swing Caret in JTextArea vergrößern AWT, Swing, JavaFX & SWT 2
D JTextArea auf KeyListener Command AWT, Swing, JavaFX & SWT 6
N JFrame änliches wie JTextArea? AWT, Swing, JavaFX & SWT 2
A Swing JTextArea - Multi-Line-Editing AWT, Swing, JavaFX & SWT 2
A Swing JTextArea aus anderer Klasse in realtime aktualisieren AWT, Swing, JavaFX & SWT 3
O JTextArea befüllen AWT, Swing, JavaFX & SWT 2
G JTextArea on the fly aus anderem Programm befüllen AWT, Swing, JavaFX & SWT 4
A Swing Einrücken mehrerer Zeilen per Tab in einem JTextPane/JTextArea AWT, Swing, JavaFX & SWT 3
T Swing Ausgabe aus ArrayList in Klasse1 in jTextArea in Klasse2 AWT, Swing, JavaFX & SWT 2
B JTextArea Größe an Container anpassen AWT, Swing, JavaFX & SWT 2
B Drucken der JTextArea AWT, Swing, JavaFX & SWT 4
M JTextArea Zeile hinzufügen AWT, Swing, JavaFX & SWT 4
C JTextArea scrollt bei append(String) aus Threads nicht ans Ende AWT, Swing, JavaFX & SWT 7
P JPanel- Listener durch JTextArea aktivieren AWT, Swing, JavaFX & SWT 8
A JTextArea - Zeichenbegrenzung nach .txt Datei import AWT, Swing, JavaFX & SWT 6
M Swing JScrollPane (Parent JTextArea) aktualisieren + neue Zeile AWT, Swing, JavaFX & SWT 5
Hoppelmann Swing Tasten in JTextArea blockieren AWT, Swing, JavaFX & SWT 2
S JTextArea Tastaturanschläge AWT, Swing, JavaFX & SWT 2
E Swing JTextArea in JFrame, wie nun WindowFocusListener implementieren? AWT, Swing, JavaFX & SWT 2
S Problem mit JButton und JTextArea AWT, Swing, JavaFX & SWT 2
J Swing Mitwachsende JTextArea+ JPanel AWT, Swing, JavaFX & SWT 4
P Swing JtextArea füllen mit setText AWT, Swing, JavaFX & SWT 7
M Probleme mit der Selektion einer JTextArea AWT, Swing, JavaFX & SWT 3
T Die Größe einer JTextArea an Ihren Parent JPanel anpassen. AWT, Swing, JavaFX & SWT 5
hdi Swing ListCellRenderer + JTextArea + LineWrap AWT, Swing, JavaFX & SWT 6
T ComponentOrientation in JTextArea AWT, Swing, JavaFX & SWT 3
H Hintergrundbild in jTextArea AWT, Swing, JavaFX & SWT 4
G Swing JTextArea mit fester Anzahl Spalten! AWT, Swing, JavaFX & SWT 10
G ein JTextArea in zwei JPanels AWT, Swing, JavaFX & SWT 2
L JTextArea mit JScrollPane AWT, Swing, JavaFX & SWT 7
padde479 Swing replace JTextArea funktioniert nicht AWT, Swing, JavaFX & SWT 2
L Zeilenumbrüche aus JTextArea MIT in Textdatei schreiben AWT, Swing, JavaFX & SWT 4
_dp jTextArea/jTextPanel Auto Höhe AWT, Swing, JavaFX & SWT 5
Ollek JTextArea - Feste Zeilenanzahl(8 Zeilen) AWT, Swing, JavaFX & SWT 3
S Swing JTextArea während der Laufzeit füllen AWT, Swing, JavaFX & SWT 5
Ollek Text in JTextField und JTextArea zur Laufzeit ändern AWT, Swing, JavaFX & SWT 6
P Datenelement anderer Klasse in JTextArea ausgeben AWT, Swing, JavaFX & SWT 4
P Scrollbar JTextArea AWT, Swing, JavaFX & SWT 23
M Swing Ausgabe in JTextArea verzögern AWT, Swing, JavaFX & SWT 7
T Swing jTextArea soll sich der Fenstergröße anpassen beim ziehen?? AWT, Swing, JavaFX & SWT 2
S System.out in JTextArea AWT, Swing, JavaFX & SWT 4
S Swing JTextArea - Bild auf/ab Tasten implementieren AWT, Swing, JavaFX & SWT 4
J JTextArea verschwindet bei resize vom JFrame AWT, Swing, JavaFX & SWT 2
VfL_Freak "setAccelerator/KeyStroke" bei JTextArea ? AWT, Swing, JavaFX & SWT 6
P Swing JTextArea - beim neuzeichnen bleibt manchmal weißer Kasten AWT, Swing, JavaFX & SWT 10
Dit_ JTextArea zu Zeile X scrollen AWT, Swing, JavaFX & SWT 4
H variable Höhe einer JTextArea (als Renderer/Editor) als Zelle einer JTable AWT, Swing, JavaFX & SWT 9
B Wechsel JTextArea und JComponent AWT, Swing, JavaFX & SWT 9
M [erledigt] Bestimmte Zeile aus JTextArea löschen AWT, Swing, JavaFX & SWT 3
G Swing JTable und JTextArea synchronisieren AWT, Swing, JavaFX & SWT 2
C JLabel, JTextArea, JScrollPane. repaint(); ? AWT, Swing, JavaFX & SWT 6
M JTextArea AWT, Swing, JavaFX & SWT 2
E Swing JTextArea Alternative? AWT, Swing, JavaFX & SWT 5
A Swing JTextArea über Frame hinaus anzeigen? AWT, Swing, JavaFX & SWT 2
S JInternalFrame oder JTextArea neu laden AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben