Hi,
da mir langweilig war, habe ich gestern und heute ein "2D Netzwerk Shooter" geschrieben. Jedoch bin ich jetzt auf ein Problem gestoßen.
Ich habe ein neues JFrame geöffnet und das Layout auf null gesetzt, so dass man die Koordinaten Absolut angeben kann. Dass es beim größer und kleiner ziehen nicht alles verschiebt, habe ich das deaktiviert.
Dann habe ich ein neues JLabel erzeugt. Da das am Anfang nur 0 Pixel hoch un breit war (Ist das normal?), hab ich es mit setBounds an eine bestimmte Position gesetzt.
Der Teil ist leider noch recht chaotisch, da ich hier ziehmlich lange immer hin und her probiert habe... Trotz dem dem setLocation sitzt er immernoch nur ~40-50 pixel jeweil (nach rechts und unten) von dem oberen linken Punkt des Fensters Fest und kann nicht dazu überredet werden an eine andere Stelle zu kommen.
ich habe es auch schon mit frame.repaint() versucht, jedoch ohne sichtbaren Effekt. Bei frame.pack() verkleiner sich das Fenster so weit, dass nur noch die Titelleiste zu sehen ist, jedoch kein Fensterinhalt.
Könnt ihr mir bei dem Problem helfen?
Danke schonmal im vorraus für die Antworten,
Mfg
da mir langweilig war, habe ich gestern und heute ein "2D Netzwerk Shooter" geschrieben. Jedoch bin ich jetzt auf ein Problem gestoßen.
Ich habe ein neues JFrame geöffnet und das Layout auf null gesetzt, so dass man die Koordinaten Absolut angeben kann. Dass es beim größer und kleiner ziehen nicht alles verschiebt, habe ich das deaktiviert.
Dann habe ich ein neues JLabel erzeugt. Da das am Anfang nur 0 Pixel hoch un breit war (Ist das normal?), hab ich es mit setBounds an eine bestimmte Position gesetzt.
Code:
private static final int LINKS = 39;
private static final int RECHTS = 37;
private static final int OBEN = 38;
private static final int UNTEN = 40;
private static final String UFO_R = "bin\\de\\bone\\graphics\\ufo_r.png";
private static final String UFO_L = "bin\\de\\bone\\graphics\\ufo_l.png";
// 0 == Links
// 1 == Rechts
// 2 == Oben
// 3 == Unten
private boolean active[] = new boolean[4];
private JFrame m_oWin;
private String m_sPlayerName[] = new String[1];
private Point m_sPlayerPoints[] = new Point[1];
private boolean m_bReady = false;
private JLabel m_oUfoP1;
private Image m_oUfoPic1;
Code:
public void setWindow(JFrame frame) {
this.m_oWin = frame;
frame.addKeyListener(this);
frame.setSize(this.width(), this.height());
File file1 = new File(CustomMap.UFO_R);
File file2 = new File(CustomMap.UFO_L);
if (file1.isFile() == false || file2.isFile() == false) {
System.err.println("Eine Grafigdatei konnte nicht gefunden werden.");
}
this.m_oUfoPic1 = new ImageIcon(CustomMap.UFO_R).getImage();
this.m_oUfoP1 = new JLabel(new ImageIcon(this.m_oUfoPic1));
this.m_oUfoP1.setBounds(0, 0, 50, 40);
this.m_oUfoP1.setLocation(9000000, 900000);
frame.getContentPane().add(this.m_oUfoP1);
}
Der Teil ist leider noch recht chaotisch, da ich hier ziehmlich lange immer hin und her probiert habe... Trotz dem dem setLocation sitzt er immernoch nur ~40-50 pixel jeweil (nach rechts und unten) von dem oberen linken Punkt des Fensters Fest und kann nicht dazu überredet werden an eine andere Stelle zu kommen.
ich habe es auch schon mit frame.repaint() versucht, jedoch ohne sichtbaren Effekt. Bei frame.pack() verkleiner sich das Fenster so weit, dass nur noch die Titelleiste zu sehen ist, jedoch kein Fensterinhalt.
Könnt ihr mir bei dem Problem helfen?
Danke schonmal im vorraus für die Antworten,
Mfg