Editor programmieren - Problem mit Einfügen, Ausschneiden

Status
Nicht offen für weitere Antworten.

Fomer-May

Mitglied
Ich versuche in Java (mit AWT) einen kleinen Text-Editor zuschreiben, leider funktioniert das einfügen und ausschneiden von Text nicht. In der ersten Zeile funktioniert es aber sobald mehrere Zeilen im Spiel sind gehts schief.
Code:
import java.awt.*;
import java.awt.event.*;

public class Editor extends Frame
{
  private TextArea textFeld;
  
  public static void main(String [] a)
  {
    Editor ed = new Editor();
  }
  
  Editor()
  {
    this.setBounds(50, 50, 800, 600);
    this.setMenuBar(new MenuLeiste());
    textFeld = new TextArea();
    this.add(textFeld);
    this.setBackground(Color.WHITE);
    this.setTitle("Editor");
    this.setVisible(true);
    this.addWindowListener(new Schliesser());
  }
  
  public void setzeText(String x)
  {
    textFeld.setText(x);
  }

  public String liesSelektiertenText()
  {
    return textFeld.getSelectedText();
  }
  
  public void ausschneiden()
  {
    int anfang = textFeld.getSelectionStart();
    int ende = textFeld.getSelectionEnd();
    textFeld.replaceRange("", anfang, ende);
  }

  public void einfuegen(String x)
  {
    int b = textFeld.getCaretPosition();
    textFeld.insert(x,b);
  }
}

Code:
import java.awt.*;
import java.awt.event.*;
import java.awt.datatransfer.*;

public class MenuEintragAusschneiden extends MenuItem implements ActionListener
{
  MenuEintragAusschneiden()
  {
    super("Ausschneiden");
    this.addActionListener(this);
  }

  public void actionPerformed(ActionEvent x)
  {
    MenuItem mi = (MenuItem) x.getSource();
    Menu m = (Menu) mi.getParent();
    MenuBar mb = (MenuBar) m.getParent();
    Editor ed = (Editor) mb.getParent();

    Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
    String s = ed.liesSelektiertenText();
    StringSelection inhalt = new StringSelection(s);
    cb.setContents(inhalt, null);
    ed.ausschneiden();
  }
}

Code:
import java.awt.*;
import java.awt.event.*;
import java.awt.datatransfer.*;

public class MenuEintragEinfuegen extends MenuItem implements ActionListener
{
  MenuEintragEinfuegen()
  {
    super("Einfügen");
    this.addActionListener(this);
  }

  public void actionPerformed(ActionEvent x)
  {
    MenuItem mi = (MenuItem) x.getSource();
    Menu m = (Menu) mi.getParent();
    MenuBar mb = (MenuBar) m.getParent();
    Editor ed = (Editor) mb.getParent();

    Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
    Transferable inhalt = cb.getContents(this);
    try
    {
      String s = (String) inhalt.getTransferData(DataFlavor.stringFlavor);
      ed.einfuegen(s);
    }
    catch(Throwable e)
    {
      System.err.println("Fehler :" + e);
    }
  }
}

P.S. Wie bekomme ich es hin das die Cursor Position in einem DOS-Fenster angezeigt wird? Das ich dazu getCaretPosition benutzen muss weiß ich aber ich weiß nicht wo ich den System.out.println() setzen muss.
 

Fomer-May

Mitglied
Ich gebe in die erste Zeile "aaaa" ein drücke dann 2 mal auf Enter und schreib dann "bbbb"
Code:
aaaa


bbbb

Jetzt kopiere ich aus der ersten Zeile "aaaa" und will es in die zweite Zeile einfügen, der Text wird dann aber vor "bbbb" kopiert
Code:
aaaa
*Hier sollte aaaa stehen*

aaaabbbb

Wenn ich es in die dritte Zeile einfügen will wirds richtig komisch
Code:
aaaa

*Hier sollte aaaa stehen*
bbbaaaab

Wenn ich es in die erste Zeile einfüge gehts ohne Probleme. Beim ausschneiden siehts ähnlich aus.

Code:
aaaa

bbbb
cccc

Wenn ich jetzt "bbbb" ausschneiden will kommt das raus
Code:
aaaa

bbbbc
 

Ilja

Bekanntes Mitglied
lass dir zwischendurch einige daten in die console ausgeben, um zu sehen, ob die richtige position zum einfügen berechnet wurde und ob der selectierte text soweit richtig ist! (hab kein java auf dem arbeitsrechner, kann also nicht selbst testen :()
 

Fomer-May

Mitglied
So wies aussieht zählt er bei getCaretPosition die "Enter's" als 2 Zeichen mit, aber beim einfügen/ausschneiden zählt er nur die sichtbaren Zeichen und hat dann natürlich ne falsche Position.

EDIT: Hab den Editor hier hochgeladen vielleicht kann man sich das Problem so besser vor augen führen.
 

Fomer-May

Mitglied
Bin leider noch nicht weiter gekommen, ein Versuch mit getRows() die Zeilenanzahl auszulesen und von getCaretPosition abzuziehen brachte auch keinen Erfolg. Habt ihr noch Ideen wie ich das Problem beseitigen könnte?
 

flanker

Aktives Mitglied
du musst nicht diese Actions erneut entwerfen:
Code:
Action[] getActions(); //JTextComponent
dort liegen alle bereits drin.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Packages erstellen mit Java-Editor Java Basics - Anfänger-Themen 6
Alan6 Java Editor BMI Rechner Java Basics - Anfänger-Themen 7
E JavaFX Editor Probleme mit der Zwischenablage Java Basics - Anfänger-Themen 12
B OOP-Anfänge über CMD + Editor Java Basics - Anfänger-Themen 30
J "travelling salesman problem" mit Java Editor Java Basics - Anfänger-Themen 17
NightmareVirus Java-Editor (G. Röhner): Fehlende Dateinamen Java Basics - Anfänger-Themen 1
P Kann ich Java - Programme auch ohne Editor öffnen? Java Basics - Anfänger-Themen 70
S Fehler: Editor does not contain a main type Java Basics - Anfänger-Themen 3
G Programm wird nicht ausgeführt: Editor does not contain a main type Java Basics - Anfänger-Themen 10
N Eclipse - Editor - zugeklappte Methoden speichern Java Basics - Anfänger-Themen 3
N JDK installieren Probleme mit dem Java Editor Java Basics - Anfänger-Themen 3
L Source Code in Editor kopieren Java Basics - Anfänger-Themen 5
H Interface Problem mit Java Editor Java Basics - Anfänger-Themen 15
S Class File Editor gibt beim Start der Programms die Fehlermeldung Source not found aus Java Basics - Anfänger-Themen 1
K Java-Editor: "Starten" bringt Error Java Basics - Anfänger-Themen 15
P OOP Java-Editor OOP Fehlerlösung Java Basics - Anfänger-Themen 6
P Ein Bild für GUI (Java-Editor) Java Basics - Anfänger-Themen 4
Q Classpath mit Text Editor progammieren (Classpath) Java Basics - Anfänger-Themen 5
D Erste Schritte Problem mit dem Java-Editor Eclipse [Frage] Java Basics - Anfänger-Themen 13
H Einfacher Editor, Einfache Handelsanweisungen Java Basics - Anfänger-Themen 2
T Problem mit java-editor + Scanner Java Basics - Anfänger-Themen 9
C Java Gui Editor Java Basics - Anfänger-Themen 10
K Fehlermeldung nach editor installation Java Basics - Anfänger-Themen 3
H Java-Editor Wahl Java Basics - Anfänger-Themen 15
K Java editor kompiliert aber startet nicht Java Basics - Anfänger-Themen 5
S Java-Editor für Mac? Java Basics - Anfänger-Themen 8
R Erste Schritte codecopieren von Editor nach Eclipse / JTextField Java Basics - Anfänger-Themen 4
J Java Editor Appletons - Errors Java Basics - Anfänger-Themen 13
D Eclipse und Visual Editor - erzeugen einer Tabelle Java Basics - Anfänger-Themen 8
B Reiter in einer GUI (Visual Editor) Java Basics - Anfänger-Themen 4
D OOP Suchfunktion Editor Java Basics - Anfänger-Themen 4
S Erste Schritte Probleme Editor (Windows) Java Basics - Anfänger-Themen 13
B Editor does not contain a main type Java Basics - Anfänger-Themen 3
F Erster Tag mit Java Editor Java Basics - Anfänger-Themen 32
H Problem beim Anfang von Java (Java Editor) Java Basics - Anfänger-Themen 2
C Textdatei mit eigenem .jar Editor öffnen Java Basics - Anfänger-Themen 11
F html editor Java Basics - Anfänger-Themen 5
G Kann mit Java Editor keine Programme schreiben Java Basics - Anfänger-Themen 5
F Image Editor Java Basics - Anfänger-Themen 2
B OOP Objekt klonen (Grundzustand), um in Editor "Abbrechen" zu können Java Basics - Anfänger-Themen 4
H Java Editor richtig konfogurieren Java Basics - Anfänger-Themen 8
H warum speicher und läd mien editor nicht? Java Basics - Anfänger-Themen 24
J Java - Editor Java Basics - Anfänger-Themen 8
H Multiple JFrames im GUI Editor von NetBeans Java Basics - Anfänger-Themen 2
J Editor für grafische Oberfläche Java Basics - Anfänger-Themen 12
J Probleme mit Visual Editor Komponenten auf Panel legen Java Basics - Anfänger-Themen 4
B .txt Datei mit Editor öffnen Java Basics - Anfänger-Themen 8
K Ich möchte in einem Text Editor cut, copy ,paste einfügen! Java Basics - Anfänger-Themen 2
C Editor does not contain a main type Java Basics - Anfänger-Themen 7
K Entwicklungsumgebung Eclipse und Visual Editor Plugin Java Basics - Anfänger-Themen 5
G Habe ein Problem mit syn-Editor ( beim compilieren) Java Basics - Anfänger-Themen 4
G *.java Datei mit Editor starten und testen Java Basics - Anfänger-Themen 6
G Suche Guten Editor zum Loggen Java Basics - Anfänger-Themen 3
H Java Editor Java Basics - Anfänger-Themen 7
C problem miteinfachem editor Java Basics - Anfänger-Themen 8
K Grundlegendes Problem - Editor funktioniert nicht Java Basics - Anfänger-Themen 9
O Editor hängt sich auf Java Basics - Anfänger-Themen 21
O Swing Editor - Menüeintrag deaktivieren Java Basics - Anfänger-Themen 13
C Java Editor Java Basics - Anfänger-Themen 7
C Java-Editor einrichten Java Basics - Anfänger-Themen 6
B problem mit editor Java Basics - Anfänger-Themen 3
C Editor basteln Java Basics - Anfänger-Themen 8
C Syntaxhighlighting OHNE Editor Java Basics - Anfänger-Themen 4
F Wie benutze ich mein java programm ohne editor? Java Basics - Anfänger-Themen 2
I Editor auswahl Java Basics - Anfänger-Themen 6
J Wie installiere ich die api index.html in meinen java editor Java Basics - Anfänger-Themen 4
zilti Graphischer Editor? Java Basics - Anfänger-Themen 9
S Dartscheibe mit Java editor von gerhard röhner Java Basics - Anfänger-Themen 2
M Suche einen ganz einfachen Editor (syntax Highlighting+comp) Java Basics - Anfänger-Themen 7
D Editor automatisch starten ? Java Basics - Anfänger-Themen 4
C Clear im Grafik Editor Java Basics - Anfänger-Themen 16
A Line-Editor Java Basics - Anfänger-Themen 2
L Probleme bei Visual Editor Installation Java Basics - Anfänger-Themen 4
G Eclipse RC2 und Visual Editor Probleme Java Basics - Anfänger-Themen 3
E Ohne Editor Java- Programm starten Java Basics - Anfänger-Themen 4
M HTML Editor mit Java? Java Basics - Anfänger-Themen 6
G Problem mit einfachem TXT-Editor Java Basics - Anfänger-Themen 2
G Rich Text Editor - mit Java möglich? Java Basics - Anfänger-Themen 2
C Text in den Editor übernehmen Java Basics - Anfänger-Themen 5
N Hey Leute und zwar versuche ich gerade ein 2D Spiel zu Programmieren aber die Figur will sich nicht nach links oder rechts bewegen :( Java Basics - Anfänger-Themen 12
B OOP was heißt objektorientiertes Programmieren (fragt ein absoluter Anfänger) Java Basics - Anfänger-Themen 17
laxla123 Rechteck programmieren Java Basics - Anfänger-Themen 4
A Erste Schritte Dynamische Stempel im PDF Exchange programmieren Java Basics - Anfänger-Themen 0
D Programmieren nach UML Java Basics - Anfänger-Themen 2
Y Taschenrechner programmieren Java Basics - Anfänger-Themen 3
B Überweisung programmieren Java Basics - Anfänger-Themen 7
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
D Ampel Programmieren die jede 10 sekunden ihre farbe wechselt Java Basics - Anfänger-Themen 6
J ArrayList add methode selbst programmieren Java Basics - Anfänger-Themen 10
00111010101 Objektorientiertes Programmieren mit Vererbung (Zahlen in Array verschwinden) Java Basics - Anfänger-Themen 3
thor_norsk Fernseher programmieren mit Java Java Basics - Anfänger-Themen 4
M Jenga Regeln Java Programmieren Java Basics - Anfänger-Themen 1
M Ressourcensparend programmieren Java Basics - Anfänger-Themen 3
brypa Wie Programmieren lernen? Java Basics - Anfänger-Themen 15
G Spielerwechsel programmieren Java Basics - Anfänger-Themen 1
J Solitär (Brettspiel) programmieren Java Basics - Anfänger-Themen 3
H Objektorientiertes Programmieren Java Basics - Anfänger-Themen 4
K 12- Stunden Konverter Programmieren Java Basics - Anfänger-Themen 1
WAB9703-04 Programm zum automatischen Ausfüllen von Formularen programmieren Java Basics - Anfänger-Themen 3
L Zahlenspiel programmieren Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben