Histogramm zeichnen mit AWT

Status
Nicht offen für weitere Antworten.
N

Noon

Gast
Hallo,

ich sitze gerade an folgender Aufgabe und habe durch die wirre Aufgabenbeschreibung leider gerade den Faden verloren und weiß nicht mehr weiter.

Die Aufgabe:

Programmieren Sie eine Klasse ShowHistogram als Unterklasse der Klasse Frame, die ein PaintHistogram-Objekt beinhaltet und anzeigt.

Die PaintHistogram-Klasse ist wiederum eine Klasse, die als Unterklasse der Klasse Canvas implementiert wird, in ihrem Konstruktor ein Array mit Zahlen bekommt und folgendes Balkendiagramm innerhalb ihrer paint-Methode zeichnet

Mein Code dazu:

Code:
import java.awt.*;


public class ShowHistogramm extends Frame{
	Frame fenster = new Frame();

	
	public static void main(String [] args)
	  {
		  fenster.setTitle("Show Histogramm");
		  fenster.setSize(300,150);
		  fenster.setVisible(true);
	  }
	public ShowHistogramm()
	  {
		ShowHistogramm painthistogramm;
		painthistogramm= new ShowHistogramm();
		
				
		    	  
		  }
	      
	      
}
class PaintHistogramm extends Canvas
{
	public static void main(String[] args)
	{
		
	}
	 private static final long serialVersionUID = 4711L;
	

	public PaintHistogramm(){
		 int [] n = {10,2,3,4,5,6,7,8};
	}
	public void paint( Graphics g )
	  {
		
		for(int i=0;i<11; i++)
		  {   
			  g.setColor( Color.blue );
				g.fillRect( 20, 20, 20, 20 );
				g.setColor( Color.red );
				g.drawRect( 50,50,30,30 );
		  }
	  }}

Was ich gerne von euch wissen würde ist, ob ich den grundsätzlichen Aufbau (unterklasse von, methode von usw) richtig habe oder was da falsch ist. Ich weiß, dass dieses Programm so noch gar nix macht, da ich die Funktionen auch noch nicht habe. Ich hätte nur gerne gewusst was falsch ist und warum. Ich weiß ich bin ein Noob, falls ich das gleich gesagt bekomme, aber ich arbeite echt dran, es hinzubekommen als wäre ich für eure Hilfe echt dankbar.
 
S

SlaterB

Gast
PaintHistogramm braucht keine main-Methode

ShowHistogramm erbt von Frame, dann ist ein ShowHistogramm-Objekt das Frame-Objekt,
die Variable
Frame fenster = new Frame();
ist also überflüssig bis hinderlich

von der statischen main-Methode könntest du eh nicht auf das nicht-statische fenster zugreifen,

im ShowHistogramm-Konstruktor ein weiteres ShowHistogramm-Objekt zu erzeugen führt logischerweise zu einer Endlosschleife


ein ShowHistogramm-Objekt wird (ansonsten) bisher nirgendwo erzeugt,


das ShowHistogramm-Frame sollte dann auch ein PaintHistogramm-Objekt enthalten

der Variablenname von
> ShowHistogramm painthistogramm;
deutet wohl darauf hin, also noch zu korrigieren
 
N

Noon

Gast
Ich hab das jetzt mal erweitert und hänge leider schon wieder fest :(

Meine ShowHistogramm Klasse sieht jetzt wie folgt aus:

Code:
import java.awt.*;
import javax.swing.*;

public class ShowHistogramm extends JFrame{
    public ShowHistogramm()
    {
    	 PaintHistogramm p = new PaintHistogramm();
         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         this.setSize(400,400);
         this.add(p);
         this.setVisible(true);
         this.setLayout(new GridLayout());
        
        
        Container paintHistogramm = getContentPane();
        
        
    }
    public static void main(String[] args) {
        
        ShowHistogramm ph = new ShowHistogramm();
    }

}

Und meine Paint Histogramm Klasse, sieht jetzt so aus:

Code:
import java.awt.*;
public class PaintHistogramm extends Canvas{
    
    public void paint(Graphics g){
        
        super.paint(g);
        int x = 50, y = 300;
        int breite = 20, abstand = 5;
        int werteTabelle[]= {3,7,38,5,6,27,45,33,5,10,23,6};
        g.drawLine(x, y, x+12*(breite+abstand), y);
        g.drawLine(x, y, x, 30);
        
        for (int m = 0; m < 12; m++){
            g.drawString(werte[m], m*(breite+abstand)+abstand+x, y+20);
        }
        for (int i = 0; i < y; i+=100){
            g.drawString(String.valueOf(i), 20, y-i);
        
        g.setColor(Color.black);
        }
        for(int wert = 0; wert < 12; wert++)
        { 
        	int a = (int) werteTabelle[wert]*10;
        g.fillRect(wert*(breite+abstand)+abstand+x, y-a, breite, a);
        g.drawRect(wert*(breite+abstand)+abstand+x, y-a, breite, a);
        g.setColor(Color.black);}}
    
        private double[] werteTabelle = new double[12];
        private static String werte[] = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "k", "l", "m"};
}

Bekomme immer die Fehlermeldung: "java.lang.NoClassDefFoundError: ShowHistogram
Caused by: java.lang.ClassNotFoundException: ShowHistogram
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Exception in thread "main" "

Kann damit nicht so recht was anfangen. Help?
 
S

SlaterB

Gast
das liegt wahrscheinlich an der Programmausführung,
die andere Klasse wird nicht gefunden, weil der Classpath falsch eingestellt ist,
vielleicht ist die andere Datei auch gar nicht kompiliert,

gib alle verwendeten Verzeichnisse, Entwickungsumgebungen, Classpath-Systemvariablen, Befehle beim Compilieren und Ausführen usw. an,
idealerweise sollte das aber jemand vor Ort klären
 
N

Noon

Gast
Ok, danke dann frage ich mal vor Ort, wenn ich die Aufgabe abgebe.
 
S

SlaterB

Gast
naja, wenn du abgibst, hast du wohl nicht deinen PC dabei,
obwohl es ein Laptop sein könnte,

vielleicht gibts aber ne Vorführung, wie man es richtig macht ;)
 
N

Noon

Gast
Ich habe meinen Laptop dabei, auf dem ich das auch programmiert habe.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Mandelbrot mit BigDecimal erstellen und in der UI zeichnen, funktionierte nicht. AWT, Swing, JavaFX & SWT 1
H JavaFX Canvas neu zeichnen anstoßen AWT, Swing, JavaFX & SWT 34
H Transparent zeichnen mit drawImage in paintComponent Methode AWT, Swing, JavaFX & SWT 3
N JavaFX Unicode zeichnen in javafx Label verwenden AWT, Swing, JavaFX & SWT 2
G 2D-Grafik Grafik in zwei verschiedenen Fenstern gleichzeitig zeichnen AWT, Swing, JavaFX & SWT 9
S Event Handling Neu zeichnen nur wenn Berechnung fertig ist AWT, Swing, JavaFX & SWT 4
W JavaFX Ich kann keinen Kreis richtig zeichnen AWT, Swing, JavaFX & SWT 8
CptK Funktionsgraphen effizient zeichnen und nur Teile von JPanel erneuern AWT, Swing, JavaFX & SWT 2
G Dreieck aus Pixeln zeichnen AWT, Swing, JavaFX & SWT 8
N Mit KeyListener ein rechteck zeichnen AWT, Swing, JavaFX & SWT 9
B 2D-Grafik paintcomponent Probleme beim zeichnen AWT, Swing, JavaFX & SWT 10
Z Swing Graph zeichnen lassen AWT, Swing, JavaFX & SWT 16
O Kann kei neues Panel zum zeichnen aufrufen... AWT, Swing, JavaFX & SWT 4
L Swing zeichnen AWT, Swing, JavaFX & SWT 14
S GUI Kreuz zeichnen und Position ausgeben AWT, Swing, JavaFX & SWT 3
S GUI Kreis zeichnen AWT, Swing, JavaFX & SWT 13
S Swing Rechteck über JTable zeichnen (per MouseListener) AWT, Swing, JavaFX & SWT 1
L Swing Ein Rechteck in ein Grid Zeichnen AWT, Swing, JavaFX & SWT 5
L JavaFX Animation, erst zeichnen dann anzeigen AWT, Swing, JavaFX & SWT 4
K Mehrere Linien zeichnen AWT, Swing, JavaFX & SWT 8
E Transparent zeichnen AWT, Swing, JavaFX & SWT 2
S AWT Probleme beim Zeichnen AWT, Swing, JavaFX & SWT 3
T Tic Tac Toe - GUI Linien zeichnen AWT, Swing, JavaFX & SWT 14
C Applet Zeichnen über Button-Click AWT, Swing, JavaFX & SWT 13
Soloeco Graph zeichnen AWT, Swing, JavaFX & SWT 1
G Zeichnen Programm AWT, Swing, JavaFX & SWT 1
I Graph mit Swing zeichnen AWT, Swing, JavaFX & SWT 8
H Swing + Paint: Mehrere Objekte zeichnen lassen AWT, Swing, JavaFX & SWT 3
W Swing JPanel nur einmal nach mehreren Änderungen neu zeichnen AWT, Swing, JavaFX & SWT 1
D Quadrat, Rechteck zeichnen AWT, Swing, JavaFX & SWT 3
K Probleme beim zeichnen mit paintComponent() AWT, Swing, JavaFX & SWT 1
JG12111989 mehrere Polyline-Objekte zeichnen AWT, Swing, JavaFX & SWT 3
A Swing JRadioButton zeichnen nicht AWT, Swing, JavaFX & SWT 4
J Swing Vertikales Zeichnen eines Strings mit Java2D AWT, Swing, JavaFX & SWT 1
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
P 2D-Grafik Bogen(Arc) zwischen zwei Punkten zeichnen AWT, Swing, JavaFX & SWT 2
F Java Swing Rechteck in JPanel zeichnen AWT, Swing, JavaFX & SWT 7
KilledByCheese Swing 2D JLabel Array Maze zeichnen AWT, Swing, JavaFX & SWT 2
S Parallele Linien zeichnen AWT, Swing, JavaFX & SWT 5
J Linien auf JPanel zeichnen AWT, Swing, JavaFX & SWT 3
P AWT Canvas freihändig zeichnen AWT, Swing, JavaFX & SWT 1
llabusch Linien in JPanel zeichnen AWT, Swing, JavaFX & SWT 6
S passende PaintComponent ? Zeichnen in TextArea mit Scrollpane ? AWT, Swing, JavaFX & SWT 2
I Applet BlueJ Applet - Bild mit if-Schleife zeichnen lassen AWT, Swing, JavaFX & SWT 16
L JavaFX JavafX Timelime zeichnen und schön stylen? AWT, Swing, JavaFX & SWT 2
I JFrame neu zeichnen, nicht überzeichnen! AWT, Swing, JavaFX & SWT 2
I Spielsteine zeichnen und entfernen AWT, Swing, JavaFX & SWT 3
H JavaFX Freezes beim Zeichnen mit Canvas AWT, Swing, JavaFX & SWT 3
H Swing BufferedImage zeichnen AWT, Swing, JavaFX & SWT 1
M JFreeChart neu zeichnen sich Wenn Jtable sich ändert AWT, Swing, JavaFX & SWT 5
S 2D-Grafik MouseDragged Linien zeichnen AWT, Swing, JavaFX & SWT 4
M Zeichnen ohne vorherige Linien zu löschen AWT, Swing, JavaFX & SWT 2
T Problem beim Zeichnen von Rechteck AWT, Swing, JavaFX & SWT 3
T Swing / Kreis zeichnen AWT, Swing, JavaFX & SWT 2
I Text zur Linie zeichnen AWT, Swing, JavaFX & SWT 1
I Pfeil zeichnen am Ende einer Linie AWT, Swing, JavaFX & SWT 1
D 2D-Grafik Inhalt eines Graphics in anderes Graphics zeichnen.... AWT, Swing, JavaFX & SWT 3
F Zeichnen des Button AWT, Swing, JavaFX & SWT 4
B Zeichnen mit paintComponent? Oder anders? AWT, Swing, JavaFX & SWT 15
C Swing Aus verschiedenen Klassen zeichnen. AWT, Swing, JavaFX & SWT 2
C Swing BufferedImage zeichnen und JLabels setzen. AWT, Swing, JavaFX & SWT 17
M Kein Zeichnen der Figuren auf JPanel AWT, Swing, JavaFX & SWT 4
J JButton neu zeichnen lassen AWT, Swing, JavaFX & SWT 9
S Quadrat auf Frame zeichnen AWT, Swing, JavaFX & SWT 2
P Image oder Icon auf Tooltip zeichnen AWT, Swing, JavaFX & SWT 4
C Graphics Objekt in Zeitschleife zeichnen AWT, Swing, JavaFX & SWT 4
X Swing JPanel mehrere Ebenen zeichnen AWT, Swing, JavaFX & SWT 13
G Zeichnen auf eine schwergewichtige Komponente? AWT, Swing, JavaFX & SWT 0
G Mehrere Strings um Kreis zeichnen und positionieren AWT, Swing, JavaFX & SWT 0
P SWT Nebula Gallery - Bildbereiche zeichnen AWT, Swing, JavaFX & SWT 3
A Swing Paint mit Button Clear den Hintergrund säubern um wieder zeichnen zu können AWT, Swing, JavaFX & SWT 2
A 2D-Grafik Zeichnen einer sich bewegenden Box mit BufferStrategy zieht Spur AWT, Swing, JavaFX & SWT 2
T AWT Bild laden und transparent zeichnen AWT, Swing, JavaFX & SWT 2
Helgon Swing Mit Swing zeichnen / NetBeans GUI AWT, Swing, JavaFX & SWT 11
M JLabel über JButtons zeichnen AWT, Swing, JavaFX & SWT 4
J JApplet und Zeichnen AWT, Swing, JavaFX & SWT 8
P 2D-Grafik NPE beim Zeichnen auf Graphics g AWT, Swing, JavaFX & SWT 8
4 Swing Graphen selber zeichnen AWT, Swing, JavaFX & SWT 2
T Über mehrere Panel zeichnen AWT, Swing, JavaFX & SWT 2
T Zeichnen von getSubimage funktioniert nicht AWT, Swing, JavaFX & SWT 7
M Bilder zeichnen, NullPointer Exception AWT, Swing, JavaFX & SWT 3
N JPanel neu zeichnen AWT, Swing, JavaFX & SWT 10
D Zeichnen eines Barplots AWT, Swing, JavaFX & SWT 2
bluerob Problem beim Image zeichnen via andere Klasse AWT, Swing, JavaFX & SWT 7
M Swing JFrame in einem Panel zeichnen AWT, Swing, JavaFX & SWT 3
M Suche Javabibliothek zum Zeichnen mathematischer Funktionen AWT, Swing, JavaFX & SWT 11
M Swing Warum öffnen sich beim Zeichnen mit Swing plötzlich zwei Fenster? AWT, Swing, JavaFX & SWT 5
P ScrollPane nach zeichnen dynamisch resize AWT, Swing, JavaFX & SWT 7
M Swing In GUI-Builder-JFrame mit Menü Schreiben und Zeichnen AWT, Swing, JavaFX & SWT 4
N 2D-Grafik 2 Probleme beim zeichnen AWT, Swing, JavaFX & SWT 18
S Swing Bild auf jPanel nach Änderung von JComboBox zeichnen AWT, Swing, JavaFX & SWT 4
C Funktionen zeichnen AWT, Swing, JavaFX & SWT 16
P JPanel neu zeichnen AWT, Swing, JavaFX & SWT 10
M Auf einem Hintergrundbild zeichnen AWT, Swing, JavaFX & SWT 2
S Eigene JComponent Image zeichnen AWT, Swing, JavaFX & SWT 3
T Oval auf ein JPanel zeichnen AWT, Swing, JavaFX & SWT 3
L Zeichnen in zwei Fenstern AWT, Swing, JavaFX & SWT 8
S Font laden, Wort zeichnen und animieren..? AWT, Swing, JavaFX & SWT 2
S Bild von Punkt zu Punkt zeichnen AWT, Swing, JavaFX & SWT 8
U Pixel zeichnen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben