webForumDet fria alternativet

Trycka och uppdatera text.

7 svar · 273 visningar · startad av roj

rojMedlem sedan apr. 2002179 inlägg
#1

Okej om jag nu vill vidarutveckla detta programmet så att när jag trycker på knappen så vill jag att texten i textfältet skrivs ut på sidan. hur gör jag då?

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

public class Svara extends Applet {

Font f;
String s;
TextField tf;
Button b;

public void init() {
b = new Button("OKEJ");
f = new Font("serif",Font.BOLD,30);
tf = new TextField();
tf.setSize(10,2120);
add(tf);
add(b);
tf.setText("olle");
s = tf.getText();


	
}

public void paint(Graphics g) {
	g.setFont(f);
	g.drawString(s,14,23);
	
}
PeWMedlem sedan juni 20006 839 inlägg
#2

Du lägger in en ActionListener. Sök här i Java forumet... det behandlas bl.a här -> http://www.webforum.nu/showthread.php?s=&threadid=41575&highlight=actionlistener

Läs också -> http://java.sun.com/j2se/1.3/docs/api/java/awt/event/ActionListener.html

rojMedlem sedan apr. 2002179 inlägg
#3

Hmm fattar inte så mycket av det än du skulle inte bara kunna skriva det så att jag ser hur du gör?

PeWMedlem sedan juni 20006 839 inlägg
#4

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

public class Svara extends Applet implements ActionListener{ 

Font f; 
String s; 
TextField tf; 
Button b; 

////////////////////////////
// --- initiera
public void init() { 
    s = new String();
	b = new Button("OKEJ"); 
	f = new Font("serif",Font.BOLD,30); 
	tf = new TextField(40); 
	add(tf); 
	add(b); 
	b.addActionListener(this);  // <- implementera lyssnare
	tf.setText("olle"); 
	 
} 

///////////////////////////
// --- rita ut
public void paint(Graphics g) { 
	g.setFont(f); 
	g.drawString(s,50,70); 
}

///////////////////////////
//  --- fånga händelsen
public void actionPerformed(ActionEvent ev) {
		if(ev.getSource()==b) {
		  s=tf.getText();
		  repaint();
    }
  }
}
rojMedlem sedan apr. 2002179 inlägg
#5

Kannon =)........

Men nu vill jag att när jag trycker på knappen så ska inte det gammla suddas utan det den ska paint:a på nytt inte repaint:a..

Hur gör jag det?

SPiNMedlem sedan mars 20005 832 inlägg
#6

Ändra den här raden:

s=tf.getText();

Till:

s += " " + tf.getText ();

De två texterna separeras av ett mellanslag.

rojMedlem sedan apr. 2002179 inlägg
#7

Ahh det kunde jag ju ha tänkt på själv hehe.. Känner mig lite förvirrad i java världen bara.. E det typ char(13) för ny rad också eller?

SPiNMedlem sedan mars 20005 832 inlägg
#8

\n funkar. :)

Genererad på 376 ms · cache AV · v20260730165559-full.f96bc7eb