Problem mit paint(Graphics g) im Applet

Dogge

Aktives Mitglied
In meinem Applet soll nach drücken der "Löschen Taste" die paint Ausgabe in einen leeren String verwandelt werden.Iich nutze für paint die Graphics Methode drawString.
s2=""; ist mein String Parameter/Variable
Java:
import java.applet.*;
import java.awt.event.*;
import java.awt.*;

public class MittelwertApplet3 extends Applet implements ActionListener,WindowListener {

      Label labText;
      TextField tfMittelwert1;
      TextField tfMittelwert2;
      TextField tfErgebnis;
      Button bMittelwertr;
      Button bMittelwertl; 
      double g,f,h;
      String s3; 

      Font fntFett, fntAusgabe;
      
     
      public void init() {
           setLayout(null);
           setSize(400,400);
           

           
          
            
           fntFett=new Font("SansSerif",1,14);
           fntAusgabe= new Font("SansSerif",1,20);
      
           labText=new Label("Dieses Applet berechnet Mittelwerte");
           labText.setFont(fntFett);
           labText.setBounds(50,50,350,25);
           add(labText);

           tfMittelwert1=new TextField("");
           tfMittelwert1.setFont(fntAusgabe);
           tfMittelwert1.setBounds(50,100,150,25);
           add(tfMittelwert1);
 
           tfMittelwert2=new TextField("");
           tfMittelwert2.setFont(fntAusgabe);
           tfMittelwert2.setBounds(250,100,150,25);
           add(tfMittelwert2);

           bMittelwertr=new Button("Rechne Mittelwert");
           bMittelwertr.setFont(fntFett);
           bMittelwertr.setBounds(150,125,150,25);
           bMittelwertr.addActionListener(this);
           add(bMittelwertr);
           
           bMittelwertl=new Button("Loeschen");
           bMittelwertl.setFont(fntFett);
           bMittelwertl.setBounds(150,225,150,25);
           bMittelwertl.addActionListener(this);
           add(bMittelwertl);
 
           tfErgebnis=new TextField("");
           tfErgebnis.setFont(fntAusgabe);
           tfErgebnis.setBounds(150,175,150,25);
           add(tfErgebnis);

           setVisible(true);
        
    }
  
    public void windowClosing (WindowEvent e) {
         
         System.exit(0);
    }

    public void windowClosed(WindowEvent e){}
    public void windowOpened(WindowEvent e) {}
    public void windowActivated (WindowEvent e) {}
    public void windowDeactivated(WindowEvent e){}
    public void windowIconified(WindowEvent e) {}
    public void windowDeiconified(WindowEvent e){}
      
      public void actionPerformed(ActionEvent e) {
            
           if(e.getSource()==bMittelwertr) {
             bMittelwertrClicked();
           }
           if(e.getSource()==bMittelwertl) {
             bMittelwertlClicked();
           }
      }
      
   
      public void bMittelwertrClicked() {
       
           String s1 = tfMittelwert1.getText();
           Double doubleObj1 = Double.valueOf(s1);
           f = doubleObj1.doubleValue();

           String s2 = tfMittelwert2.getText();
           Double doubleObj2=Double.valueOf(s2);
           g = doubleObj2.doubleValue();
           
           h=(f+g)/2;
           Double doubleObj3;
           doubleObj3 = new Double(h);
           s3 = doubleObj3.toString();
           
           
           tfErgebnis.setVisible(false);

           
      }



      public void bMittelwertlClicked() {

           tfMittelwert1.setText("");
           tfMittelwert2.setText("");
           tfErgebnis.setText("");
           
           s3="";
           paint(g);
           
      }
     
      public void paint(Graphics g) {
           

           
           g.drawString(s3,158,190);
      }
}
 

Dogge

Aktives Mitglied
In meinem Applet soll nach drücken der "Löschen Taste" die paint Ausgabe in einen leeren String verwandelt werden.Iich nutze für paint die Graphics Methode drawString.
s2=""; ist mein String Parameter/Variable
Java:
import java.applet.*;
import java.awt.event.*;
import java.awt.*;

public class MittelwertApplet3 extends Applet implements ActionListener,WindowListener {

      Label labText;
      TextField tfMittelwert1;
      TextField tfMittelwert2;
      TextField tfErgebnis;
      Button bMittelwertr;
      Button bMittelwertl; 
      double g,f,h;
      String s3; 

      Font fntFett, fntAusgabe;
      
     
      public void init() {
           setLayout(null);
           setSize(400,400);
           

           
          
            
           fntFett=new Font("SansSerif",1,14);
           fntAusgabe= new Font("SansSerif",1,20);
      
           labText=new Label("Dieses Applet berechnet Mittelwerte");
           labText.setFont(fntFett);
           labText.setBounds(50,50,350,25);
           add(labText);

           tfMittelwert1=new TextField("");
           tfMittelwert1.setFont(fntAusgabe);
           tfMittelwert1.setBounds(50,100,150,25);
           add(tfMittelwert1);
 
           tfMittelwert2=new TextField("");
           tfMittelwert2.setFont(fntAusgabe);
           tfMittelwert2.setBounds(250,100,150,25);
           add(tfMittelwert2);

           bMittelwertr=new Button("Rechne Mittelwert");
           bMittelwertr.setFont(fntFett);
           bMittelwertr.setBounds(150,125,150,25);
           bMittelwertr.addActionListener(this);
           add(bMittelwertr);
           
           bMittelwertl=new Button("Loeschen");
           bMittelwertl.setFont(fntFett);
           bMittelwertl.setBounds(150,225,150,25);
           bMittelwertl.addActionListener(this);
           add(bMittelwertl);
 
           tfErgebnis=new TextField("");
           tfErgebnis.setFont(fntAusgabe);
           tfErgebnis.setBounds(150,175,150,25);
           add(tfErgebnis);

           setVisible(true);
        
    }
  
    public void windowClosing (WindowEvent e) {
         
         System.exit(0);
    }

    public void windowClosed(WindowEvent e){}
    public void windowOpened(WindowEvent e) {}
    public void windowActivated (WindowEvent e) {}
    public void windowDeactivated(WindowEvent e){}
    public void windowIconified(WindowEvent e) {}
    public void windowDeiconified(WindowEvent e){}
      
      public void actionPerformed(ActionEvent e) {
            
           if(e.getSource()==bMittelwertr) {
             bMittelwertrClicked();
           }
           if(e.getSource()==bMittelwertl) {
             bMittelwertlClicked();
           }
      }
      
   
      public void bMittelwertrClicked() {
       
           String s1 = tfMittelwert1.getText();
           Double doubleObj1 = Double.valueOf(s1);
           f = doubleObj1.doubleValue();

           String s2 = tfMittelwert2.getText();
           Double doubleObj2=Double.valueOf(s2);
           g = doubleObj2.doubleValue();
           
           h=(f+g)/2;
           Double doubleObj3;
           doubleObj3 = new Double(h);
           s3 = doubleObj3.toString();
           
           
           tfErgebnis.setVisible(false);

           
      }



      public void bMittelwertlClicked() {

           tfMittelwert1.setText("");
           tfMittelwert2.setText("");
           tfErgebnis.setText("");
           
           s3="";
           paint(g);
           
      }
     
      public void paint(Graphics g) {
           

           
           g.drawString(s3,158,190);
      }
}

Ab Zeile 113 steht das Relevante. bMittelwertl ist "Löschen-Taste". Es funktioniert alles, wenn die paint Methode aus bMittelwertlClicked entfernt wird. s3 von vorhin bleibt ABER eingezeichnet.
Was nun?
 
S

SlaterB

Gast
> Es funktioniert alles, wenn die paint Methode aus bMittelwertlClicked entfernt wird.
was funktioniert denn nicht, wenn der Aufruf bleibt?
ok, das dort übergebende g ist wohl eine double-Variable..

richtiger ist so oder so der Aufruf repaint();
 

Dogge

Aktives Mitglied
public void bMittelwertlClicked() {

tfMittelwert1.setText("");
tfMittelwert2.setText("");
tfErgebnis.setText("");

s3="";
paint(g);

}

public void paint(Graphics g) {



g.drawString(s3,158,190);
}
}






[/code]

Nun aufs Neue mit meinem Zitat. Hat jemand eine Ahnung? Mit einer Konstruktormethode in der init() Methode hab ich es auch versucht(...ohne Erfolg)(MittelwertApplet3 b = new MittelwertApplet3();in init()) und dann in bMittelwertClicked b.paint(g);
 
S

SlaterB

Gast
siehe auch mein Post zuvor
und was hast du bei deinem Zitat gemacht? die Quote-Tags belassen und nur ein schließendes [ / JAVA ] eingefügt?
nicht so sparsam, da gehört mehr dazu..
 

Dogge

Aktives Mitglied
Fehlermeldung bei Konstr.Methode war cannot resolve Variable b.
Irgendwas stimmt da nicht. Dann bab ich das rückgängig gemacht und nur paint(g) bei bMittelwertlClicked() geschrieben. Nächste Fehlermeldung: cannot resolve symbol , symbol :method paint(double)

Zu SlaterB: Ich habe zwischen alles gelöscht was ich nicht brauchte. Oder was meinst du? [/code] ist irgendwie reingekommen.

zwischen quote /quote

Nun aufs Neue mit meinem Zitat. Hat jemand eine Ahnung? Mit einer Konstruktormethode in der init() Methode hab ich es auch versucht(...ohne Erfolg)(MittelwertApplet3 b = new MittelwertApplet3();in init()) und dann in bMittelwertClicked b.paint(g);


Schluss mit den Zitaten. Das lenkt zu viel ab.:)
 
S

SlaterB

Gast
> Nächste Fehlermeldung: cannot resolve symbol , symbol :method paint(double)

ich hab ja schon geschrieben dass g ein double ist, die Fehlermeldung sollte klar sein oder was erwartest du was Java mit deinen double g macht?
ein Graphics-Objekt wirst du nicht sinnvoll herzaubern können, aber musst du auch nicht, siehe eines meiner Posts zuvor
 

Dogge

Aktives Mitglied
SlaterB ich kann nicht bzw. darf nur paint verwenden. Es geht darum das ich h=(f+g)/2 mit paint ausgeben soll. Eine Idee? Ich hab alles von Double in String verwandelt und wieder zurück, damit ich drawString verwenden kann.

drawString(); natürlich.

:idea::idea:
Ich habe g von (Graphics g) und noch g als double Wert. Hab ich leider übersehen. Mein Fehler.
 

Dogge

Aktives Mitglied
Funktioniert leider nicht wie es soll. Ich geb den Versuch auf. Es funzt zwar :eek:, muss aber das Applet oben rechts am Fenster (_-klicken)minimieren damit der paint Eintrag verschwindet. Schade.
Ih habe paint aus bMittelwertlClicked() rausgenommen.

@SlaterB: wie soll ich eigentlich repaint() verwenden bzw. wo einsetzen?
hab es in bMittelwertlClicked eingesetzt ohne Erfolg; bzw. da sollte noch mehr stehen, denn sonst wird der zuvor gespeicherte Wert verwendet? Kapier ich nicht.

"nicht sprechende( kurze )Bezeichner" - diesen Ausdruck kenne ich ncht. Inwiefern können Bezeichner sprechen?
Das ich für verschiedene Dinge den gleichen Bezeichner verwendet hab?
 
S

SlaterB

Gast
da wo bisher der paint-Aufruf steht, offensichtlich,
wie ich grad selber getestet habe natürlich besser in bMittelwertrClicked() genauso, da vor allem soll ja erst der Text erscheinen,

dass du an gleicher Stelle in der GUI ein Textfeld eingefügt hast, machst das ganze natürlich verworrender,
dass dort zusammen mit setVisible(true/false) alles funktioniert ist mir relativ gleich, sowas baut man einfach nicht,

wenn du ein TextFeld willst, dann nimm das, dort kannst du den Mittelwert auch reinschreiben,
wenn nicht dann male nur mit paint an dieser Stelle

noch mehr würde ich gar generell vermeiden, in einem Panel/ einer Komponente gleichzeitig zu malen als auch Sub-Komponenten einzufügen,
die Lösung wäre dann z.B., an der fraglichen Stelle ein Panel einzufügen, und in diesem Panel die paint-Methode zu überschreiben,
bei derartigen paint-Panel muss man allgemein auf Setzen der Size achten, bei null-Layout und setBounds() wäre das aber eh der Fall

> Inwiefern können Bezeichner sprechen?

graph statt g würde eher verraten == sprechen, was sich hinter der Variablen versteckt,
wie man sieht hält sich aber selbst die API nicht unbedingt daran,
ist schon relativ normal, a, b, c usw. zu verwenden..,
eine andere Frage allerdings, ob man das dann unkommentiert auf ein Forum loslässt..
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Problem mit paint(Graphics g) Java Basics - Anfänger-Themen 4
K Problem mit Parameter von paint(Graphics g) Java Basics - Anfänger-Themen 3
S Erste Schritte drawOval Problem in Paint Anwendung Java Basics - Anfänger-Themen 1
A Problem mit paint() Java Basics - Anfänger-Themen 2
M Problem mit paint() und Container. Java Basics - Anfänger-Themen 8
R paint problem Java Basics - Anfänger-Themen 6
B Problem mit Einfügen von Choice (in ein Applet) aus Paint Java Basics - Anfänger-Themen 13
V Problem mit der Anzeige einer paint-Methode in einem Panel Java Basics - Anfänger-Themen 2
K Verständnis Problem bei Server/Client Java Basics - Anfänger-Themen 2
I WildFily - unterschiedliche Libs im Projekt verursachen Problem Java Basics - Anfänger-Themen 11
imocode Vererbung Problem mit Vererbung Java Basics - Anfänger-Themen 2
L Taschenrechner Problem Java Basics - Anfänger-Themen 4
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
A ScheduledExecutorService problem Java Basics - Anfänger-Themen 7
marcelnedza Problem mit Weltzuweisung, JavaKarol Java Basics - Anfänger-Themen 13
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
M Erste Schritte Collatz Problem max int Java Basics - Anfänger-Themen 3
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
C GLOOP Problem beim Erstellen der Kamera Java Basics - Anfänger-Themen 9
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
frager2345 Problem mit Methode Java Basics - Anfänger-Themen 4
L Problem bei Rechnung mit Math.pow Java Basics - Anfänger-Themen 13
A Thread-Schreibe-Lese-Problem Java Basics - Anfänger-Themen 4
SUPERTJB return Problem Java Basics - Anfänger-Themen 3
sserio BigInteger Problem Java Basics - Anfänger-Themen 4
JordenJost Taschenrechner problem Java Basics - Anfänger-Themen 5
K Problem mit "Random" Java Basics - Anfänger-Themen 5
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Problem beim Anzeigen Java Basics - Anfänger-Themen 5
xanxk Problem For-Schleife mit Charakter Java Basics - Anfänger-Themen 2
L Unbekanntes Problem mit 2d Array Java Basics - Anfänger-Themen 6
sserio Liste erstellt und ein Problem mit dem Index Java Basics - Anfänger-Themen 8
sserio Schwimmen als Spiel. Problem mit to String/ generate a card Java Basics - Anfänger-Themen 4
J Schleife Problem Java Basics - Anfänger-Themen 2
D Problem mit der Erkennung von \n Java Basics - Anfänger-Themen 2
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
M Verständins Problem bei Aufgabe Java Basics - Anfänger-Themen 4
HeiTim Problem mit der Kommasetzung an der richtigen stelle Java Basics - Anfänger-Themen 59
Temsky34 Problem mit dem Code Java Basics - Anfänger-Themen 17
P Problem mit Calendar.getDisplayName() Java Basics - Anfänger-Themen 8
C Problem mit mehreren Methoden + Scanner Java Basics - Anfänger-Themen 5
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
M Problem mit Klassenverständnis und Button Java Basics - Anfänger-Themen 8
EchtKeineAhnungManchmal hallo habe ein Problem mit einer Datei -> (Zugriff verweigert) Java Basics - Anfänger-Themen 4
H Problem mit Verzweigungen Java Basics - Anfänger-Themen 6
H Problem mit Rückgabewert Java Basics - Anfänger-Themen 7
josfe1234 JAVA FX problem Java Basics - Anfänger-Themen 3
A Code Problem Java Basics - Anfänger-Themen 6
Henri Problem von Typen Java Basics - Anfänger-Themen 7
J Problem mit "ArrayIndexOutOfBoundsException" Java Basics - Anfänger-Themen 11
K jackson Mapping - Problem mit Zeitzonen Java Basics - Anfänger-Themen 10
B Threads Problem mit mehreren Threads Java Basics - Anfänger-Themen 38
I Output BigDecimal anstatt double / Problem beim Rechnen Java Basics - Anfänger-Themen 16
D Schleifen Problem Java Basics - Anfänger-Themen 2
H So viele Fehlermeldungen, dass ich nicht weiß wo das Problem ist. Java Basics - Anfänger-Themen 6
J JAVA-Problem blockiert MEDIATHEKVIEW Java Basics - Anfänger-Themen 13
T Problem mit Lehrzeichen und String bei einfacher Chiffre Java Basics - Anfänger-Themen 8
J extends Problem Java Basics - Anfänger-Themen 2
C Polymorphie-Problem Java Basics - Anfänger-Themen 3
Kalibru Problem bei Ausgabe von Objekt Java Basics - Anfänger-Themen 1
I Format Problem mit Wert - bekomme 0,10 anstatt 10,00 Java Basics - Anfänger-Themen 6
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
J Allgemeines Problem mit Klassen Java Basics - Anfänger-Themen 5
U Problem mit dem initialisieren meines Strings in einer Schleife Java Basics - Anfänger-Themen 5
amgadalghabra algorithmisches Problem Java Basics - Anfänger-Themen 19
J Traveling Salesman Problem [Arrays] Java Basics - Anfänger-Themen 9
R ArrayList Problem Java Basics - Anfänger-Themen 6
InfinityDE Problem mit Datenübergabe an Konstruktor Java Basics - Anfänger-Themen 7
C RegEx Problem Java Basics - Anfänger-Themen 4
J Anfänger TicTacToe, Problem bei Gewinnoption, sowohl Unentschieden Java Basics - Anfänger-Themen 8
E Taschenrechner GUI Problem mit Fehlerhandling Java Basics - Anfänger-Themen 6
M Input/Output Fallunterscheidung Problem Java Basics - Anfänger-Themen 17
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
M Problem bei Ausgabe Java Basics - Anfänger-Themen 7
Splayfer Java Array Problem... Java Basics - Anfänger-Themen 2
G Problem bei der Ausgabe einer Main Claase Java Basics - Anfänger-Themen 7
F Problem mit KeyListener in kombination mit dem ActionListener Java Basics - Anfänger-Themen 4
G Subset sum problem mit Backtracking Java Basics - Anfänger-Themen 18
N Problem mit Scanner Java Basics - Anfänger-Themen 2
J Klassen Problem Java Basics - Anfänger-Themen 8
A Out.format problem. Java Basics - Anfänger-Themen 3
J Problem bei der Programmierung eines Tannenbaums Java Basics - Anfänger-Themen 9
A Array problem Java Basics - Anfänger-Themen 16
2 Taschenrechner mit GUI Problem bei der Berechnung Java Basics - Anfänger-Themen 8
W Remote Method Invocation RMI - Problem Java Basics - Anfänger-Themen 0
I Ich habe ein Problem Java Basics - Anfänger-Themen 3
A Problem bei returnen eines Wertes Java Basics - Anfänger-Themen 6
M Regex Erstellung Problem Java Basics - Anfänger-Themen 2
D Input/Output Problem bei der Benutzereingabe eines Befehls Java Basics - Anfänger-Themen 14
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
F Habe ein problem mit dem ActionListener Java Basics - Anfänger-Themen 3
C Regex-Problem Java Basics - Anfänger-Themen 4
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
M Problem in der Modellierung Java Basics - Anfänger-Themen 20
W Wo ist das URL-Problem ? Java Basics - Anfänger-Themen 1
S Generics-Problem: Class, Class<?>, Class<Object> Java Basics - Anfänger-Themen 4
D FileWriter / FileReader Problem Java Basics - Anfänger-Themen 10
G Problem beim Speichern von Objekten in einer Datei Java Basics - Anfänger-Themen 7
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben