Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

AWT

Mitglied: duddits

duddits (Level 2) - Jetzt verbinden

04.12.2005, aktualisiert 13.12.2005, 4892 Aufrufe, 2 Kommentare

Wie kann man etwas bei einer TextArea makieren???

Hi,

ich möchte einen Editor schreiben. Möchte aber AWT benutzen und kein Swing.
Habe derzeit Probleme die Typischen Bearbeiten Funktionen, wie z.B. makieren, kopieren, ausschneiden, rückgängig etc. zu verwirklichen.
Gibt es dazu schon vorgefärtigte Klassen,Methoden, etc. ?
Wenn ja welche ?
Oder kann mir jemand einen Tipp oder Hinweis geben wie ich das realisieren kann?
Falls es sich doch nicht so leicht mit AWT realisieren lässt, bin ich auch gewillt auf andere Bibiliotheken oder Klassen zurückzugreifen(z.B. SWT, Swing).

Bin über jeden Hinweis dankbar.

mfg duddits
Mitglied: duddits
06.12.2005 um 22:50 Uhr
Hi,

da keiner antwortet. Habe das Problem mittlweweile selber gelöst, doch jetzt würde ich gerne wissen wie ich die Zwischenablage (am besten Linux und Windows , aber primär Windows) nutzen kann. Den meine Kopier Funktoion ist nur inerhalb de Editors gültig.
Ich möchte aber das dies überall gültig ist.

mfg duddits
Bitte warten ..
Mitglied: duddits
13.12.2005 um 22:42 Uhr
Hi,

da sich anscheinend nicht viele mit java hier auskennen, möchte ich den jenigen doch mal kutz sagen wie jetzt mein problem gelöst habe.
Habe mich dazu genötigt mit swing zu arbeiten. Diese Klasse bietet auch schon direkt die methoden zum kopieren, ausschneiden oder einfügen.
Hier ein ausschnitt aus meinen Programm in der Version 0.1
<font class="code">
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.undo.*;

public class Version2 extends Frame implements ActionListener {

final JTextArea ta;

static Version2 ver;

String savepath = "";

String save;

Object content;

private Image icon, image;

final UndoManager undomanager;

public Version2() {
super("Jaditor (c) by Daniel Baier");
setSize(400, 450);
setBackground(Color.black);
setLayout(null);
setMenuBar(new MenuForVersion2(this));
undomanager = new UndoManager();
undomanager.setLimit(10);
ta = new JTextArea();
ta.setAutoscrolls(true);
ta.setBounds(20, 60, 350, 365);

ver.getContentPane().add( new JScrollPane(textarea) );
ta.getDocument().addUndoableEditListener(undomanager);

undomanager.setLimit(1000);
add(ta);

this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
try {
String optionen[] = { "Ja", "Nein", "Abruch" };

int n = JOptionPane
.showOptionDialog(
null,
"Willst du wirklich Jaditor beenden ? \n Alle Änderungen werden verworfen.",
Fragetext
"Jaditor", Titel
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE,
Icon
null, optionen, optionen[0]);

if (n == JOptionPane.YES_OPTION) {
System.exit(0);
}
if (n == JOptionPane.NO_OPTION) {
if (savepath == "") {

FileDialog fd = new FileDialog(ver,
"Speichern unter..", FileDialog.SAVE);
fd.show();

FileWriter fw = new FileWriter("/"
+ fd.getDirectory() + "/" + fd.getFile()
+ ".jad");

BufferedWriter bw = new BufferedWriter(fw);
bw.write(ta.getText());

bw.flush();
bw.close();
savepath = "/" + fd.getDirectory() + "/"
+ fd.getFile() + ".jad";

} else {

FileWriter fw = new FileWriter(savepath);

BufferedWriter bw = new BufferedWriter(fw);
bw.write(ta.getText());
bw.flush();
bw.close();

}
}
} catch (Exception ee) {

}
}
});



}

public void actionPerformed(ActionEvent e) {
try {

String actions = e.getActionCommand();
if (actions.equals("Beenden")) {

String optionen[] = { "Ja", "Nein", "Abruch" };

int n = JOptionPane
.showOptionDialog(
null,
"Willst du wirklich Jaditor beenden ? \n Alle Änderungen werden verworfen.", Fragetext
"Jaditor",
Titel
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, Icon
null, optionen, optionen[0]);

if (n == JOptionPane.YES_OPTION) {
System.exit(0);
}
if (n == JOptionPane.NO_OPTION) {
if (savepath == "") {

FileDialog fd = new FileDialog(ver,
"Speichern unter..", FileDialog.SAVE);
fd.show();

FileWriter fw = new FileWriter("/" + fd.getDirectory()
+ "/" + fd.getFile() + ".jad");

BufferedWriter bw = new BufferedWriter(fw);
bw.write(ta.getText());

bw.flush();
bw.close();
savepath = "/" + fd.getDirectory() + "/" + fd.getFile()
+ ".jad";

} else {

FileWriter fw = new FileWriter(savepath);

BufferedWriter bw = new BufferedWriter(fw);
bw.write(ta.getText());
bw.flush();
bw.close();

}
}
} else if (actions.equals("Alles makieren")) {
ta.selectAll();

} else if (actions.equals("Speichern")) {
try {
if (savepath == "") {

FileDialog fd = new FileDialog(ver,
"Speichern unter..", FileDialog.SAVE);
fd.show();

FileWriter fw = new FileWriter("/" + fd.getDirectory()
+ "/" + fd.getFile() + ".jad");

BufferedWriter bw = new BufferedWriter(fw);
bw.write(ta.getText());

bw.flush();
bw.close();
savepath = "/" + fd.getDirectory() + "/" + fd.getFile()
+ ".jad";

} else {

FileWriter fw = new FileWriter(savepath);

BufferedWriter bw = new BufferedWriter(fw);
bw.write(ta.getText());
bw.flush();
bw.close();

}

} catch (IOException ioe) {
System.err.println(ioe.getMessage());
}

} else if (actions.equals("Speichern unter..")) {

FileDialog fd = new FileDialog(ver, "Speichern unter..",
FileDialog.SAVE);
fd.show();

try {
FileWriter fw = new FileWriter("/" + fd.getDirectory()
+ "/" + fd.getFile() + ".jad");

BufferedWriter bw = new BufferedWriter(fw);
bw.write(ta.getText());
bw.flush();
bw.close();
savepath = "/" + fd.getDirectory() + "/" + fd.getFile()
+ ".jad";
} catch (IOException ioex) {
}
} else if (actions.equals("Öffnen")) {

FileDialog fd = new FileDialog(ver, "Öffnen", FileDialog.LOAD);
fd.show();

try {

BufferedReader br = new BufferedReader(new FileReader(fd
.getDirectory()
+ "/" + fd.getFile()));

StringBuffer sb = new StringBuffer();
String line;

for (int i = 1; i < 999999999; i++) {
line = br.readLine();
if (line == null) {
break;
}
sb = sb.append(line + "\n");
ta.setText(sb.toString());
}

br.close();
savepath = "/" + fd.getDirectory() + "/" + fd.getFile()
+ ".jad";
} catch (IOException ioex) {
}

} else if (actions.equals("Neu")) {
savepath = "";
ta.setText("");
} else if (actions.equals("Kopieren")) {
ta.copy();
} else if (actions.equals("Einfügen")) {
ta.paste();
mezhode von swing zum einfügen aus zwischenablage
} else if (actions.equals("Ausschneiden")) {
ta.cut();
}else if (actions.equals("Löschen")) {
ta.replaceSelection("");
}
} catch (Exception ex) {
String optionen[] = { "OK" };

int n = JOptionPane.showOptionDialog(null, ex.toString(), Fragetext
"Jaditor - Fehler",
Titel
JOptionPane.OK_OPTION, JOptionPane.ERROR_MESSAGE, // Icon
null, optionen, optionen[0]);
}
}

public static void main(String[] args) {
Splash sp = new Splash("logo.jpg",ver);
try{
Thread.sleep(6000);
sp.setVisible(false);
}catch(Exception e){

}
ver = new Version2();
ver.setVisible(true);
}
}
</font>

Das tolle daran es funktioniert unter windows und linux.

mfg duddits
Bitte warten ..
Neue Wissensbeiträge
Erkennung und -Abwehr

VPNFilter Maleware - Großes Botnetz auf NAS und Routern in 54 Ländern aufgedeckt

Information von Frank vor 34 SekundenErkennung und -Abwehr

Nach Angaben von Cisco und der Sicherheitsfirma Talos wurde ein sehr großes Botnet auf Routern und NAS-System entdeckt. Die ...

Windows Server

Scheduled Task zum Log - Löschen direkt aus der SCOM Console

Tipp von Juanito vor 6 StundenWindows Server

SCOM Agent Task - Create Log Deletion Job Einleitung: Viele Applikationen und Dienste die auf Servern laufen erstellen Log ...

Humor (lol)

Ratgeber: Die wichtigsten Fragen und Antworten zur neuen Datenschutz-Grundverordnung (DSGVO)

Information von BassFishFox vor 7 StundenHumor (lol)2 Kommentare

Hier bleiben keine Fragen offen. ;-)

Humor (lol)
Wieder mal DSGVO
Information von brammer vor 19 StundenHumor (lol)2 Kommentare

Mal was zum Lachen: Der Countdown zur Datenschutz-Grundverordnung läuft. Ab 25. Mai sollte man folgende Regeln beachten: Visitenkarten nur ...

Heiß diskutierte Inhalte
HTML
Link nicht vollständig
Frage von jensgebkenHTML33 Kommentare

Hallo Gemeinschaft, ich erstelle mit Word einen Serienbrief, den ich per Mail versende. Nun mein Problem der Wordserienbrief holt ...

Datenschutz
E-Mail Verschlüsselung DSGVO 2018
Frage von SoccerdeluxDatenschutz28 Kommentare

Hallo zusammen, ich verzweifele langsam und wende mich an euch und hoffe vielleicht ein paar Antworten zu finden. Ich ...

Rechtliche Fragen
DISKUSSION: Was bringt der Disclaimer "Wenn Sie nicht der Empfänger sind."
Frage von N8DragonRechtliche Fragen23 Kommentare

So oder ähnlich, lese ich immer wieder Kleingedrucktes am Ende diverser Mails. Letzten Endes wollen sie mir alle sagen, ...

Server-Hardware
HPE DL 360e GEN8 - P420 - Lüfter drehen auf nach Festplattenwechsel
Frage von maniacmacpainServer-Hardware20 Kommentare

Hallo, ich kenne den Effekt, dass man bei der GEN8 von HP ein Array eingerichtet haben muss, damit die ...