Hy
Bin dabei das Game of life zu programmieren, falls es jemand kennt
jedenfalls hab ich ein JFrame
in diesem Frame will ich eine Tabelle/Raster mit 100*100 Zellen
hab nun zwei klassen eine die JFrame erbt und eine andere die JPanel erbt
in der JFrame klasse setze ich ein GridLayout(100,100)
und in einer Schleife adde ich 10000 Objekte meiner JPanelklasse
das erste Problem ist das die Panels erst angezeigt werden wenn ich die größe des Fensters verändere
und das zweite Problem ist das unten und rechts im Frame 2-3 cm platz sind
kann mir da vielleicht jemand weiterhelfen?
hier ist der Code des JFrames:
und hier der Code des JPanels:
Greetz from dTP
Bin dabei das Game of life zu programmieren, falls es jemand kennt
jedenfalls hab ich ein JFrame
in diesem Frame will ich eine Tabelle/Raster mit 100*100 Zellen
hab nun zwei klassen eine die JFrame erbt und eine andere die JPanel erbt
in der JFrame klasse setze ich ein GridLayout(100,100)
und in einer Schleife adde ich 10000 Objekte meiner JPanelklasse
das erste Problem ist das die Panels erst angezeigt werden wenn ich die größe des Fensters verändere
und das zweite Problem ist das unten und rechts im Frame 2-3 cm platz sind
kann mir da vielleicht jemand weiterhelfen?
hier ist der Code des JFrames:
Code:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.GridLayout;
import javax.swing.JFrame;
public class Life
extends JFrame
{
private int raster=5;
public Life()
{
super("GameOfLife");
setSize(500,500);
setBackground(Color.white);
setVisible(true);
getContentPane().setLayout(new GridLayout(100,100));
for(int i=0;i<10000;i++)
{
getContentPane().add(new Cell());
}
}
}
Code:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.util.Random;
import javax.swing.JPanel;
public class Cell
extends JPanel
{
private boolean life;
public Cell()
{
Random rm = new Random();
int r = rm.nextInt(100)%2;
if(r==0)
life=false;
if(r==1)
life=true;
setSize(new Dimension(5,5));
}
public void paint(Graphics g)
{
if(life==false)
g.setColor(Color.blue);
else
g.setColor(Color.red);
g.fillRect(0,0,5,5);
}
}
Greetz from dTP