label in schatfläche verändern

Status
Nicht offen für weitere Antworten.
F

FlorianWeinhold

Gast
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=Label
str=sttring
cbg = Ceckboxgroup
die Zahlen sind dann je nach reihe und spalte angeordnet erste zahl gibt reihe an zweite zahl spalte

Code:
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

Top Contributor
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

Code:
button.setEditable(false);

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

FlorianWeinhold

Gast
ah mir fällt grad auf, dass das garnet zum button sondern zum Textfield werden soll geht dass dann auch?
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben