TaschenrechnerLayout

downfall_75

Mitglied
Hallo ,
ich will folgenden Taschenrechner programmieren:Anhang1 - Aufgabe6
ich bin bis jetzt soweit,aber er gibt mir die Buttons und felder nicht in der richtigen Reihenfolge oder gar nicht aus.
Java:
import java.applet.Applet;
import java.awt.Button;
import java.awt.Choice;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JTextField;

public class Taschenrechner extends JFrame{
	


	
	public Taschenrechner(){
		super();
	
	final JTextField  t1 = new JTextField(10);
	final JTextField  t2 = new JTextField(10);
	final JTextField  t3 = new JTextField(10);
	t3.addActionListener(new ActionListener(){
		public void actionPerformed(ActionEvent evt){
			String text = t3.getText();
			t3.selectAll();
		
		}
		});
	}
	class Choic extends Applet{
		/**
		 * 
		 */
		private static final long serialVersionUID = 1L;
		public void init(){
		Choice c1 = new Choice();
		c1.add("+");
		c1.add("-");
		c1.add("/");
		c1.add("*");
		add(c1);
		}
		class Butt{
			Button button_1 = new Button("=");
			
		}
	}{
	this.setVisible(true);}
	
	public static void main(String [] args){
		new Taschenrechner();
	}
}
Kann mir jemand helfen?
Die anderen Aufgaben hab ich lösen können,aber hier ist der Wurm drin.Ist auch keine Hausaufgabe,sondern eine Übung für mich ,eine Vorbereitung auf das nächste Semester.
Vielleicht kann der Compiler die lokalen Klassen nicht lesen.
 

Anhänge

  • p2pr11_html_.jpg
    p2pr11_html_.jpg
    15,8 KB · Aufrufe: 32
Zuletzt bearbeitet von einem Moderator:

Michael...

Top Contributor
Zunächst mal verwendest Du hier JFrame und Applet. Im Frame erstellst Du Textfelder die nirgends hinzugefügt werden. Daher wirst Du sie niemals - egal wie das Programm gestartet wird - sehen.
Du solltest Dich mal festlegen ob Du eine JFrame oder ein (J)Applet machst.
Und dann Dir ein gutes Buch oder ähnliches zur Hand nehmen, in dem die GUI Programmierung erläutert wird. z.B die JavaInsel
 

downfall_75

Mitglied
danke
ich habe den Tachenrechner jetzt grafisch erstellt und es funktioniert auch.allerdings will ich auch das ergebnis ausgeben und weiss nicht ,wie ich mein c1-Button mit in die methode ergebnis einbringen kann,damit das ergebnis berechnet wird (auskommentiert).
Java:
package fenster;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Choice;
import java.awt.FlowLayout;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

import java.awt.Container;

public class Taschenrechner1 extends JFrame{
	
/**	static String 	display_str1  = "";		
	static String 	display_str2  = "";
	String ergebnis = "";
	private boolean c1;*/
	
	public Taschenrechner(){
		super();
	
		  JLabel l1 = new JLabel("1.OP");
		  JLabel l2 = new JLabel("2.OP");
		  JLabel l3 = new JLabel("Ergebnis");
		  JButton b1 = new JButton("=");
	final JTextField  t1 = new JTextField(10);
	final JTextField  t2 = new JTextField(10);
	final JTextField  t3 = new JTextField(10);
	
	
	 Container contentPane = getContentPane();
	 contentPane.setLayout(new FlowLayout());
	 
	 Choice c1 = new Choice();
		c1.add("+");
		c1.add("-");
		c1.add("/");
		c1.add("*");
		
	 contentPane.add(l1);	
	 contentPane.add(t1);
	 contentPane.add(c1);
	 contentPane.add(l2);
	 contentPane.add(t2);
	 contentPane.add(b1);
	 contentPane.add(l3);
	 contentPane.add(t3);

	
	t1.setMaximumSize(t1.getPreferredSize());
	t2.setMaximumSize(t2.getPreferredSize());
	t3.setMaximumSize(t3.getPreferredSize());
	
	
	
	WindowListener listener = new WindowAdapter() {
		public void windowClosing(WindowEvent e) {
	               System.exit(0);
	               }
		       };


    this.addWindowListener(listener);
    this.pack(); 
    this.setSize(600, 100);
	this.setVisible(true);}
	
/**	public boolean equals(Object obj) {
		if (obj instanceof Taschenrechner) {
			Taschenrechner c = (Taschenrechner) obj;
			return c.c1 = true;
		}
	}*/
	/**String s = new Boolean(c1).toString();
	double a = Double.parseDouble(s) ;
	double c = Double.parseDouble(display_str2);  
	double b = Double.parseDouble(display_str1);;
	double ergebnis;
	public double ergebniss( String display_str1, String diplay_2,String s){
		double a = Doube.parseDouble(s) ;
		double c = Double.parseDouble(display_str2);  
		double b = Double.parseDouble(display_str1);;
		if(s.equals("+")){
			ergebnis = (b+c);}
		if(s.equals("-")){
			ergebnis =  (b-c);}
		if(s.equals("/")){
			ergebnis = (b/c);}
		if(s.equals("*")){
			ergebnis =  (b*c);}
		return ergebnis ;
		
	}*/
	public static void main(String [] args){
		new Taschenrechner1();
		
	}
}
 

Neue Themen


Oben