Also,
Ich habe zwei jLabels mit Icons.
Ein jlabel kann sich bewegen- wenn er den anderen jlabel berührt, soll der jLabel seinen Icon wechseln.
Ich weiss aber nicht, wie ich den zweiten Teil umsetzten kann. Also ich kann ja nicht die Location der beide vergleichen, weil die sich ja schon früher "berühren".
https://www.java-forum.org/thema/bild-beruehrt-bild.128003/ da wurde zwar das Gleiche gefragt, ich verstehe es abernicht wirklich.
Ich habe zwei jLabels mit Icons.
Ein jlabel kann sich bewegen- wenn er den anderen jlabel berührt, soll der jLabel seinen Icon wechseln.
Ich weiss aber nicht, wie ich den zweiten Teil umsetzten kann. Also ich kann ja nicht die Location der beide vergleichen, weil die sich ja schon früher "berühren".
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class NeuesProjekt extends JFrame implements KeyListener {
// start attributes
private JLabel FigurMain = new JLabel();
private ImageIcon figurMainIcon = new ImageIcon(getClass().getResource("images/InfizierterJunge.png"));
private JLabel FigurNichtInfiziert = new JLabel();
private ImageIcon figurNichtInfiziertIcon = new ImageIcon(getClass().getResource("images/normalerJunge.png"));
// end attributes
public NeuesProjekt() {
super("VirusRun!");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
int frameWidth = 326;
int frameHeight = 323;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
setResizable(false);
Container cp = getContentPane();
cp.setLayout(null);
// start components
this.addKeyListener(this);
FigurMain.setBounds(120, 144, 41, 49);
FigurMain.setIcon(figurMainIcon);
cp.add(FigurMain);
FigurNichtInfiziert.setBounds(72, 144, 41, 49);
FigurNichtInfiziert.setIcon(figurNichtInfiziertIcon);
cp.add(FigurNichtInfiziert);
// end components
setVisible(true);
}
public static void main(String[] args) {
new NeuesProjekt();
}
public void keyTyped(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_RIGHT) {
FigurMain.setLocation(FigurMain.getLocation().x +1, FigurMain.getLocation().y);
InfiziertAufNichtInfiziert();
} else if (e.getKeyCode() == KeyEvent.VK_LEFT){
FigurMain.setLocation(FigurMain.getLocation().x -1, FigurMain.getLocation().y);
InfiziertAufNichtInfiziert();
} else if(e.getKeyCode() == KeyEvent.VK_DOWN) {
FigurMain.setLocation(FigurMain.getLocation().x, FigurMain.getLocation().y+1);
InfiziertAufNichtInfiziert();
} else if(e.getKeyCode() == KeyEvent.VK_UP) {
FigurMain.setLocation(FigurMain.getLocation().x, FigurMain.getLocation().y -1);
InfiziertAufNichtInfiziert();
}
}
public void keyReleased(KeyEvent e) {
}
public void InfiziertAufNichtInfiziert() {
if ( /* hier treffen sich beide, weiss aber nicht, was ich vergleichen muss*/) {
FigurNichtInfiziert.setIcon(figurMainIcon);
}
}
// end methods
} // end of class NeuesProjekt
Zuletzt bearbeitet: