Java JFrame und JPanel

1 Antwort

Ok ich hab das Problem zwar inzwischen gelöst, indem ich einen Thread aus der Klasse Game gemacht hab, da ich irgendwie so ein Gefühl hatte dass die "fast" endlosschleife dort die ja die Spielerbewegungen updated und alles damit zu tun hat, trotzdem ist mir noch nicht klar warum das Bild dann weiß ist!? Ich hatte doch sogar zuvor das alte Frame geschlossen!!

Java integer Variable soll sich +1 addieren

Hallo. Wie kann ich eine Integer Variable mit sich selbst mit 1 addieren?? Ich will, dass mein Knopf eine 0 anzeigt, welche beim Klicken zu einer 1 wird, beim zweiten klicken zu einer 2, beim dritten zu einer 3 usw usw usw.

Das hier ist meine Variablen-class und bei Zeile 3 kommt der Fehler, dass die Variable doppelt da ist. Genau so geht das aber in Python Batch usw. Es muss also auch in Java gehen.

public final class Variablen{
         public static int nummer(){
          int x = x+1;
         return x;
        } 
}

Hoffentlich kann mir wer helfen. PS: Die Variable wird aus einer anderen Class abgerufen mit folgendem Text:

package de.Leon.java;

import javax.swing.*;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


public class Fenster extends JFrame

    implements ActionListener{
    
    private JButton  Knobb = new JButton("Drücken");
    private JButton DesIsAuchEnKnobb = new JButton("Zahlen");
    
    public Fenster(){
        
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    Knobb.addActionListener(this);
    DesIsAuchEnKnobb.addActionListener(this);
    
    getContentPane().add(Knobb);
    getContentPane().add(DesIsAuchEnKnobb, BorderLayout.SOUTH);
    
    pack();
    
    setLocationRelativeTo(null);
    
    setVisible(true);
    
    }

    public static void main(String[] args) {
        new Fenster();
    }
    

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getSource()==Knobb){
            Knobb.setText("Gedrückt");
        }
        if (e.getSource()==DesIsAuchEnKnobb) {
            DesIsAuchEnKnobb.setText("" + Variablen.nummer());
        }
    }
    
}

Ich bin noch am Java lernen und kann also nicht sonderlich viel^^

Ich benutze Eclipse

...zur Frage

Wie erzwingt man in Java den Focus auf ein Fenster?

Bei mir blinkt es nur in der Taskleiste, wenn ich aus der JPanel klasse die Methode

requestFocus() oder grabFocus() verwende. Das wars.

...zur Frage

Wie kann ich in Java bei einem JLabel einen Zeilenumbruch erstellen?

Ich möchte die JLabel "Zeile1" und "Zeile2" untereinander schreiben... weiß aber nicht wie ich das anstellen soll

public class Test {
public static void main(String[] args) {
    JFrame fenster = new JFrame();
    setupContent(fenster);
    fenster.setSize(500,500);                                                   
    fenster.setMinimumSize(new Dimension(100,100));                                          
    fenster.setVisible(true);                                                       
    fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);                                         


}

private static void setupContent(JFrame fenster) {
    JPanel content = new JPanel ();
    JLabel Zeile1= new JLabel("Zeile1");
    JLabel Zeile2= new JLabel("das hier soll in die zweite Zeile!");
    content.add(Zeile1);
    content.add(Zeile2);
    fenster.setContentPane(content);
    
}

}


...zur Frage

Wie kann ich bei Java ein Bild als JLabel einfügen?

Mein aktueller Stand:

public class Fenster1 {
  public static void main(String[] args) {
    JFrame fenster = new JFrame();
    setupContent(fenster);

    fenster.setSize(500, 500);
    fenster.setMinimumSize(new Dimension(100, 100));
    fenster.setVisible(true);
    fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }

  private static void setupContent(JFrame fenster) {
    JPanel content = new JPanel();
    JLabel Bild = new JLabel("hier soll das Bild hinkommen");
    content.add(Bild);
    fenster.setContentPane(content);
  }
}

PS.: Das Bild ist auf dem Desktop unter Bilder als smyley.jpg gespeichert.

...zur Frage

Was möchtest Du wissen?