# label in schatfläche verändern



## FlorianWeinhold (23. Aug 2006)

ich habe in meinem kleinen Zisnen applet ein kleines Problem undzwar möchte ich ersma noch eine reihe über der mit dem Go button machen( schaff ich wohl noch hab ich hier nur vergessen). Die reihe soll aus 3 Labels bestehen

wenn ich nun dann aber auf Laufzeit umsteige soll das mittlere der drei labels zum Button werden.
Wie mach ich das? geht das überhaupt?

zum einfacheren verständnis probiert das prog doch einfach ma aus ^^ is mein erstes Projekt in java. Aber alles selber geschrieben.

wobei i für inputfield in den Vriablen bezeichnern steht
L=*L*abel
str=*sttr*ing
cbg = *C*eck*b*ox*g*roup
die Zahlen sind dann je nach reihe und spalte angeordnet erste zahl gibt reihe an zweite zahl spalte


```
import java.awt.*;
import java.applet.Applet;

public class IOApplet03 extends Applet
{
	TextField i12,i22,i32,i52,i62,i72;
	Label L11,L13;	
	Label L21,L23;
	Label L31,L33;
	Label L41,L43;
	Label L51,L53;
	Label L61,L63;
	Label L71,L73;
	CheckboxGroup cbg= new CheckboxGroup();
	GridLayout layout;
	Button goButton, clearButton;
	String str12,str22,str32;
	String welche_checkbox="Normal";
	double D,R,p,q,Zinsengesamt=0.0;
	Checkbox cb41,cb51;
	boolean checkboxStatus;
	int m;
			
	double stringtodouble (String strng) 
	{
		double f;
		Double F;
		F=Double.valueOf(strng);
		f=F.doubleValue();
		return f;
	} 		
			
	public void init() 
	{
		layout = new GridLayout(7,3);
        setLayout(layout);
        
        L11 = new Label("Darlehn"); 
		add(L11);
		i12 = new TextField(8); 
		add(i12);
    	L13 = new Label("Euro"); 
		add(L13);
		
		L21 = new Label("Rate"); 
		add(L21);
		i22 = new TextField(8); 
		add(i22);
    	L23 = new Label("Euro/Monat"); 
		add(L23);
		
		L31 = new Label("Zinssatz"); 
		add(L31);
		i32 = new TextField(8); 
		add(i32);
    	L33 = new Label("%/Jahr"); 
		add(L33);
		
		cb41 = new Checkbox("Normal",cbg,true);
		add(cb41);
		goButton = new Button("GO!"); 
		add(goButton);
    	L43 = new Label(""); 
		add(L43);
		
		cb51 = new Checkbox("Laufzeit",cbg,false);
		add(cb51);
		clearButton = new Button("Clear!"); 
		add(clearButton);
		L53 = new Label(""); 
		add(L53);    	
		
		L61 = new Label("Dauer"); 
		add(L61);
		i62 = new TextField(8); 
		add(i62);
    	L63 = new Label("Monate");
		add(L63);
		
		L71 = new Label("Zinskosten"); 
		add(L71);
		i72 = new TextField(8); 
		add(i72);
    	L73 = new Label("Euro"); 
		add(L73);		
	} 
	
	public boolean action(Event event, Object eventobject)
	{	 
        checkboxStatus = cbg.getSelectedCheckbox().getState(); 
    	if ((event.target==goButton))
		{
			    welche_checkbox = cbg.getSelectedCheckbox().getLabel();
				str12 = i12.getText();
				D = stringtodouble(str12);
				
				str22 = i22.getText();
				R = stringtodouble(str22);
			
				str32 = i32.getText();
				p = stringtodouble(str32);

				q=p/12/100;
				if(welche_checkbox=="Normal")
				{
					if(D*q<R)
					{
					
						m=0;
						Zinsengesamt=0;
						do
						{
							Zinsengesamt=Zinsengesamt+D*q;
							D=D+(D*q)-R;
							m++;
						}while(D>0);
						  
						i62.setText("" + m);
						i72.setText("" + Zinsengesamt);	
					}
					else
					{
						i62.setText("Endlos");
			    	}	
			    }
			    else if(welche_checkbox=="Laufzeit")
				{
					if(D*q<R)
					{
					
						m=0;
						Zinsengesamt=0;
						do
						{
							Zinsengesamt=Zinsengesamt+D*q;
							D=D+(D*q)-R;
							m++;
						}while(D>0);
						  
						i62.setText("" + m);
						i72.setText("" + Zinsengesamt);	
					}
					else
					{
						i62.setText("Endlos");
			    	}	
			    }						
				return true;		
		}
    	if (cbg.getSelectedCheckbox().getLabel() == "Normal") 
    	{ 
    		if (checkboxStatus) 
    		{ 
		        i62.setText("Normal aktiviert");
		        welche_checkbox="Normal";
		        
			} 
		return true; 
		} 
		if (cbg.getSelectedCheckbox().getLabel() == "Laufzeit") 
		{ 
			if (checkboxStatus) 
			{ 
				i62.setText("Laufzeit aktiviert");
				welche_checkbox="Laufzeit";
				
			} 
			return true; 
		}		

		return true;			
	}	
}
```

ich hoffe ihr könnt mir schnell helfen hab morgen wieder info und wollt nen bissle angeben mit mienem programm ^^. mfg florianweinhold danke im vorraus[/b]


----------



## The_S (23. Aug 2006)

FlorianWeinhold hat gesagt.:
			
		

> wenn ich nun dann aber auf Laufzeit umsteige soll das mittlere der drei labels zum Button werden. Wie mach ich das?



gar nicht. Warum nimmst du nicht von Anfang an einen Button und sagst


```
button.setEditable(false);
```

Wenn er dann zugänglich sein soll einfach ein setEditable(true);


----------



## FloianWeinhold (23. Aug 2006)

danke ich versuchs ma


----------



## FlorianWeinhold (23. Aug 2006)

ah mir fällt grad auf, dass das garnet zum button sondern zum Textfield werden soll geht dass dann auch?


----------

