Hallo,
inspiriert von einer App Namens "Freaking Math", wollte ich diese mal nach programmieren. Ich habe ein JPanel hinzugefügt und möchte auf diesem JPanel 2 direkt untereinander befindene JLabel die mittig auf der y-Achse sich befinden. Gibt es da ein LayoutManager der das kann oder kann ich die x-und y-Koordinaten der Labels gleich angeben oder muss ich das JPanel verkleinern? :bahnhof:
Hier ist mein Quellcode, der sehr unübersichtlich ist, da ch noch ein totaler Anfänger bin:
Vielen Dank für eure Hilfe
inspiriert von einer App Namens "Freaking Math", wollte ich diese mal nach programmieren. Ich habe ein JPanel hinzugefügt und möchte auf diesem JPanel 2 direkt untereinander befindene JLabel die mittig auf der y-Achse sich befinden. Gibt es da ein LayoutManager der das kann oder kann ich die x-und y-Koordinaten der Labels gleich angeben oder muss ich das JPanel verkleinern? :bahnhof:
Hier ist mein Quellcode, der sehr unübersichtlich ist, da ch noch ein totaler Anfänger bin:
Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.util.Random;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Beta extends JFrame /*implements ActionListener*/{
Random randomzahl;
private JLabel labelfrage;
private JLabel labelantwort;
private int a;
private int b;
private int c;
private int d;
private JFrame f;
private JPanel p;
public Beta(){
System.out.println("Yes Sir");
Fensterdeklaration();
}
public void Fensterdeklaration() {
randomzahl = new Random();
a = randomzahl.nextInt(4) + 1;
b = randomzahl.nextInt(3) + 1;
c = randomzahl.nextInt(3) + 4;
d = a + b;
f = new JFrame("Fenster von der Beta");
p = new JPanel();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(400,500);
Color color = new Color(randomzahl.nextInt(255), randomzahl.nextInt(255), randomzahl.nextInt(255));
f.setBackground(color);
p.setLayout(new BorderLayout());
labelfrage = new JLabel(a + " " + "+" + " " + b + " " + "=");
labelantwort = new JLabel("" + d);
System.out.println("A: " + a);
System.out.println("B: " + b);
System.out.println("C: " + c);
p.add(labelfrage, BorderLayout.NORTH);
p.add(labelantwort, BorderLayout.CENTER);
f.add(p);
f.setVisible(true);
Check();
}
private void Check() {
if(a+b==c){
System.out.println("Trifft zu!");
}if(a+b!=c){
System.out.println("Trifft nicht zu!");
}
}
public static void main(String[] args) {
new Beta();
}
/*@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}*/
}
Vielen Dank für eure Hilfe