![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Veteran
![]() |
![]() hiho
ich muss ein java programm schreiben, dass beim usführen im dos fenster eine box aufmacht indem ein textfeld und ein button vorhanden sind. wenn ich den button drücke soll in dem textfeld ein text erscheinen. ich weiß nur das ich das mit swing machen soll dadurch dass ich anfänger in sachen java bin wollt ich fragen ob mir vieleicht einer helfen kann danke im vorraus mfg alex |
![]() |
![]() |
![]() |
#2 |
Veteran
![]() Registriert seit: 04.12.2001
Alter: 46
Beiträge: 266
|
![]() import javax.swing.*;
import java.awt.*; import java.awt.event.*; class SimpleFrame extends JFrame implements ActionListener { JTextField jtf; JButton jb; //Varibale mit dem Text String text = "hi alex"; public SimpleFrame (String title) { super(title); //ein WindowListener um das Fenster wieder schließen zu können addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent event) { System.exit(0); } }); setSize(160, 100); //LayoutManager festlegen this.getContentPane().setLayout(new FlowLayout()); Dimension d = new Dimension(100,20); jtf = new JTextField(""); jtf.setPreferredSize(d); getContentPane().add(jtf); jb = new JButton("Text zeigen"); getContentPane().add(jb); //ActionListener für Button hinzufügen jb.addActionListener(this); show(); } public void actionPerformed (ActionEvent event) { jtf.setText(text); } public static void main (String[] args) { SimpleFrame w = new SimpleFrame("TEST"); } } damit sollte es funktionieren |
![]() |
![]() |
![]() |
#3 |
Veteran
![]() |
![]() danke für die schnelle antwort
ich werde es ausprobieren wenn ich dazu komm und schreib dan ob es funktioniert mfg alex |
![]() |
![]() |
![]() |
#4 |
Veteran
![]() |
![]() hey danke hat super geklappt
thx für die hilfe mfg alex PS: wenn einer zeit hat kann mir einer erklähren wie oder wo der text mittels button ins feld geschickt wird ? |
![]() |
![]() |
![]() |
#5 |
Veteran
![]() Registriert seit: 04.12.2001
Alter: 46
Beiträge: 266
|
![]() hi
ich werde dir kurz die funktion erklären. dem Button jb wird ein ActionListener hinzugefügt. der macht nichts anderes als wenn der Button gedrückt wird ein ereignis auszuführen. und mit this wird quasi auf diese klasse verwiesen und nach der methode actionPerformed gesucht. die anweisungen in dieser methode werden dann durchgeführt. mit der anweisung jtf.setText(text) kann der inhalt des textfeldes neu gesetzt werden. und zwar wird der vorhandene text (jtf = new JTextField("hier könnte ein text stehen der gleich beim aufruf des programms erscheint"); daher leer) durch den text der in der String variablen text steht ersetzt. ich hoffe ich habe das einigermassen verständlich erklärt. sorry das ich das nicht gleich gemacht habe, war im zeitdruck. sollte es noch fragen geben, gleich stellen. mfg jopp |
![]() |
![]() |
![]() |
#6 |
Veteran
![]() |
![]() ahaaaa
dh: das this. ... sagt er soll in dieser classe suchen/adden ...usw Action listener sucht nach einer methode die etwas ausfürht ? i versteh ned wie er die methode finden kann wen ich ihm nirgendst sag wie sie heißt was ist denn enn ich 2 oder mehr buttons mach ... die würden ja alle auf die methode zugreifen oder ? |
![]() |
![]() |
![]() |
#7 |
Veteran
![]() Registriert seit: 04.12.2001
Alter: 46
Beiträge: 266
|
![]() das ist so im objekt action listener festegelegt, dass er nach dieser methode sucht. wenn du die methode weglässt, bekommst du einen fehler.
in der methode actionPerformed kannst du du folgendes verwenden: dadurch das event übergeben wird, kannst du folgende abfrage machen if ( event.getSource == jb1) { anweisung } else if (event.getSource == jb2) { anweisung } somit kannst du eine ganze reihe an buttons in dein frame einbringen und mittels einer methode für jeden eine aktion ausführen. |
![]() |
![]() |
![]() |
#8 |
Veteran
![]() |
![]() eine frage hätt ich noch
und zwar zu dieser zeile: SimpleFrame w = new SimpleFrame("TEST"); reicht es ned wenn ich einfach nur SimpleFrame("Test"); schreib oder muss ich das mit dem "SimpleFrame w = new ..." machen |
![]() |
![]() |
![]() |
#9 |
Inventar
![]() Registriert seit: 13.06.2001
Beiträge: 1.830
|
![]() Du musst zuerst eine Instanz des Objektes erstellen, d.h. es wird sozusagen ein Exemplar von SimpleFrame mit dem Namen w angelegt. Das "new" ruft den Konstruktor auf.
Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona) Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing. \"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra) |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|