Ersatz für Textarea

Status
Nicht offen für weitere Antworten.

ModellbahnerTT

Bekanntes Mitglied
Hi @all,

Da die JTextarea unter Java anscheinend nur eine maximale Anzahl an Zeichen aufnehmen kann suche ich jetzt eine Alternative. Welche Alternativen gibt es? Welche hat keine Beschränkung in der Anzahl der Zeichen? Wie kann man die Beschränkung bei der JTextarea aufheben?

ModellbahnerTT

PS: Selbst bei diesem Text bringt die JTextarea schon eine Null Pointer Exception.
Code:
import java.util.*;
import java.io.*;

void main (void)
{
System.out.println("Was soll das mit der Textarea und den NullPointer Exceptions");
}
 
Ich hab mal Darwins Biographie in einem JTextPane angezeigt... was für Monster-Texte willst du zeigen?

Deine Fehlerbeschreibung hört sich eher nach einem anderen Problem an (Variable nicht richtig zugewiesen, "new" vergessen?), zeig doch mal dein Testprogramm.
 
Gar nicht wahr:
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Datei11 extends JFrame {
  // Anfang Variablen
  JTextArea jta = new JTextArea ("", 1, 1);
  // Ende Variablen

  public Datei11 (String Title) {
    // Frame-Initialisierung
    super (Title);
    addWindowListener(new WindowAdapter() {
      public void windowClosing (WindowEvent evt) {System.exit(0);}});
    setSize(300, 300);
    getContentPane().setLayout(new BorderLayout());

    // Anfang Komponenten
jta.setText("   Text Text import java.util.*;import java.io.*;void main (void){System.out.println(\"Was soll das mit der Textarea und den NullPointer Exceptions\");} Code ");

    getContentPane().add(jta);
    // Ende Komponenten

  }

  // Anfang Ereignisprozeduren
  // Ende Ereignisprozeduren

  public static void main (String args[]) {
    new Datei11("Datei11").show();
  }
}
Läuft.
Edit: Beni war schneller, seine Diagnose ist vermutlich korrekt.
 
Hier mal mein Testprogramm:
Code:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import javax.swing.JFrame;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;


public class Oberflaeche
{
	int position;
	public Oberflaeche()
	{
		JFrame jf = new JFrame();
		JTextArea jta = new JTextArea(20,30);
		JScrollPane scroll = new JScrollPane(jta);
		int x,y;
		Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
		y = dim.height;
		x = dim.width;
		jta.setSize(x, y);
		jf.setTitle("Codeeditor");
		jf.getContentPane().add(scroll);
		jf.setSize(x, y);
		jf.setVisible(true);
	}


	class ScrollHandler implements AdjustmentListener
	{

		public void adjustmentValueChanged(AdjustmentEvent e)
		{
		}

	}

}
Ich will keine Monstertexte anzeigen lassen sondern aktiv Texte eingeben. Diese können dann schonmal 2000 Zeilen mit 40 Zeichen umfassen.
 
Die Null Pointer Exception kommt wenn ich diesen Text eingebe oder andere Zeichen bis zu dieser Anzahl.
import java.util.*;
import java.io.*;

void main (void)
{
System.out.println("Was soll das mit der Textarea und den NullPointer Exceptions");
}
 
Sorry das ich die JTextarea im Verdacht hatte da mit der JTextPane genau das gleiche Phänomen auftritt muss der Fehler wo anders liegen, aber wo da bin iich mit meinem Latein am Ende.

ModellbahnerTT
 
Bei mir kommt keine..

Java 1.5.0.11
gestartet mit Eclipse 3.2.2
unter Linux (Kubuntu 7.04)

Es wäre vielleicht gut, wenn ihr die Exception posten würdet...

Edit: ich habe mal den kompletten Thread hier in die JTextArea rein kopiert. Immer noch keine exception...
 
So sieht die Eception aus:
Code:
Exception during event dispatch:
java.lang.NullPointerException
   at javax.swing.text.Utilities.getPositionBelow(libgcj.so.70)
   at javax.swing.text.DefaultHighlighter$DefaultHighlightPainter.paint(libgcj.so.70)
   at javax.swing.text.DefaultHighlighter.paint(libgcj.so.70)
   at javax.swing.plaf.basic.BasicTextUI.paintSafely(libgcj.so.70)
   at javax.swing.plaf.basic.BasicTextUI.paint(libgcj.so.70)
   at javax.swing.plaf.basic.BasicTextUI.update(libgcj.so.70)
   at javax.swing.JComponent.paintComponent(libgcj.so.70)
   at javax.swing.JComponent.paint(libgcj.so.70)
   at javax.swing.JComponent.paintDoubleBuffered(libgcj.so.70)
   at javax.swing.JComponent.paintImmediately2(libgcj.so.70)
   at javax.swing.JComponent.paintImmediately(libgcj.so.70)
   at javax.swing.RepaintManager.paintDirtyRegions(libgcj.so.70)
   at javax.swing.RepaintManager$RepaintWorker.run(libgcj.so.70)
   at java.awt.event.InvocationEvent.dispatch(libgcj.so.70)
   at java.awt.EventQueue.dispatchEvent(libgcj.so.70)
   at java.awt.EventDispatchThread.run(libgcj.so.70)

Als Betriebssystem läuft Ubuntu 7.04 mit Java 1.5.0.11 mit Eclipse 3.2.2
 
Ich werde das morgen mal unter Windows testen. Sollte es da ohne Probleme geht dann liegt es an der Linux Distribution und diese werde ich dann wechseln. Laut Aussage meines BS habe ich Sun JDK installiert und keine andere.
 
Nana - wer wird denn gleich die Distribution wechseln wollen 🙂

1. Probier es erst mal ohne Eclipse, einfach auf der Konsole:
Code:
java -version
javac Oberflaeche.java
java Oberflaeche

wenn das Sun SDK installiert ist, und die Ausgabe von java -version eine andere JVM auflistet, reicht schon ein
Code:
sudo update-alternatives --config java
 
Die Ausgaben meiner Linux Distribution sind alle so wie sie sein sollten.
Nana - wer wird denn gleich die Distribution wechseln wollen :lol:
Nach dem ich jede Menge Ärger :cry: mit der Version 7.04 hatte und habe spiele ich schon länger mit dem Gedanken zu wechseln. Sollte das ganze unter Windows :wink: morgen klappen dann habe ich bald Gentoo auf meinem Rechner. 😀

Edit: Der heutige Test mit Windows ist positiv verlaufen also liegt es an meiner Linux Distribution. :cry: 😳
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben