Hi,
ich bin gerade am Erstellen eines kleines Programms, dass ein paar kleine Funktionen haben soll. Dies möchte ich gerne über verschiedene Klassen lösen, da ich das für übersichtlicher halte. Da ich das ganze gerne über eine GUI machen würde, habe ich jedoch ein Problem - ich weiss nicht wie ich die Texteingabe über mehrere Klassen ermöglichen kann.
- Klasse (um alles unnötige reduziert)
import static SonstigeOperationen.Wiederstaende.wiederstande;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class Jeannie implements KeyListener{
JFrame hauptprogramm = new JFrame();
final JTextField eingabeaufforderung = new JTextField();
public static void main (String [] args){
Jeannie start = new Jeannie();
}
public Jeannie () {
//Groesse setzen
//Bildschrimaufloesung abgragen
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension d = tk.getScreenSize();
//Frame 300 Pixel breit und 40 Pixel kleiner als der Maxiamaler Bildschirm
hauptprogramm.setSize(d.width-500, 100);
//Ort setzen
hauptprogramm.setLocation(75,d.height-120);
//Kein Rahmen
hauptprogramm.setUndecorated(true);
//Keine Groessenveraenderung
hauptprogramm.setResizable( false );
//Hintergrundfarbe
eingabeaufforderung.addKeyListener((KeyListener) this);
hauptprogramm.add(eingabeaufforderung);
hauptprogramm.setVisible(true);
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER){
String eingabe = eingabeaufforderung.getText();
antwortUntersuchen(eingabe);
eingabeaufforderung.setText("");
}
}
@Override
public void keyReleased(KeyEvent e) {
}
private void antwortUntersuchen(String eingabe){
if (eingabe.equalsIgnoreCase("Ende")){
System.out.println(eingabe);
System.exit(0);
}
else{
if else if (eingabe.equalsIgnoreCase("Wiederstand")){
System.out.println(eingabe);
wiederstande ();
}
else{
//Hier kommt noch was hin
}
}
}
}
und die zweite Klasse
import java.util.Scanner;
public class Wiederstaende extends javax.swing.JFrame{
public static void wiederstande (){
int i = 0;
int [] wiederstandswerte = new int [2];
String farbcode = "";
String toleranz = "";
while (i < 4){
System.out.println("Bitte geben sie die " + (i+1) + " farbe an.");
String farbe = eingabeaufforderung.getText();
if (i == 0 || i ==1){
umrechnen(farbe, wiederstandswerte, i);
i++;
}
else if (i == 2){
farbcode = farbcode(farbe, wiederstandswerte);
i++;
}
else if (i == 3){
toleranz = toleranz(farbe);
i++;
}
}
System.out.println("Der Wiederstand hat einen Wert von " + farbcode +" \u2126 \u00B1 einer Toleranz von " + toleranz);
}
private static void umrechnen (String farbe, int [] wiederstandswerte, int i){
if (farbe.equalsIgnoreCase("schwarz")){
wiederstandswerte** = 0;
}
else if (farbe.equalsIgnoreCase("braun")){
wiederstandswerte** = 1;
}
else if (farbe.equalsIgnoreCase("rot")){
wiederstandswerte** = 2;
}
else if (farbe.equalsIgnoreCase("orange")){
wiederstandswerte** = 3;
}
else if (farbe.equalsIgnoreCase("gelb")){
wiederstandswerte** = 4;
}
else if (farbe.equalsIgnoreCase("gruen")){
wiederstandswerte** = 5;
}
else if (farbe.equalsIgnoreCase("blau")){
wiederstandswerte** = 6;
}
else if (farbe.equalsIgnoreCase("violett")){
wiederstandswerte** = 7;
}
else if (farbe.equalsIgnoreCase("grau")){
wiederstandswerte** = 8;
}
else if (farbe.equalsIgnoreCase("weiss")){
wiederstandswerte** = 9;
}
}
private static String farbcode (String farbe, int [] wiederstandswerte){
String farbcode = "";
if (farbe.equalsIgnoreCase("schwarz")){
farbcode = wiederstandswerte[0] + "" + wiederstandswerte[1] + "";
}
else if (farbe.equalsIgnoreCase("braun")){
farbcode = wiederstandswerte[0] + "" + wiederstandswerte[1] + "0";
}
else if (farbe.equalsIgnoreCase("rot")){
farbcode = wiederstandswerte[0] + "" + wiederstandswerte[1] + "00";
}
else if (farbe.equalsIgnoreCase("orange")){
farbcode = wiederstandswerte[0] + "" + wiederstandswerte[1] + "000";
}
else if (farbe.equalsIgnoreCase("gelb")){
farbcode = wiederstandswerte[0] + "" + wiederstandswerte[1] + "0000";
}
else if (farbe.equalsIgnoreCase("gruen")){
farbcode = wiederstandswerte[0] + "" + wiederstandswerte[1] + "00000";
}
else if (farbe.equalsIgnoreCase("blau")){
farbcode = wiederstandswerte[0] + "" + wiederstandswerte[1] + "000000";
}
else if (farbe.equalsIgnoreCase("violett")){
farbcode = wiederstandswerte[0] + "" + wiederstandswerte[1] + "0000000";
}
else if (farbe.equalsIgnoreCase("grau")){
farbcode = wiederstandswerte[0] + "" + wiederstandswerte[1] + "00000000";
}
else if (farbe.equalsIgnoreCase("weiss")){
farbcode = wiederstandswerte[0] + "" + wiederstandswerte[1] + "000000000";
}
else if (farbe.equalsIgnoreCase("gold")){
farbcode = wiederstandswerte[0] + "," + wiederstandswerte[1];
}
else if (farbe.equalsIgnoreCase("silber")){
farbcode = "0," + wiederstandswerte[0] + "" + wiederstandswerte[1];
}
return farbcode;
}
private static String toleranz(String farbe){
String toleranz = "";
if (farbe.equalsIgnoreCase("gold")){
toleranz = "5 %";
}
else if (farbe.equalsIgnoreCase("silber")){
toleranz = "10 %";
}
else if (farbe.equalsIgnoreCase("keine")){
toleranz = "20 %";
}
return toleranz;
}
}
Doch das Funktioniert nicht. Kann mir jemand helfen?