Jag håller på med en grej som ska slumpa fram siffror mellan 1 och 6 och dessa ska nu skrivas ut så här:
1 9 HISTOGRAMSTAPEL HÄR
2 11 HISTOGRAMSTAPEL HÄR
3 10 HISTOGRAMSTAPEL HÄR
4 8 HISTOGRAMSTAPEL HÄR
5 11 HISTOGRAMSTAPEL HÄR
6 11 HISTOGRAMSTAPEL HÄR
Vill försöka sätta ram runt siffrorna jag har i andra kolumnen med siffror och sen rita ut min stapel. Nån som kan hjälpa mig? Gärna förbättringar i koden men dock inte för mycket så jag inte fattar. Gärna att ni kommenterar om ni skrivit in eller ändrat något tack.
Koden här för filerna
TheDice.java
package javaprylar;
public class TheDice {
public static void main(String[]args)
{
TarningsTabell tar = new TarningsTabell();
}
}
TarningsTabell.java
package javaprylar;
import java.util.Random;
import javax.swing .*;
import java.awt.*;
import java.awt.event.*;
public class TarningsTabell extends JFrame
{
Random slump = new Random();
int slumpatTal;
int totAntalKast;
private static int[] kast = new int[6];
public TarningsTabell() {
totAntalKast = 60;
genereraSlumpTalsTabell();
genereraJframe();
}
public TarningsTabell(int totAntalKast) {
this.totAntalKast = totAntalKast;
genereraSlumpTalsTabell();
genereraJframe();
}
public void genereraJframe(){
this.setLayout(new FlowLayout());
this.setSize(300,300);
this.setTitle("Tärning");
this.setResizable(false);
this.setLocation(400,250);
this.getContentPane().setBackground(Color.WHITE);
JPanel ytan = new JPanel();
for (int i = 0; i < kast.length; i++){
//Stapel grafikpanel = new Stapel(totAntalKast,kast[i]);
JLabel text1 = new JLabel("" + (i + 1) + " ");
JLabel text2 = new JLabel("" + kast[i] + " ");
JLabel text3 = new JLabel("Stapeln skall vara här");
text1.setPreferredSize(new Dimension(15,20));
text2.setPreferredSize(new Dimension(25,20));
text3.setPreferredSize(new Dimension(235,20));
this.add(text1);this.add(text2);this.add(text3);
//this.add(grafikpanel);
}
this.setVisible(true);
}
public void genereraSlumpTalsTabell(){
for (int i = 0; i < totAntalKast; i++){
slumpatTal = slump.nextInt(6);
kast[slumpatTal]++;
}
for (int i = 0; i < kast.length; i++){
System.out.println(i + 1 + " - " + (kast[i]) );
}
}
// Använder ju inte jag...
public int[] getKast(){
return kast;
}
}
Sen skapa jag en till för ev Histogramstapel för jag vet inte hur jag ska göra
Stapel.java
package javaprylar;
import java.awt.*;
import javax.swing.JPanel;
public class Stapel extends JPanel
{
int totAntalKast;
int kastPerSida;
int procentLangd;
public Stapel(int totAntalKast,int kastPerSida){
this.totAntalKast = totAntalKast; //Dessa används sen i nedanstående metod
this.kastPerSida = kastPerSida; //Dessa används sen i nedanstående metod/
procentLangd = (kastPerSida/totAntalKast)*100;
}
public void paintComponent (Graphics page)
{
super.paintComponent (page);
page.setColor (Color.blue);
page.drawRect (50,50,20,procentLangd); // här ska höjd, längd och så ritas beroende på värderna ifrån konstruktorn.
}
}