Text einlesen nach Mausdruck auf Button

Lirave

Aktives Mitglied
Hallo,

ich wollte mal fragen, ob jemand mir ein kleines Codebeispiel geben kann.

Und zwar von einem Gui Fenster das ein Textfeld hat und ein Button.

Wenn man auf den Button drückt, soll der Text in dem Textfeld in eine Variable eingelesen werden.

Sitze jetzt schon seit Stunden daran, bekomme das aber leider nicht gebacken, besonders das mit dem einlesen, nachdem man auf den Button gedrückt hat.

Ich hoffe ihr könnt mir da behilflich sein.

Mfg Lirave
 

eRaaaa

Top Contributor

Lirave

Aktives Mitglied
Ne Hausaufgaben gibt es für mich schon lange nicht mehr :)
Ist rein inteessehalber, derzeit bin ich soweit :


Java:
import javax.swing.*;


public class Board{
	
	private JPanel mainPanel = new JPanel();
	private JTextField text = new JTextField();
	private JButton button = new JButton("einlesen");
	
	public Board(){
		mainPanel.add(text);
		mainPanel.add(button);		
	}

	
	private static void createAndShowGUI(){
		JFrame frame = new JFrame("Test GUI");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().add(new Board().getPanel());
		frame.pack();
		frame.setLocationRelativeTo(null);
		frame.setVisible(true);
	}
	
	public JComponent getPanel()
	{
	return mainPanel;
	}
	
	public static void main(String[] args){
		
		javax.swing.SwingUtilities.invokeLater(new Runnable(){
			public void run(){
				createAndShowGUI();
			}
		});
	}
}


leider funktioniert es bei mir noch nicht ("could not find the main class")

Dann schaue ich mir das mit dem ActionListener mal an.


edit: ok gab nur Probleme in eclipse geht nun zu starten, schaue mir das mit dem Actionlistener an.
 
Zuletzt bearbeitet:

Lirave

Aktives Mitglied
Hm habe es getestet, aber das Textfeld sieht nicht so aus wie es sein soll, habe noch etwas geändert.

Java:
	public Board(){
		mainPanel.add(text);
		mainPanel.add(button);
		
		text.setBounds(5,10,400,25);	
		button.setBounds(300,830,100,30);

		}

aussehen tut es aber so :
ivrmwix6.jpg
 

eRaaaa

Top Contributor
ne ne, mach mal das mit setBounds wieder weg, Layoutmanager ist schon richtig :)

Benutze entweder
Code:
setPreferredSize(new Dimension(x,y,))
oder beim Erstellen des Textfeldes so etwas wie [c]new JTextField(20);[/c]
 

Lirave

Aktives Mitglied
so habe es, hoffe ich jedenfalls.

Nun sind leider neue Probleme aufgetaucht. In der Zwischenzeit habe ich bemerkt, das ich kein Textfeld, sondern ein Textarea benötige, da stellt sich für mich nur die Frage, wie ich den autmatischen Zeilenumbruch hinbekomme, und wie ich es schaffe das Feld auszugrauen nachdem ich auf den Button gedrückt habe, um zu verhindern, dass der Benutzer etwas am Text ändert.

Ach ja, damit der Button dauerhaft unter der Textarea angezeigt wird müsste ich ein Gridlayout verwenden richtig ?


Java:
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;


public class Board{
	
	private JPanel mainPanel = new JPanel();
	private JTextArea text = new JTextArea();
	private JButton button = new JButton("einlesen");
	public String string = "";
	
	public Board(){
		mainPanel.add(text);
		mainPanel.add(button);
		
		text.setPreferredSize(new Dimension(300,600));
		button.setPreferredSize(new Dimension(200,30));
		button.addActionListener(new buttonaction());
		}
	
	public class buttonaction implements ActionListener{
		
		public void actionPerformed (ActionEvent e){
			string = text.getText();
			if (string.equals("123")){
				System.out.println("war hier");
			}
		}
	}

	
	private static void createAndShowGUI(){
		JFrame frame = new JFrame("Test GUI");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().add(new Board().getPanel());
		frame.pack();
		frame.setLocationRelativeTo(null);
		frame.setVisible(true);
		}
	
	public JComponent getPanel(){
		return mainPanel;
		}
	
	public static void main(String[] args){
		
		javax.swing.SwingUtilities.invokeLater(new Runnable(){
			public void run(){
				createAndShowGUI();
			}
		});
	}
}
 

eRaaaa

Top Contributor
da stellt sich für mich nur die Frage, wie ich den autmatischen Zeilenumbruch hinbekomme,
setLineWrap / setWrapStyleWord
und wie ich es schaffe das Feld auszugrauen nachdem ich auf den Button gedrückt habe, um zu verhindern, dass der Benutzer etwas am Text ändert.
setEditable
Ach ja, damit der Button dauerhaft unter der Textarea angezeigt wird müsste ich ein Gridlayout verwenden richtig ?
nicht unbedingt! Using Layout Managers (The Java™ Tutorials > Creating a GUI With JFC/Swing > Laying Out Components Within a Container)
 

Lirave

Aktives Mitglied
Hat soweit geklappt, bei dem "ausgrauen", müsste ich sozusagen noch zusätzlich den Hintergrund in der Textarea noch grau färben.

Jetzt wollte ich noch ein scollpane rechts anfügen um den gesamten Text in der Textarea lesen zu können, dies klappt derzeit wie vermutet noch nicht, hoffe du kannst mir da auch sagen wie das richtig geht.



Java:
import java.awt.*;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;


public class Board{
	
	private JPanel mainPanel = new JPanel(new BorderLayout());
	private JTextArea textArea = new JTextArea();
	private JScrollPane scrollPane = new JScrollPane(textArea);	
	private JButton button = new JButton("einlesen");
	public String string = "";
	
	public Board(){
		mainPanel.add(textArea,BorderLayout.PAGE_START);
		mainPanel.add(button,BorderLayout.SOUTH);		
		mainPanel.add(scrollPane);

		
		textArea.setPreferredSize(new Dimension(300,600));
		textArea.setLineWrap(true);
		textArea.setWrapStyleWord(true);
		button.setPreferredSize(new Dimension(300,30));
		button.addActionListener(new buttonaction());
		}
	
	public class buttonaction implements ActionListener{
		
		public void actionPerformed (ActionEvent e){
			textArea.setEditable(false); 
			string = textArea.getText();
			if (string.equals("123")){
				System.out.println("war hier");
			}
			//weitere Funktionen
			textArea.setEditable(true); 
		}
	}

	
	private static void createAndShowGUI(){
		JFrame frame = new JFrame("Test GUI");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.getContentPane().add(new Board().getPanel());
		frame.pack();
		frame.setLocationRelativeTo(null);
		frame.setVisible(true);
		}
	
	public JComponent getPanel(){
		return mainPanel;
		}
	
	public static void main(String[] args){
		
		javax.swing.SwingUtilities.invokeLater(new Runnable(){
			public void run(){
				createAndShowGUI();
			}
		});
	}
}

Gruß Lirave
 

eRaaaa

Top Contributor
[java=17]
mainPanel.add(textArea,BorderLayout.PAGE_START);
mainPanel.add(button,BorderLayout.SOUTH);
mainPanel.add(scrollPane);
[/code]

--->

Java:
       mainPanel.add(srollPane,BorderLayout.PAGE_START);
        mainPanel.add(button,BorderLayout.SOUTH);

&

[java=22]
textArea.setPreferredSize(new Dimension(300,600));
[/code]

---->

Java:
srollPane.setPreferredSize(new Dimension(300,600));

probiers mal so!
 

Lirave

Aktives Mitglied
Danke funktioniert.

Wollte nun den Text, den ich in den string gespeichert habe Zeilenweise in ein String[] speichern.
Habe dies so probiert:

Java:
		string = textArea.getText();
			String[] textzeilen =  string.split("/n");
			
			textArea.setText(textzeilen[1]);

mit dem Beispieltext:


und habe erwartet, das er 456 ausgibt.

Leider scheint er keine Zeilenumbrüche zu übertragen, wie könnte ich den Text dennoch Zeilenweise aufteilen ?

Mfg Lirave
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Text einlesen code was kommt dahin? Java Basics - Anfänger-Themen 1
I Nur auf Abfrage von einer Text Datei einlesen Java Basics - Anfänger-Themen 11
P Text Datei einlesen und übertragen Java Basics - Anfänger-Themen 15
CptK Datentypen Text Dateien einlesen Java Basics - Anfänger-Themen 3
MaximilianTM Input/Output Einlesen und bearbeiten einer text Datei / Zeile Java Basics - Anfänger-Themen 5
F Input/Output Text einlesen lassen Java Basics - Anfänger-Themen 14
J Text Datei einlesen Java Basics - Anfänger-Themen 6
I BufferedReader Text-Datei einlesen??? Java Basics - Anfänger-Themen 1
S Text mit Programm einlesen und durchsuchen Java Basics - Anfänger-Themen 8
T Methoden merkwürdige Ausgabe bei text file einlesen Java Basics - Anfänger-Themen 19
L Input/Output Text Dateien einlesen, bearbeiten und speichern Java Basics - Anfänger-Themen 9
S Datenströne - Text in eine Datei einlesen, umwandeln und in eine neue Datei schreiben Java Basics - Anfänger-Themen 6
T UTF8 Text einlesen Java Basics - Anfänger-Themen 4
Z Text aus externer Datei in TextArea einlesen Java Basics - Anfänger-Themen 5
D Text einlesen in JTextfield und übertragen Java Basics - Anfänger-Themen 3
I Japanischen Text aus Textdokument einlesen Java Basics - Anfänger-Themen 35
T Beim XML-Parsen Text einlesen Java Basics - Anfänger-Themen 5
S Text einlesen mit JDK 1.2 Java Basics - Anfänger-Themen 7
H text string alle 100 zeichen in ein 1D array einlesen ? Java Basics - Anfänger-Themen 8
J Text in vorgegebenes Array einlesen Java Basics - Anfänger-Themen 2
J Text aus HTML einlesen Java Basics - Anfänger-Themen 3
I einen text von tastatur in array einlesen und auch ausgeben Java Basics - Anfänger-Themen 1
S Zahl bzw. Text einlesen Java Basics - Anfänger-Themen 6
richis-fragen JTable effektiv angezeigter Text ausgeben nicht Inhalt vom Model Java Basics - Anfänger-Themen 9
A Edit Text Negative Decimalzahlen Java Basics - Anfänger-Themen 18
P Aus Text Datei nur Zahlen übernehmen Java Basics - Anfänger-Themen 13
R Text in der DB abspeichern, und danach bearbeiten Java Basics - Anfänger-Themen 5
A JTextArea entfernen und durch neuen Text ersetzen Java Basics - Anfänger-Themen 8
JavaBeginner22 Button Text verändern Java Basics - Anfänger-Themen 1
GoenntHack Java Text von JLabel verändert sich nicht Java Basics - Anfänger-Themen 1
A Text zu Morsecode Java Basics - Anfänger-Themen 8
O Java Text Area Zeilenausgabe Java Basics - Anfänger-Themen 7
M Text wird in der Console nicht ausgegeben. Java Basics - Anfänger-Themen 11
berserkerdq2 An selbst ersteller txt Datei immer Text dranhängen, ohne den vorherign Text zu löschen Java Basics - Anfänger-Themen 8
M Text in Datei schreiben Java Basics - Anfänger-Themen 9
T208 Text Datei individuell benennen. Java Basics - Anfänger-Themen 5
A Werten aus dem Text ausliesten Java Basics - Anfänger-Themen 6
K Jlabel mit itemlistevent Text gegeben, wird nicht angezeigt Java Basics - Anfänger-Themen 5
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
O Text mit Regex trennen und wieder zusammenbauen Java Basics - Anfänger-Themen 5
xFlozen Text mehrspaltig ausgeben Java Basics - Anfänger-Themen 3
S Zufällige ungerade Zeile aus Text-Datei lesen Java Basics - Anfänger-Themen 5
K Rekursiver Vergleich von Textmuster und Text Java Basics - Anfänger-Themen 2
C Variablen Provided text for message may not be null Java Basics - Anfänger-Themen 9
H Klassen Die Länge einer Text-Node bestimmen Java Basics - Anfänger-Themen 2
F Erste Schritte java.util.Scanner: Beliebig langen Text per Paste in Console eingeben ? Java Basics - Anfänger-Themen 14
GermanPie Discord Text Channel erstellen? Java Basics - Anfänger-Themen 1
C JButton Text 2 Mal ändern funktioniert nicht Java Basics - Anfänger-Themen 8
yoskaem Text Color durch Klicken eines Buttons in anderer Activity ändern Java Basics - Anfänger-Themen 2
B Alle Links in einem Text suchen und ersetzen mit einem neuen Link Java Basics - Anfänger-Themen 18
J Java TextArea Text bei hinzufügen makieren Java Basics - Anfänger-Themen 1
T Text-Ausgabe für Textadventure - Organisation Java Basics - Anfänger-Themen 5
G Anklickbaren Text erzeugen Java Basics - Anfänger-Themen 2
B Text-Datei nur in Stream speichern und dann ausgeben Java Basics - Anfänger-Themen 3
M Java: BufferedReader liest nur die Hälfte der Text-Datei. Java Basics - Anfänger-Themen 4
M Apache POI PPT - Vertikales Alignment von Text im XSLFAutoShape Java Basics - Anfänger-Themen 2
P Taschenrechner Text übertragung Java Basics - Anfänger-Themen 3
J java.text.DecimalFormat Java Basics - Anfänger-Themen 5
AnnaBauer21 GridBagLayout JLabel weightx: Unterschiedliche Breite mit & ohne Text Java Basics - Anfänger-Themen 6
K Durch eine Text eingabe etwas Ausführen Java Basics - Anfänger-Themen 5
S Text-To-Speech mit Java Java Basics - Anfänger-Themen 2
L Text-Adventure Java Basics - Anfänger-Themen 3
M Input/Output Java Swing: Prüft ob Text aus JTextField ausschließlich Integer enthält Java Basics - Anfänger-Themen 15
ruutaiokwu Ausgegebene Zeile ersetzen mit neuem Text Java Basics - Anfänger-Themen 3
tsom Erste Schritte itext Text als Block auf neue Seite Java Basics - Anfänger-Themen 0
Dimax Programme ,als Text in MySql speichern Java Basics - Anfänger-Themen 7
Harlequin Compiler-Fehler Text Adventure - "Long Output" Fehler Java Basics - Anfänger-Themen 3
S Zeichen zählen kopierter Text Java Basics - Anfänger-Themen 6
D Text als Code in java-forum.com formatieren. Wie ? Java Basics - Anfänger-Themen 3
F Schreibprogramm nur markierten Text in kursiv oder fett schreiben Java Basics - Anfänger-Themen 3
A Rechnen mit Text und Zahl Java Basics - Anfänger-Themen 4
M Erste Schritte Verschlüsselung von text Java Basics - Anfänger-Themen 21
S Text aus einer HTML Datei auslesen Java Basics - Anfänger-Themen 1
S Java Text splitten mit Tabs, Zeilen, Zeichen und Klammern. Java Basics - Anfänger-Themen 6
M Beliebigen Text in *** umwandeln Java Basics - Anfänger-Themen 15
K (JTable) Text einer Zelle auf der linken Seite kürzel Java Basics - Anfänger-Themen 2
H Suche in Text und Markierung Java Basics - Anfänger-Themen 14
H Suche in einem Text Java Basics - Anfänger-Themen 17
L Text eingeben und im Textfeld auslesen lassen Java Basics - Anfänger-Themen 2
R Best Practice Palindrom in einem Text finden Java Basics - Anfänger-Themen 18
L Text und Ganzzahl in einer Dialogbox Java Basics - Anfänger-Themen 5
D Text Adventure Erstellen Java Basics - Anfänger-Themen 10
T Jlabel durch Text in 2 anderen Jlabels sichtbar machen Java Basics - Anfänger-Themen 4
J JTextArea visible ohne Text Java Basics - Anfänger-Themen 3
D Bild zu Text Java Basics - Anfänger-Themen 4
L Text/Befehle zu Programmen senden Java Basics - Anfänger-Themen 1
L Java Text datei nur bis zu einem Punkt auslesen? Java Basics - Anfänger-Themen 3
T Classpath Problem mit dem auslesen von Text-Dateien (Pfad) Java Basics - Anfänger-Themen 3
S Erste Schritte Sprachermittler - Datei öffnen, Text in TextArea, Bereinigen, Auswerten Java Basics - Anfänger-Themen 14
S Java Label hat komischen text Java Basics - Anfänger-Themen 4
F Text anhand bestimmter Trennzeichen in Textteile trennen (netbeans) Java Basics - Anfänger-Themen 7
S Ausgabe von Text Formatieren Java Basics - Anfänger-Themen 6
H Text in einen Button quetschen Java Basics - Anfänger-Themen 3
A Text mit "Scanner" eingeben und Umlaute ersetzen Java Basics - Anfänger-Themen 7
A Text teilen und Wörter zählen Java Basics - Anfänger-Themen 7
J Zahlen als Text übersetzen Java Basics - Anfänger-Themen 6
F Erste Schritte Label Text vor Methodenaufruf setzen Java Basics - Anfänger-Themen 17
R Text Pane Aktualisierung erst nach JOptionPane Java Basics - Anfänger-Themen 10
S Wort in Text suchen und ersetzen Java Basics - Anfänger-Themen 3
V Interface ich schäme mich das zu fragen, aber ich schaff nicht ein Text zu zentrieren :( [javaFX] Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben