hallo java-forum!
ich habe in meinem jframe in bild eingefügt. das hat alles super funktioniert.
jetzt möchte ich, wenn ich NUR auf das bild klicke, dass sich die hintergrundfarbe vom frame ändert.
wenn ich momentan irgendwo im frame zweimal klicke, ändert sich die hintergrundfarbe.. ???:L
ich hoffe auf hilfreiche antworten!
MAIN:
klasse zum bild einfügen:
klasse mousehandler:
ich habe in meinem jframe in bild eingefügt. das hat alles super funktioniert.
jetzt möchte ich, wenn ich NUR auf das bild klicke, dass sich die hintergrundfarbe vom frame ändert.
wenn ich momentan irgendwo im frame zweimal klicke, ändert sich die hintergrundfarbe.. ???:L
ich hoffe auf hilfreiche antworten!
MAIN:
Java:
package zzzz;
import javax.swing.JFrame;
public class Main
{
public static void main(String[] args)
{
JFrame frame= new JFrame();
frame.setSize(500,500);
Bild bild=new Bild();
bild.addMouseListener(new MouseHandler(frame));
frame.add(bild);
frame.setVisible(true);
}
}
klasse zum bild einfügen:
Java:
package zzzz;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class Bild extends JPanel
{
public void paintComponent(Graphics g)
{
Image bild=new ImageIcon("asdf.jpg").getImage();
g.drawImage(bild,4,4,this);
}
}
klasse mousehandler:
Java:
package zzzz;
import java.awt.Color;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.JFrame;
public class MouseHandler implements MouseMotionListener, MouseListener
{
private JFrame frame;
public MouseHandler(JFrame asdf)
{
frame=asdf;
}
@Override
public void mouseClicked(MouseEvent event)
{
frame.setBackground(Color.cyan);
}
}