Wie bekomme ich value von einem Textfield?

Code46

Erfahrenes Mitglied
Hi leute ich bin gerade am programieren und habe ein problem.Und zwar moechte ich von einem TextField den Wert bekommen was eingetippt habe. Ich wesi nicht genau was ich da schreiben muss.

Code:
 //include the three import statements to get swing and awt elements to work
import java.util.*; 
  import java.awt.*;
 import javax.swing.*;
 import java.awt.event.*;

 public class Example4 extends JFrame
                   implements ActionListener
 {
	// declare the necessary labels buttons and text fields
	JLabel lbl1 = new JLabel("Choose a numer of stars less then 20:  ");
	JTextField txtfl1 = new JTextField(4);
	JButton btngo = new JButton("GO");
	JTextField txtfl2 = new JTextField(20);

     public static void main(String[] args)
     {
         Example4 jf = new Example4();
		 jf.setVisible(true);
     }
     
     public Example4()
     {
		setLayout(new FlowLayout());
		setSize(300, 100);
		setTitle("Example4");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	
		 add(lbl1);
		add(txtfl1);
		add(btngo);
		add(txtfl2);
		btngo.addActionListener(this);
		 setVisible(true);
     }
 
     public void actionPerformed(ActionEvent e)
     {
		 //read the number of stars and set up a loop 
		 //to that limit to print out those stars
		ArrayList<String> stars= new ArrayList<String>();


	  for (int i=0; i < txtfl1.getsize() ;i++ )
      {          
         stars.add("*");
		}
    //txtfl2.setText(" Here are the stars  "+stars[20]);
		 
		 
     }
 }


wuerde mioch sehr freuen wenn ihr mir weiter helfen koenntet.

Danke
 
Ich bekomme eine fehler wenn ich txtfl1.getText schreibe.Diese funktion schreibe ich ins for Loop hinein ist das korrekt
 
Um grunde genommen will ich eigentlich nur die sternchen anzeigen.Wenn ich in dem TextField 16 eingebe sollen dort 16 sternchen anzeiget werden.
 
Das mit dem JPassword geht auch nicht

Code:
  for (int i=0; i < txtfl1.getPassword() ;i++ )
      {          
         stars.add("*");
		}
 
Du sollst ja auch dein Textfeld gegen ein JPasswordField austauschen:

Java:
//nicht
JTextField txtfl1 = new JTextField(4);
//sondern
JPasswordField passwordField = new JPasswordField();

Das JPasswordField maskiert automatisch die eingabe. Das eingegebene Password bekommst du dann per
Java:
char[] passwordChars = passwordField.getPassword();
StringBuilder sb = new StringBuilder();
sb.append(passwordChars);
String password = sb.toString();
 
Zurück