Java applet textfeld

Status
Nicht offen für weitere Antworten.
B

blackstarmaster

Gast
Hi leute, ich habe erst seid einem halben jahr java unterricht. dh ich bin blutiger anfänger.

In meinem übungsprogramm das ich mache wäre es nützlich ich könnte ein Einkabefeld in das applet einbauen, wo ich die eingabe (normalerweise eine int eingabe) des Benutzers im Programm zb. als variable e weiterverwenden kann.

dh ich möchte eine Möglichkeit eingaben eines benutzers in meinem programm zu verwerten.

da ich anfänger binn, kann ich mitt tipps nicht viel anfangen, da müsste ich schon ein pfannenfertiges progrämmchen mit erklärung haben .. sry
gruss von blackstarmaster
 
B

blackstarmaster

Gast
import java.applet.*;
import java.awt.*;

public class TextField1 extends Applet {

public void init(){
setLayout(new FlowLayout()); Für was ist dieses Layout?


TextField ta1 = new TextField("Welche Zahl willst du hier eingeben",30);


add(ta1);


}}

nun möchte ich die Zahl die Jemand
in das Feld eingibt in einem Weiterführenden Programm verwenden!
dazu könnte man die eingabe vielleicht unter einer Variabel Speichern,
die danach abrufbar ist.ABER WIE?

oder gibt es ene einfachere Lösung?
 

L-ectron-X

Gesperrter Benutzer
Damit das funktioniert, muss du eine private Instanzvariable deklarieren, für das Textfeld anlegen, die du später abfragen kannst.
Den eingegebenen Text kannst du bspw. nach einen Button-Klick auslesen und erhältst du dann so:
Code:
String text = textfeld.getText();
 
B

Blackstarmaster

Gast
wie würde das Programm aussehen wenn ich kenen string, sondern ein int erhalten will?

da funktionniert galuf ich getText() nicht...
 
B

Blackstarmaster

Gast
dieses
mein vorschlag von oben mit dem String text = textfeld.getText();
geht nicht, weil init eine void methode ist, doch man kann nicht einfach String anstatt void schreiben.
ich will die info doch weiterverwenden.


ich will bloss ein textfeld, wo ich danach die eingegebene info weiterverarbeiten kann!!!
 

L-ectron-X

Gesperrter Benutzer
Ich habe in diesem Thread mal ein einfaches Applet geschrieben, wo du dir einige Sachen mal angucken kannst.
Z.B. Wie holt man Werte aus einem Textfeld ab? Was macht man, wenn die Eingabe aus Zahlen besteht?
Wie kann man eine einfache Ausgabe realisieren, etc. pp.

Wenn du einen Wert aus einer Methode zurück geben willst, schreibst du eine passende Methode, die das kann:
Bsp.:
Code:
public String addition(String a, String b) {
   String result = null;
   try {
      result = String.valueOf(Integer.parseInt(a) + Integer.parseInt(b));
   }
   catch(NumberFormatException ex) {
      System.out.println("Bitte nur ganze Zahlen eingeben!");
   }
   return result;
}
 
B

blackstarmaster

Gast
hi ich hab vorheriges wissen nun angewandt:

Code:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class Test extends Applet {

   private TextField tf_a;

   public void init () {
      setLayout (new FlowLayout());
      tf_a = new TextField("was willst du eingeben",20);
      add(tf_a);
   }

   public String eingabe (String k) {
        String a = tf_a.getText();
        return a;
   }

   public void paint( Graphics g ) {
      String k="";
      String w = eingabe(k);
      g.drawString( "folgendes hast du eingegeben: "+w, 100, 100 );
      repaint();
  }
}


doch wieso Frimmert der draw string? wegen dem repaint? wie löst man das Problem unkompliziert?
 

L-ectron-X

Gesperrter Benutzer
Eigentlich nicht. Aber du erzeugst damit eine Endlosschleife. repaint() ruft schließlich auch paint() auf...
repaint() gehört daher nie in die paint()-Methode.

Zur Ausgabe des Ergebnisses kannst du genauso gut ein Label verwenden.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben