Textausgabe erzeugen

David12345

Mitglied
Hiho,

bin gerade an einem kleinen eigenem Projekt am herumbastlen und wollte bei einem Klick auf einen Button, das das System darauf Enter drückt, einen Text eingibt und wieder Enter drückt (ist für häufig genutzte Sätze in einem IngameChat gedacht).
Wie also kann ich in meiner ActionPerformed Methode diese Funktionalität unterbringen.
Wäre nett wenn jemand ein kurzes Stück Code als Beispiel postet. Im Vorraus schonmal vielen Dank.
 

Volvagia

Top Contributor
Könnte man per Robot erreichen, wäre aber imo ne Schnapsidee.
Wozu willst du den Text eintippen und enter emulieren? :autsch: Da reicht es doch, ihm zum Server/Client zu schicken und ins eigene Chatfenster einzutragen.
 

David12345

Mitglied
Ich hab ein Overlay geschrieben und sobald ich einen Button klicke möchte ich das ein von mir bereits festgelegter Text in den Chat geschrieben wird. Der Chat wird mit Enter geöffnet , dann soll der von mir vorgegebene String eingetippt werden und mit nochmaligem Enter abgeschickt.

Also bei drücken des Buttons soll mein Programm ganz einfach KeyEvent.VK_ENTER meintextblablabla KeyEvent.VK_ENTER schreiben.
 
Zuletzt bearbeitet:

Volvagia

Top Contributor
Ich weiß zwar nicht, was in Java ein Overlay ist (kenne den Begriff nur von Grafikkarten), aber mit Robot kannst du beliebige Tastendrücke emulieren.
 

David12345

Mitglied
Ich habe mit java eine GBO geschrieben für eine Computerspiel und dabei bereits diverse Funktionen eingebaut nun möchte ich aber ganz einfach eine paar Buttons hinzufügen, bei denen auf Click zBsp. Go back , Can u pls play more defensive , ..... in den Chat geschrieben wird




edit: also ich habe das jetzt mal schnell runtergeschrieben
Java:
String s1 = s.replace("_", " ");
                    Robot robot = null;
                    try
                    {
                        robot = new Robot();
                    }
                    catch (AWTException e1)
                    {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }                               
                    
                    robot.keyPress(KeyEvent.VK_ENTER); 
                    for(int i = 0; i<s1.length();i++) 
                    {
                        robot.keyPress(s1.charAt(i));
                    }
                    robot.keyPress(KeyEvent.VK_ENTER);
 
Zuletzt bearbeitet:

Volvagia

Top Contributor
Jetzt musste ich erst mal googlen. Wer kommt denn darauf, dass GBO soviel wie GUI, also vermutlich Graphische Benutzeroberfläche heißt? ^^

Du wirst es doch wahrscheinlich so haben, oder?

Java:
{
	irgendwas.add(new JButton(new AbstractAction("Enter") {
		writeToChat(chatField.getText());
	}));
}
private void writeToChat(String text) {
	text = filterIllegalChatChars(text);
	chatOutputArea.append(text);
	chatOutputArea.append('\n');

	distributeChatText(text);
}

Wäre es da nicht viel geschickter es so zu machen, anstatt die Robot zu verwenden?

Java:
{
	irgendwas.add(new JButton(new AbstractAction("Enter") {
		writeToChat(chatField.getText());
	}));

	irgendwas.add(new JButton(new AbstractAction("Macro") {
		writeToChat("Can u pls play more defensive?");
	}));
}
private void writeToChat(String text) {
	text = filterIllegalChatChars(text);
	chatOutputArea.append(text);
	chatOutputArea.append('\n');

	distributeChatText(text);
}
 

David12345

Mitglied
Also mein Code sieht so aus. Vorher wird noch ein String[] mit Namen "list" initialisiert mit den jeweiligen Nachrichten.


Java:
 for (int i = 0; i < list.length; i++)
        {
            WriteButton button = new WriteButton();
            final String s = list[i];
            Image image = ResourceLoader.getImage(s);
            image = image.getScaledInstance(lct.getImageSize(), lct.getImageSize(), Image.SCALE_SMOOTH);
            button.setBackgroundImage(image);
            button.addMouseListener(new MouseAdapter()
            {

                @Override
                public void mousePressed(MouseEvent e)
                {
                    String s1 = s.replace("_", " ");
                    Robot robot = null;
                    try
                    {
                        robot = new Robot();
                    }
                    catch (AWTException e1)
                    {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }                               
                    
                    robot.keyPress(KeyEvent.VK_ENTER); 
                    for(int i = 0; i<s1.length();i++) 
                    {
                        robot.keyPress(s1.charAt(i));
                    }
                    robot.keyPress(KeyEvent.VK_ENTER); 

                }


gibt es dafür noch bessere Lösungen ??
 
Zuletzt bearbeitet:

timbeau

Gesperrter Benutzer
Ich finde die Idee nicht schlecht. Klar kann man bei nem Knopfdruck auch direkt das auszulösende Event absetzen ohne den Knopfdruck zu emulieren aber falls weitere gleiche Effekte gewünscht sind wie bei einem Buttonklick, passt das schon so.
 

HimBromBeere

Top Contributor
Hey,

mich würde ja mal interessieren, wie du das emulierte Tastenereignis dann an die entsprechende Anwendung (deinen Spielchat) weitergeleitet hast. Bei Mausereignissen geht das ja einfach, da man den Mauszeiger ja in das betreffende Fenster setzen kann, aber bei Tastenereignissen? Irgendwo sollte man eine Art Liste haben, welche Programme dann auf die Ereignisse hören, wenn ich mich recht erinnere, hieß sowas HookUpChain, aber wie baut man die?

[EDIT]Hab´s jetzt brachial gelöst, also einfach einen Mausklick im btereffenden Fenster simuliert, aber weder die genaue Methoide dafür gefällt mir noch dieses Vorgehen.
[/EDIT]

[EDIT]
Ich erstell einfach mal ein eigenes Thema hierfür, sonst wird das hier wieder eine Themenschlacht...[/EDIT]
 
Zuletzt bearbeitet:
M

Marcinek

Gast
Hallo,

1. man hijackt keine Threads.

2. es gibt eine Edit-Funktion um Doppel Posts zu vermeiden.

3. Eventuell mal "java robot tutorial" googeln.

Das sind Basics.

PLease close this.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Textausgabe in einer For-Schleife Java Basics - Anfänger-Themen 12
A Eine Krone in der Textausgabe - Mein Code Java Basics - Anfänger-Themen 11
M Langsame Textausgabe Java Basics - Anfänger-Themen 4
J Input/Output javac HelloWorld.java - Keine Textausgabe in der Konsole Java Basics - Anfänger-Themen 4
C Textausgabe in Applet Java Basics - Anfänger-Themen 12
T Einfache Textausgabe .java unter OS X Java Basics - Anfänger-Themen 13
C Textausgabe auf Panelen innerhalb eines Applets Java Basics - Anfänger-Themen 6
P Befehl zum einrücken der textausgabe? Java Basics - Anfänger-Themen 6
P Verzögerung der Textausgabe Java Basics - Anfänger-Themen 4
M Beliebige Textausgabe des Nutzers Java Basics - Anfänger-Themen 7
P Textausgabe im window Java Basics - Anfänger-Themen 6
S Verständnisfragen / Textausgabe (Java Applets) Java Basics - Anfänger-Themen 4
Kidao Textausgabe mit Positionangabe Java Basics - Anfänger-Themen 3
A Menu + Textausgabe = funktioniert nicht Java Basics - Anfänger-Themen 2
F textausgabe will nicht ^^ Java Basics - Anfänger-Themen 6
O Textausgabe in Datei Java Basics - Anfänger-Themen 6
U Textausgabe für Inhalt eines Vectors! Java Basics - Anfänger-Themen 4
W Javadoc HTML erzeugen mit allen dependency Java Basics - Anfänger-Themen 11
J Delay erzeugen, ohne Programm zu blockieren Java Basics - Anfänger-Themen 7
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
BeginnerJava String mit vorgegebener Länge und Buchstaben erzeugen/ mit Leerstellen Java Basics - Anfänger-Themen 8
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
H Artefact mit Bild erzeugen Java Basics - Anfänger-Themen 11
E Rekursiv Objekte erzeugen - geht das? Java Basics - Anfänger-Themen 2
F Aus eingelesener Datei korrekt Objekte erzeugen Java Basics - Anfänger-Themen 5
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
C Runnable Jar-File erzeugen Java Basics - Anfänger-Themen 14
W Mehrfach das gleiche Attribut für ein Objekt erzeugen (mit verschiedenen Werten) Java Basics - Anfänger-Themen 2
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
C Instanzen, wann muss ich Instanzen erzeugen & wo?) Java Basics - Anfänger-Themen 23
S Erzeugen einer eindeutigen ID Java Basics - Anfänger-Themen 2
E Objekt durch Benutzer über Konsole erzeugen - Java Java Basics - Anfänger-Themen 3
L Simples Spielfeld erzeugen Java Basics - Anfänger-Themen 1
G Anklickbaren Text erzeugen Java Basics - Anfänger-Themen 2
I Object-Oriented Programming, Objekt erzeugen Java Basics - Anfänger-Themen 1
P Objekt aus String-Array erzeugen Java Basics - Anfänger-Themen 104
S Mit nextGaussian() positive Zahlen erzeugen? Java Basics - Anfänger-Themen 39
S Array erzeugen mit verschiedener Verteilung Java Basics - Anfänger-Themen 11
B Automatisch Objekte erzeugen mit verschiedenen Namen Java Basics - Anfänger-Themen 4
L Dynamische Anzahl an Arrays mit verschiedenen Namen erzeugen Java Basics - Anfänger-Themen 6
J Doppelte Ausgabe erzeugen Iterator Java Basics - Anfänger-Themen 6
N ArrayList in eigener Klasse erzeugen mit Zugriff Java Basics - Anfänger-Themen 7
K Methoden JTExtField mit Array erzeugen Java Basics - Anfänger-Themen 13
B Kann man eine Tabelle in Eclipse erzeugen und damit arbeiten? Java Basics - Anfänger-Themen 8
E Best Practice Jar-file mit zwei Klassen und externer Bibliothek über Konsole erzeugen Java Basics - Anfänger-Themen 13
I TextField Array mit for Loop erzeugen Java Basics - Anfänger-Themen 4
M Objekte mit einer Schleife mehrmals erzeugen Java Basics - Anfänger-Themen 17
G Objekt der selben Klasse wie selbst mit Aufrufen des Konstruktors erzeugen Java Basics - Anfänger-Themen 14
J Eindeutige Nummer (8 stellig) erzeugen Java Basics - Anfänger-Themen 9
C Instanz einer Klasse während if-Abfrage erzeugen und bei zweiter if-Abfrage wiederverwenden Java Basics - Anfänger-Themen 6
B OOP Objekt in IF erzeugen - funktioniert nicht so richtig Java Basics - Anfänger-Themen 11
neerual Int-Felder erzeugen Java Basics - Anfänger-Themen 16
R Objekte zur Laufzeit in Schleife erzeugen und in ArrayList ablegen Java Basics - Anfänger-Themen 4
D Erste Schritte Random erzeugen Java Basics - Anfänger-Themen 28
P Objekt mit =new in Methode erzeugen Java Basics - Anfänger-Themen 4
L Threads Laufbild Erzeugen Problem mit Aktualisieren des JPanels Java Basics - Anfänger-Themen 2
J In Java einen Ton erzeugen Java Basics - Anfänger-Themen 8
C Array Muster erzeugen Java Basics - Anfänger-Themen 2
S Objekte "gegebenfalls" erzeugen Java Basics - Anfänger-Themen 5
D Java Ausdruck erzeugen / Formular Java Basics - Anfänger-Themen 4
N Objekt in Methode einer anderen Klasse erzeugen Java Basics - Anfänger-Themen 9
R Baum erzeugen Java Basics - Anfänger-Themen 61
D Objekt per If erzeugen. Java Basics - Anfänger-Themen 11
J Bildschirmausgabe erzeugen Java Basics - Anfänger-Themen 30
B Beliebig viele Rechtecke erzeugen Java Basics - Anfänger-Themen 5
J Objekt mit Methodendruchlauf erzeugen Java Basics - Anfänger-Themen 1
Detox Class Datei erzeugen nicht möglich über cmd Java Basics - Anfänger-Themen 1
P Erste Schritte [gelöst]Erzeugen einer Klasse aus der Klassenbibliothek Java Basics - Anfänger-Themen 4
C Int mit vorangestellten Nullen und maximal 4 stellen erzeugen. Java Basics - Anfänger-Themen 4
P Input/Output Objekte per Eingabe erzeugen Java Basics - Anfänger-Themen 1
D Erste Schritte Dynamisch Objekte erzeugen und diese durchsuchen Java Basics - Anfänger-Themen 7
U JNA: Strukturen erzeugen Java Basics - Anfänger-Themen 8
S Variablen Variable erzeugen und Array mit Variablen befüllen Java Basics - Anfänger-Themen 26
S Header- Datei erzeugen mit javah Java Basics - Anfänger-Themen 1
J Objekte zur Laufzeit erzeugen und direkt verwenden Java Basics - Anfänger-Themen 9
R Erste Schritte Schleife erzeugen (mit If Anweisung) Java Basics - Anfänger-Themen 3
I HTML Tabelle nur so lange erzeugen bis Höhe erreicht Java Basics - Anfänger-Themen 9
M Zusatzzahlen in array erzeugen Java Basics - Anfänger-Themen 5
B Stützstellen (Vektor) erzeugen? Java Basics - Anfänger-Themen 8
Z Erste Schritte 9x9 Felder Erzeugen+Aufrufen Java Basics - Anfänger-Themen 1
Y Variable Menge von Objekten erzeugen und mit ihren Attributen rechnen Java Basics - Anfänger-Themen 7
J Anzahl von for-Schleifen in Abhängigkeit von Zahleneingabe erzeugen Java Basics - Anfänger-Themen 1
J JLabels in schleife erzeugen mit verschiedenen namen? Java Basics - Anfänger-Themen 5
K JLabel zur Laufzeit dynamisch erzeugen Java Basics - Anfänger-Themen 7
F Input/Output Blocking file read erzeugen Java Basics - Anfänger-Themen 0
Thallius Klassen aus Classname programmatisch erzeugen. Wie geht das in java? Java Basics - Anfänger-Themen 5
B Zufallsdatum innerhalb eines bestimmten Bereiches erzeugen Java Basics - Anfänger-Themen 3
D JComboBox erzeugen Java Basics - Anfänger-Themen 1
J Erste Schritte Array dyn. erzeugen Java Basics - Anfänger-Themen 2
A OOP Objekte per Schleife erzeugen Java Basics - Anfänger-Themen 1
F Superklasse nochmals erzeugen? Java Basics - Anfänger-Themen 7
G Instanzen eines Interfaces erzeugen Java Basics - Anfänger-Themen 7
M Variablen Variable zur Laufzeit erzeugen Java Basics - Anfänger-Themen 3
P Vererbung Neues Objekt aus Vorlage erzeugen Java Basics - Anfänger-Themen 1
M Erzeugen beliebig vieler Objekte, aber wie wechselnde Bezeichner? Java Basics - Anfänger-Themen 5
W Objekte erzeugen Java Basics - Anfänger-Themen 2
N Interface Interface (sinnvoll) erzeugen Java Basics - Anfänger-Themen 8
L 6stellige Zufallszahlen erzeugen & auf einzigartigkeit prüfen Java Basics - Anfänger-Themen 3
A Kleinste Ziffer im Array suchen um Sortierung zu erzeugen Java Basics - Anfänger-Themen 2
Joew0815 Interface JSON Objekte aus Java Objekten erzeugen Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben