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, 4914 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
Windows Mobile

Support für Windows Mobile endet im Dezember 2019

Information von transocean vor 1 TagWindows Mobile

Moin, Microsoft empfiehlt als Alternative den Umstieg auf iOS oder Android, wie man hier lesen kann. Gruß Uwe

Internet

Kommentar: Bundesregierung erwägt Ausschluss von Huawei im 5G-Netz - Unsere Presse wird immer sensationsgieriger

Information von Frank vor 3 TagenInternet5 Kommentare

Hier mal wieder ein schönes Beispiel für fehlgeleiteten Journalismus und Politik zugleich. Da werden aus Gerüchten plötzlich Fakten, da ...

Windows 10

Netzwerk-Bug in allen Windows 10-Versionen durch Januar 2019-Updates

Information von kgborn vor 3 TagenWindows 101 Kommentar

Nur ein kurzer Hinweis für Admins, die Windows 10-Clients im Portfolio haben. Mit den Updates vom 8. Januar 2019 ...

Windows 10

Windows 10 V1809: Rollout ist gestartet - kommt per Windows Update

Information von kgborn vor 3 TagenWindows 102 Kommentare

Eine kurze Information für die Admins, die Windows 10 im Programm haben. Microsoft hat die letzte Baustelle (die Inkompatibilität ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Temporäre WLAN Verbindung für AD-Login
Frage von Christian.WidauerLAN, WAN, Wireless13 Kommentare

Hallo zusammen, ich weiß leider nicht unter welchem Begriff ich dafür suchen muss, daher habe ich bisher leider nichts ...

LAN, WAN, Wireless
Bekannte Drosselungen bei Providern ?
Frage von HenereLAN, WAN, Wireless11 Kommentare

Servus zusammen, in bereits angefangen, aber ich hoffe dass der Beitrag hier mehr Informationen bringt. Sind Portdrosselungen bzw gezielte ...

Netzwerkmanagement
Server bauen
Frage von JugendringNetzwerkmanagement11 Kommentare

Moin Moin, wir, der Jugendring sind ein ständig wachsender Verein mit vielen Unterprojekten. Da liegt es nah, dass wir ...

DNS
SFTP über DynDNS nicht OK - über ext. IP funktioniert es
gelöst Frage von C.MorgensternDNS10 Kommentare

Hallo zusammen! Ich habe Probleme beim SFTP Zugriff auf eine Linux Maschine vom WAN aus über eine DynDNS Adresse. ...