Liebe Leute,
ich habe im Anhang vorher und nachher Bilder angehängt
Ich habe ein Paar Fragen im Bezug meinem Code.
1.Warum bekomme ich immer die Farbe schwarz
- Wie kann ich Y Achse beschriften(Vielleicht einen Tipp)
Im Bezug andere Aufgabe, damit ich nicht so viele Beitrage mache :
- Wenn man ein Kreisdiagramm machen Möchte macht man doch fillOval
- Wenn man mit Prozente beschriften möchte verwendet man drawString und halt x und y Koordinate mit manuelle ausprobieren anpassen oder kann man die ausrechnen?
import java.awt.*;
import java.awt.event.*;
public class Balkendiagramm extends JFrame {
MeineCanvas malflaeche;
JButton but1, but2, but3, but4, but5, but6;
int akt = 1;
String[] monat = new String[] { "Jan", "Feb", "M‰rz", "April",
"Mai", "Juni", "Juli", "Aug", "Sept", "Okt",
"Nov", "Dez" };
int[] h = new int[] { 150, 170, 140, 100, 15, 0, 30, 50, 100, 135, 160, 200 };
Balkendiagramm() {
setLayout(new FlowLayout());
malflaeche = new MeineCanvas();
JPanel p = new JPanel();
p.setLayout(new GridLayout(6, 1, 40, 28));
but1 = new JButton("Balken");
add(malflaeche);
p.add(but1);
but1.addActionListener(new FZ());
}
class MeineCanvas extends Canvas {
MeineCanvas() {
setBackground(Color.WHITE);
}
public void paint(Graphics g) {
if (akt == 0) {
return;
}
if (akt == 1) {
int x = 10;
int b = 10;
g.setColor(Color.red);
g.drawLine(5, 20, 5, 250);
g.drawLine(5, 250, 600, 250);
for (int i = 0; i < 12; i++) {
int rot = ((int) Math.random() * 256);
int gruen = ((int) Math.random() * 256);
int blau = ((int) Math.random() * 256);
g.setColor(new Color(rot, gruen, blau));
g.fillRect(x, 250 - h**, b, h**);
g.drawString(monat**, x, 260);
x = x + 50;
}
}
}
public Dimension getMinimumSize()
{
return new Dimension(800, 300);
}
public Dimension getPreferredSize() {
return getMinimumSize();
}
}
class FZ implements ActionListener {
public void actionPerformed(ActionEvent e) {
String a = e.getActionCommand();
if (a.equals("Balken")) {
akt = 1;
}
malflaeche.repaint();
}
}
public static void main(String args[]) {
Balkendiagramm z = new Balkendiagramm();
z.pack();
z.setSize(800, 350);
z.setVisible(true);
z.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}```