Hallo, wir haben die Aufgabe für die Schule ein Hangman zu programmieren.
Meine Klassen stehen so weit , nur es gibt ein kleines Problem.
Die Klasse in der ich mein Strichmänchen zeichne ist eine extrene. Nun will ich diese in eine GUI einbinden
[Java]
public class HangmanGraphic extends JPanel
{
private int level;
public void paintComponent(Graphics g){
super.paintComponent(g);
while(level < 10){
if(level == 1){
g.drawLine(300,300,300,100);
}
if(level == 2){
g.drawLine(300,100,170,100);
}
if(level == 3){
g.drawLine(250,100,300,150);
}
if(level == 4){
g.drawLine(170,100,170,123);
}
if(level == 5){
g.drawOval(161,123,20,20);
}
if(level == 6){
g.drawLine(170,143,170,185);
}
if(level == 7){
g.drawLine(170,160,150,150);
}
if(level == 8){
g.drawLine(170,160,190,150);
}
if(level == 9){
g.drawLine(170,185,155,198);
}
if(level == 10){
g.drawLine(170,185,186,199);
}
}
showMessageDialog(null,"Spiel beendet");
}
public void setLevel(int level){
this.level = level;
}
public int getLevel(){
return level;
}
}
[/code]
Das ist meine zeichen - Klasse.
Die folgende Klasse ist die GUI:
ich hab mir das einbinden so vorgstellt, dass es quasi eine bild in bild funktion ist.
Danke für die Antworten im vorraus !
greez A0D0S0
Meine Klassen stehen so weit , nur es gibt ein kleines Problem.
Die Klasse in der ich mein Strichmänchen zeichne ist eine extrene. Nun will ich diese in eine GUI einbinden
[Java]
public class HangmanGraphic extends JPanel
{
private int level;
public void paintComponent(Graphics g){
super.paintComponent(g);
while(level < 10){
if(level == 1){
g.drawLine(300,300,300,100);
}
if(level == 2){
g.drawLine(300,100,170,100);
}
if(level == 3){
g.drawLine(250,100,300,150);
}
if(level == 4){
g.drawLine(170,100,170,123);
}
if(level == 5){
g.drawOval(161,123,20,20);
}
if(level == 6){
g.drawLine(170,143,170,185);
}
if(level == 7){
g.drawLine(170,160,150,150);
}
if(level == 8){
g.drawLine(170,160,190,150);
}
if(level == 9){
g.drawLine(170,185,155,198);
}
if(level == 10){
g.drawLine(170,185,186,199);
}
}
showMessageDialog(null,"Spiel beendet");
}
public void setLevel(int level){
this.level = level;
}
public int getLevel(){
return level;
}
}
[/code]
Das ist meine zeichen - Klasse.
Die folgende Klasse ist die GUI:
Java:
public class HangmanPanel extends JPanel
{
private Button newGame, exit, WordList;
private Label usedWordsRight,usedWordsFalse, showStatus;
private Panel p1,p2;
private Hangman h;
private WordList w = new WordList();
public HangmanPanel(){
newGame = new Button("NEW GAME");
exit = new Button("X");
WordList = new Button("WORD LIST");
usedWordsRight = new Label("right");
usedWordsFalse = new Label("false");
showStatus = new Label("status");
p1 = new Panel();
p2 = new Panel();
this.setLayout(new BorderLayout());
this.add(p1, BorderLayout.EAST);
this.add(p2, BorderLayout.CENTER);
p1.setLayout(new GridLayout(6,1));
p2.setLayout(new GridLayout(3,1));
p1.add(newGame);
p1.add(exit);
p1.add(WordList);
p2.add(showStatus);
p2.add(usedWordsRight);
p2.add(usedWordsFalse);
ActionHandler h = new ActionHandler();
newGame.addActionListener(h);
exit.addActionListener(h);
WordList.addActionListener(h);
}
private class ActionHandler implements ActionListener
{
public void actionPerformed(ActionEvent e){
if(e.getSource()==newGame){
h = new Hangman();
showStatus.setText("");
w.readWordList();
h.arrange(w.newWord());
h.scan(showStatus,usedWordsFalse,usedWordsRight);
showStatus.setText(h.getStatus());
}
if(e.getSource()==exit){
System.exit(0);
}
if(e.getSource()==WordList){
WordListGUI wlg = new WordListGUI();
wlg.setVisible(true);
}
}
}
}
ich hab mir das einbinden so vorgstellt, dass es quasi eine bild in bild funktion ist.
Danke für die Antworten im vorraus !
greez A0D0S0