# Widerstandsfarbcode



## TheWufel (4. Jan 2013)

Moin zusammen,
ich muss für ein Java Projekt ein Widerstandsfarbcode Programm schreiben. Mein bisherigen Fortschritt könnt Ihr unten sehen. Ich möchte es erstmal so weit bekommen dass ich wenn ich eine Farbe auswähle der passende wert in den Text Feld angezeigt wird. Bekomme es leider nicht hin ich hoffe ihr könnt mir helfen.

```
import java.awt.*;
import java.awt.event.*;
import java.awt.color.*;
import java.awt.Paint;
import java.io.*;
import java.awt.BorderLayout;
import java.awt.Choice;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.applet.*;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Widerstandsfarbcode extends Frame

{
	public static void main(String args [])
	{
		Widerstandsfarbcode g = new Widerstandsfarbcode();
	}
	
//Reihenfolge egal Programm arbeitet Befehle von oben runter
//setVisible(true) muss am Ende stehen
	TextField 	t1;	TextField 	t2;	TextField 	t3;	TextField	t4;	TextField	t5;
	TextField	t6;	TextField	t7;	TextField	t8;	TextField	t9;	TextField	t10;
	TextField	t11;

//Grafik zeichnen
	public void paint(Graphics g)
	{
		
		g.translate(400, 320);
		//setBackground( new Color(255,255,255));
		g.fillRoundRect(-150,-225,300,100,20,20);
		g.setColor(Color.white);
		g.fillRoundRect(-145,-220,290,90,20,20);
		g.setColor(Color.black);
		g.fillRect(-250,-175,100,5);
		g.fillRect(150,-175,100,5);
		
//1.Ring
		g.setColor(Color.orange);
		g.fillRect(-116,-220,25,90);
//2.Ring
		g.setColor(Color.orange);
		g.fillRect(-62,-220,25,90);
//3.Ring
		g.setColor(Color.red);
		g.fillRect(-12,-220,25,90);
//Nullen
		g.setColor(Color.red);
		g.fillRect(39,-220,25,90);
//Toleranz	
		g.setColor(Color.yellow);
		g.fillRect(89,-220,25,90);
		
	}	
	
	
//
	public Widerstandsfarbcode()
	{
//Titel festlegen		
		setTitle("Widerstandsfarbcode");
		
//Größe festlegen x-Wert, y-Wert
		setSize(800,620);

//array
		int[] Farbe;
//		Farbe
		
		//array??
		//Dropdownmenues
		Choice RingEins = new Choice();
		Choice RingZwei = new Choice();
		Choice RingDrei = new Choice();
		Choice RingVier = new Choice();
		Choice RingFuenf = new Choice();
		
		RingEins.addItem("Schwarz");
		RingEins.addItem("Braun");
		RingEins.addItem("Rot");
		RingEins.addItem("Orange");
		RingEins.addItem("Gelb");
		RingEins.addItem("Gruen");
		RingEins.addItem("Blau");
		RingEins.addItem("Violett");
		RingEins.addItem("Grau");
		RingEins.addItem("Weiss");
	//	RingEins.addActionListener(new Eins());
		
		RingZwei.addItem("Schwarz");
		RingZwei.addItem("Braun");
		RingZwei.addItem("Rot");
		RingZwei.addItem("Orange");
		RingZwei.addItem("Gelb");
		RingZwei.addItem("Gruen");
		RingZwei.addItem("Blau");
		RingZwei.addItem("Violett");
		RingZwei.addItem("Grau");
		RingZwei.addItem("Weiss");
		
		RingDrei.addItem("Schwarz");
		RingDrei.addItem("Braun");
		RingDrei.addItem("Rot");
		RingDrei.addItem("Orange");
		RingDrei.addItem("Gelb");
		RingDrei.addItem("Gruen");
		RingDrei.addItem("Blau");
		RingDrei.addItem("Violett");
		RingDrei.addItem("Grau");
		RingDrei.addItem("Weiss");
		
		RingVier.addItem("Schwarz");
		RingVier.addItem("Braun");
		RingVier.addItem("Rot");
		RingVier.addItem("Orange");
		RingVier.addItem("Gelb");
		RingVier.addItem("Gruen");
		RingVier.addItem("Blau");
		RingVier.addItem("Violett");
		RingVier.addItem("Grau");
		RingVier.addItem("Weiss");
		RingVier.addItem("Silber");
		RingVier.addItem("Gold");
		
		RingFuenf.addItem("Schwarz");
		RingFuenf.addItem("Braun");
		RingFuenf.addItem("Rot");
		RingFuenf.addItem("Orange");
		RingFuenf.addItem("Gelb");
		RingFuenf.addItem("Gruen");
		RingFuenf.addItem("Blau");
		RingFuenf.addItem("Violett");
		RingFuenf.addItem("Silber");
		RingFuenf.addItem("Gold");
		RingFuenf.addItem("keine");
		
		add(RingEins);
		add(RingZwei);
		add(RingDrei);
		add(RingVier);
		add(RingFuenf);
		
		RingEins.setBounds(150,310,100,20);
		RingZwei.setBounds(250,310,100,20);
		RingDrei.setBounds(350,310,100,20);
		RingVier.setBounds(450,310,100,20);
		RingFuenf.setBounds(550,310,100,20);
		
//Label wird erzeugt
		Label l1 = new Label ("Widerstandsfarbcode von Karsten Heinemann und Fabian Heyn");
		l1.setFont(new Font("",Font.PLAIN,10));		
//		Label l2 = new Label ("Farben");
//		Label l3 = new Label ("Wert");
		Label l4 = new Label ("1. Ring");
		Label l5 = new Label ("2. Ring");
		Label l6 = new Label ("3. Ring");
		Label l7 = new Label ("Nullen");
		Label l8 = new Label ("Toleranz");
		t1 = new TextField();
	
//Textfeld wird erzeugt ("",x) "" = Textfeld ist leer, x = Anzahl der Zeichen		
		t1 = new TextField ("",10);	
//		t2 = new TextField ("",10);
//		t3 = new TextField ("",10);
//		t4 = new TextField ("",10);
//		t5 = new TextField ("",10);
//		t6 = new TextField ("",10);
//		t7 = new TextField ("",10);
//		t8 = new TextField ("",10);
//		t9 = new TextField ("",10);
//		t10 = new TextField ("",10);
//		t11 = new TextField ("",10);

//Button wird erzeugt							ActionListener werden den Button hinzugefügt
		Button b1 = new Button ("4 Ringe");	//b1.addActionListener(new 4ringe());
		Button b2 = new Button ("5 Ringe");	//b1.addActionListener(new 4ringe());
				
//Button/ Textfield werden in das Program eingebunden
		add(l1); //		add(l2); add(l3); 
		add(l4); add(l5); add(l6); add(l7); add(l8);
//		add(t1); add(t2); add(t3); add(t4); add(t5); add(t6); add(t7); add(t8); add(t9); add(t10); add(t11);
		add(b1); add(b2);
		add(t1);
		
//Position wird festgelegt (x,y,x,y) x,y = Position, x,y = Größe	
		setLayout(null);
		l1.setBounds(485,600,325,10);
//		l2.setBounds(300,50,125,10);
//		l3.setBounds(300,100,125,10);
		l4.setBounds(150,285,100,20);
		l5.setBounds(250,285,100,20);
		l6.setBounds(350,285,100,20);
		l7.setBounds(450,285,100,20);
		l8.setBounds(550,285,100,20);
		t1.setBounds(337,450,126,10);
//		t2.setBounds(425,100,125,10);
//		t3.setBounds(425,150,125,10);
//		t4.setBounds(20,50,250,250);
//		t5.setBounds(20,50,250,250);
//		t6.setBounds(20,50,250,250);
//		t7.setBounds(20,50,250,250);
//		t8.setBounds(20,50,250,250);
//		t9.setBounds(20,50,250,250);
//		t10.setBounds(20,50,250,250);
//		t11.setBounds(20,50,250,250);
		b1.setBounds(275,50,100,25);		
		b2.setBounds(425,50,100,25);
		
		
		
		b1.addActionListener(new push1());
		b2.addActionListener(new push1());
		


//greift auf Programm ende zu
		addWindowListener(new ende());
				
//Zeige das Fenster an
		setVisible(true);
	}
	class Eins implements ActionListener
	{
		public void actionPerformed(ActionEvent z)
		{
			String a,b;
			b=t1.getText();
			a=z.getActionCommand();
			t1.setText(b+a);
		}
	}
	
	
class push1 implements ActionListener
	{
		public void actionPerformed(ActionEvent f)
		{
			String s;
			s=f.getActionCommand();
			if(s.equals("4 Ringe"))
			{
				setBackground(Color.blue);
				repaint();
			}
			if(s.equals("5 Ringe"))
			{
				setBackground(Color.green);
				repaint();
			}
		}
	}

	
//
	
	
	
/*	class ende extends WindowAdapter
	{
		public void windowClosing(WindowEvent e)
		{
			System.exit(0);
		}
}
*/
}
//Ende
```


----------



## Marco13 (4. Jan 2013)

Die Zeile
    //  RingEins.addActionListener(new Eins());
NICHT auszukommentieren könnte ein erster Schritt sein. 

Ansonsten: Warum verwendet ihr AWT und nicht Swing? Von Frame erben ist nicht so gut, paint überschreiben auch nicht... alles Sachen, die man in verschiedensten Tutorials lesen kann, angefangen bei
Trail: Creating a GUI With JFC/Swing (The Java™ Tutorials)
über
How to Use Combo Boxes (The Java™ Tutorials > Creating a GUI With JFC/Swing > Using Swing Components)
bis
Lesson: Performing Custom Painting (The Java™ Tutorials > Creating a GUI With JFC/Swing) (oder Malen in Swing Teil 1: der grundlegende Mechanismus ? Byte-Welt Wiki )


----------



## TheWufel (4. Jan 2013)

Danke für die Antworten. Wir haben nur awt gelernt. Muss man das mit NETBeans programmieren? Wir programmieren mit Eclipse.


----------



## L-ectron-X (4. Jan 2013)

Swing kann man in jedem Editor programmieren. Du brauchst doch nur ein JDK...:bahnhof:
Das sind Grundlagen!


----------

