hallo
ich suche jetzt schon eine ganze weile, habe aber leider nur annähernd die richtigen antworten gefunden.
und zwar hab ich das problem, dass ich einen pokertisch habe wo jeder stuhl einzeln als bild geladen wird.
der tisch und die stühle laufen soweit. jetzt will ich aber darauf noch einen button machen mit welchem man platz nehmen könnte, und der gleichzeitig dann die pain() methode aufruft um den tisch neu zu malen aber mit anderen stühlen. naja leider geht das mit dem button nicht.
weiter hab ich das problem, dass die menüeinträge von den grafiken überlagert werden. kann es sein dass da irgendwas mit swing und awt durcheinander ist oder so... leider weiss ich nicht mehr weiter und bin schon seit einiger zeit an diesem problem.
könnte mir jemand sagen, wie ich jetzt diesen button auf die stühle bringe und mit dem das spielfeld neu zeichnen kann? also was ich im actionPerformed schreiben muss?
das ist mal der bisherige code.. bin leider noch anfänger
vielen dank schon mal
ich suche jetzt schon eine ganze weile, habe aber leider nur annähernd die richtigen antworten gefunden.
und zwar hab ich das problem, dass ich einen pokertisch habe wo jeder stuhl einzeln als bild geladen wird.
der tisch und die stühle laufen soweit. jetzt will ich aber darauf noch einen button machen mit welchem man platz nehmen könnte, und der gleichzeitig dann die pain() methode aufruft um den tisch neu zu malen aber mit anderen stühlen. naja leider geht das mit dem button nicht.
weiter hab ich das problem, dass die menüeinträge von den grafiken überlagert werden. kann es sein dass da irgendwas mit swing und awt durcheinander ist oder so... leider weiss ich nicht mehr weiter und bin schon seit einiger zeit an diesem problem.
könnte mir jemand sagen, wie ich jetzt diesen button auf die stühle bringe und mit dem das spielfeld neu zeichnen kann? also was ich im actionPerformed schreiben muss?
das ist mal der bisherige code.. bin leider noch anfänger
Code:
package table;
import java.awt.FlowLayout;
import java.awt.event.*;
import java.net.URL;
import java.awt.Canvas;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.util.HashMap;
import javax.imageio.ImageIO;
import javax.swing.*;
public class Tisch extends Canvas {
/**
*
*/
JMenuBar menuBar = new JMenuBar();
JMenu dateiMenu = new JMenu("Datei");
JMenu bearbeitenMenu = new JMenu("Bearbeiten");
JMenu hilfeMenu = new JMenu("Hilfe");
private static final long serialVersionUID = 5607870616533555631L;
public static final int WIDTH = 800;
public static final int HEIGHT = 600;
JFrame ventana = new JFrame("poker");
public HashMap sprites;
public Tisch() {
sprites = new HashMap();
JPanel panel = (JPanel)ventana.getContentPane();
setBounds(0,0,WIDTH,HEIGHT);
menuBar.add(dateiMenu);
menuBar.add(bearbeitenMenu);
menuBar.add(hilfeMenu);
URL resource1 = ImageIcon.class.getResource( "/seatopen.gif" );
final Icon icon1 = new ImageIcon( resource1 );
final JButton button = new JButton( icon1 );
button.setBounds(850,850,40,25);
dateiMenu.add(new JMenuItem("Öffnen"));
dateiMenu.add(new JMenuItem("Neu"));
dateiMenu.add(new JMenuItem("Beenden"));
bearbeitenMenu.add(new JMenuItem("Rückgängig"));
hilfeMenu.add(new JMenuItem("Updates"));
hilfeMenu.add(new JMenuItem("Über das Programm"));
//ventana.setJMenuBar(menuBar);
panel.setPreferredSize(new Dimension(WIDTH,HEIGHT));
panel.setLayout(null);
panel.add(this);
ventana.setJMenuBar(menuBar);
ventana.setBounds(0,0,WIDTH,HEIGHT);
ventana.setVisible(true);
ventana.addWindowListener( new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public BufferedImage loadImage(String nombre) {
URL url=null;
try {
url = getClass().getClassLoader().getResource(nombre);
return ImageIO.read(url);
} catch (Exception e) {
System.out.println("No se pudo cargar la imagen " + nombre +" de "+url);
System.out.println("El error fue : "+e.getClass().getName()+" "+e.getMessage());
System.exit(0);
return null;
}
}
public BufferedImage getSprite(String nombre) {
BufferedImage img = (BufferedImage)sprites.get(nombre);
if (img == null) {
img = loadImage("img/"+nombre);
sprites.put(nombre,img);
}
return img;
}
public void paint(Graphics g) {
g.drawImage(getSprite("table.jpg"), 0, 0,this);
g.drawImage(getSprite("seat0.jpg"), 480, 0,this);
g.drawImage(getSprite("seat1.jpg"), 613, 28,this);
g.drawImage(getSprite("seat2.jpg"), 694, 158,this);
g.drawImage(getSprite("seat3.jpg"), 590, 301,this);
g.drawImage(getSprite("seat4.jpg"), 440, 355,this);
g.drawImage(getSprite("seat5.jpg"), 210, 355,this);
g.drawImage(getSprite("seat6.jpg"), 38, 306,this);
g.drawImage(getSprite("seat7.jpg"), 0, 157,this);
g.drawImage(getSprite("seat8.jpg"), 64, 30,this);
g.drawImage(getSprite("seat9.jpg"), 240, 0,this);
}
}
vielen dank schon mal