[Java] Pferd Programmieren aber Problem

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von fugi96, 17. November 2011 .

  1. 17. November 2011
    Pferd Programmieren aber Problem

    Hey Leute hab ein kleines Problem mit meinem eigen Pferd in Java.

    Meine Arbeit bis jetzt


    Code:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    public class Pferde extends JFrame implements ActionListener
    {
     private int groesse,alter;
     private Color schwarz,grau,weiß;
     private String name;
     private boolean hunger;
     private JButton Füttern; 
     private JButton Gallopieren;
     private JTextField pferd;
     private Font farbe;
    
     public Pferde()
     { super("Pferdesimulation");
     setBounds(300,300,600,300);
     setResizable(true);
     setDefaultCloseOperation(3);
     setLayout(null);
    
     Füttern = new JButton ("Füttern");
     pferd = new JTextField ("");
     Gallopieren=new JButton ("Gallopieren");
    
     weiß = new Color(255,255,255);
     grau = new Color(200,200,200);
     schwarz = new Color(0,0,0);
     farbe = new Font("Arial",1,26);
    
     Füttern.setBounds( 300,50,130,30);
     pferd.setBounds(20,30,200,200);
     Gallopieren.setBounds(250,50,130,30);
     
     pferd.setBackground(schwarz);
     pferd.setForeground(weiß);
     pferd.setFont(farbe);
    
     add(pferd);
     add(Füttern);
     add(Gallopieren);
     setVisible(true);
     pferd.setEditable(false);
    
     } 
    
    
     public void Hungrig(int Hunger)
     {
     Hunger = 20;
     System.out.println("Hungrig");
    
     }
    
     public int Füttern()
     {
    
     int Hunger = 0;
     System.out.println("Satt");
     return Hunger;
     }
    
     public void actionPerformed(ActionEvent e) {
     if (e.getActionCommand().equals("Füttern")){
    
     System.out.println("Gefüttert");
    
     }
     }
     public int Gallopieren(int Hunger)
     { 
     
     Hunger += 5;
     if (Hunger >= 20){
     System.out.println("Hungrig");
     }
     return Hunger;
     }
     }
    
    Wie kann ich jetzt die beiden Methoden Gallopieren und Füttern nun dem ActionListener zuordnen

    Und wie kann ich dann die Texte von System.out.println der methoden in Das Pferde Textfield einfügen ??
    Kann man es auch so machen dass das Pferd nach einer bestimmten Zeit Hungrig wird.

    Und letzte Frage kann man die Farbe des Pferdes(also textfield) random machen

    BW ist drinne
     
  2. 17. November 2011
    AW: Pferd Programmieren aber Problem

    Füge in dein Konstruktor das mit ein:
    Code:
    Füttern.addActionListener(this);
    Gallopieren.addActionListener(this);
    

    Deine Füttern Methode
    Code:
     public int Füttern() {
    
     int Hunger = 0;
     pferd.setText("satt");
     return Hunger;
     }

    Alles andere geht auch, aber du hast nichtmal die Grundladen drauf. ... versteh erstmal das, was du machst.

    Benutzt Umlaute, .. schreibst Variablen groß.... setz dich damit nochmal auseinander.
    Alles in den Konstruktor zu knallen ist unsauber....
    Deine Methoden geben was zurück, aber damit anfangen tust du nichts..noch macht das i-wie vernünftig Sinn (derzeit).
     
  3. 17. November 2011
    AW: Pferd Programmieren aber Problem

    So sieht es bisher aus :

    Code:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    public class Pferde extends JFrame implements ActionListener
    {
     private int groesse,alter;
     private Color schwarz,grau,weiß;
     private String name;
     private boolean hunger;
     private JButton fuettern; 
     private JButton gallopieren;
     private JTextField pferd;
     private Font farbe;
     
     public Pferde()
     { super("Pferdesimulation");
    
     setBounds(300,300,600,300);
     setResizable(false);
     setDefaultCloseOperation(3);
     setLayout(null);
    
     fuettern = new JButton ("Füttern");
    
     gallopieren=new JButton ("Gallopieren");
    
     weiß = new Color(255,255,255);
     grau = new Color(200,200,200);
     schwarz = new Color(0,0,0);
     farbe = new Font("Arial",1,26);
    
     fuettern.setBounds( 250,100,130,30);
     
     add(pferd);
     pferd.setBounds(100,100,200,200);
     pferd.setForeground(weiß);
     pferd.setBackground(schwarz);
     pferd.setFont(farbe);
     gallopieren.setBounds(250,50,130,30);
     add(fuettern);
     fuettern.addActionListener(this);
     gallopieren.addActionListener(this);
     add(gallopieren);
     setVisible(true);
     
     }
     
     
     public int fuettern(int hunger)
     {
    
     hunger = 1;
     pferd.setText("Satt");
     return hunger;
     }
    
     public int gallopieren(int hunger)
     { 
    
     hunger = 20;
     pferd.setText("Hungrig");
     
     return hunger;
     }
     
     public void actionPerformed(ActionEvent e) {
     if (e.getActionCommand().equals("Füttern")){
     
     }
    if (e.getActionCommand().equals("Gallopieren")){
     }
    }
    }
    Ich bekomm jetzt ne Fehlermeldung bei add(pferd)
    wieso ??? ?(

    Ich lerne das übrigens in der Schule
     
  4. 17. November 2011
    AW: Pferd Programmieren aber Problem

    Zu dem Zeitpunkt hast du noch garkein "pferd" erstellt. Du sagst bei der Deklaration nur, dass "pferd" ein JTextField ist, erstellst dieses aber nicht.

    Als kleine Anmerkung: "Ich bekomm jetzt ne Fehlermeldung" ist genauso aussagekräftig wie "Es klappt nicht". Die konkrete Fehlermeldung wäre wohl recht sinnvoll gewesen. Normalerweise Antworte ich auf solchen Fragen nicht,...
     
  5. 17. November 2011
    AW: Pferd Programmieren aber Problem

    Fehlermeldung ist java.lang.nullpointerexception
     
  6. 17. November 2011
    AW: Pferd Programmieren aber Problem

    Wenn man programmieren will, gehört auch Fehleranalyse dazu...
    Wenn man die Fehlermeldung bei Google eingibt, bekommt man auf der ersten Seite einige hilfreiche Ergebnisse... Wenn du damit nichts anfangen kannst, solltest du dich mal mit den Grundlagen auseinandersetzen

    So als kleiner Tip:
    add(pferd): was ist "pferd"? Wo initialisierst du "pferd"?
    Ich kann zwar eigentlich kein Java, aber dass der Code so nicht laufen kann, seh ich auch als C/C++-Programmierer...
    Oder wo ist die Zeile "pferd = new JTextField ("");" in deinem letzten Post?
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.