Hey,
ich möchte auf einem JPanel, welches sich auf einem JFrame mit NullLayout befindet einige Componenten hinzufügen, und natürlich auch anzeigen lassen. Mein Problem ist, dass die Componenten auf dem JPanel nicht angezeigt werden, das JPanel selber aber schon.
Code für JPanel:
Gesamter Code:
[Java]import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Layout extends JFrame {
private double sizeX, sizeY;
private JLabel head, task;
private JPanel pTask;
private String aufgabe;
private JTextField eingabe;
public Layout(){
this.sizeX = 500;
this.sizeY = 500;
this.getContentPane().setLayout(null);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setBackground(new Color(100,100,205));
this.setSize((int)sizeX,(int)sizeY);
//In der Mitte des Bildschirms platzieren
this.setLocation((Toolkit.getDefaultToolkit().getScreenSize().width-
this.getSize().width) / 2,
(Toolkit.getDefaultToolkit().getScreenSize().height-
this.getSize().height) / 2);
this.setResizable(true);
this.setVisible(true);
init();
}
public void init(){
aufgabe = "10 * 5 = ";
head = new JLabel("Head");
Font font = new Font("Comic Sans MS",head.getFont().getStyle(), 40);
head.setFont(font);
head.setBounds(50,10,400,60);
this.add(head);
pTask = new JPanel();
pTask.setLayout(new FlowLayout());
pTask.setBackground(Color.yellow);
pTask.setBounds(50, 150, (int) sizeX-50, 50);
pTask.setVisible(true);
this.add(pTask);
task = new JLabel(aufgabe);
pTask.add(task);
eingabe = new JTextField();
pTask.add(eingabe);
}
}[/code]
ich möchte auf einem JPanel, welches sich auf einem JFrame mit NullLayout befindet einige Componenten hinzufügen, und natürlich auch anzeigen lassen. Mein Problem ist, dass die Componenten auf dem JPanel nicht angezeigt werden, das JPanel selber aber schon.
Code für JPanel:
Java:
pTask = new JPanel();
pTask.setLayout(new FlowLayout());
pTask.setBackground(Color.yellow);
pTask.setBounds(50, 150, (int) sizeX-50, 50);
pTask.setVisible(true);
this.add(pTask);
task = new JLabel(aufgabe);
pTask.add(task);
eingabe = new JTextField();
pTask.add(eingabe);
Gesamter Code:
[Java]import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Layout extends JFrame {
private double sizeX, sizeY;
private JLabel head, task;
private JPanel pTask;
private String aufgabe;
private JTextField eingabe;
public Layout(){
this.sizeX = 500;
this.sizeY = 500;
this.getContentPane().setLayout(null);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setBackground(new Color(100,100,205));
this.setSize((int)sizeX,(int)sizeY);
//In der Mitte des Bildschirms platzieren
this.setLocation((Toolkit.getDefaultToolkit().getScreenSize().width-
this.getSize().width) / 2,
(Toolkit.getDefaultToolkit().getScreenSize().height-
this.getSize().height) / 2);
this.setResizable(true);
this.setVisible(true);
init();
}
public void init(){
aufgabe = "10 * 5 = ";
head = new JLabel("Head");
Font font = new Font("Comic Sans MS",head.getFont().getStyle(), 40);
head.setFont(font);
head.setBounds(50,10,400,60);
this.add(head);
pTask = new JPanel();
pTask.setLayout(new FlowLayout());
pTask.setBackground(Color.yellow);
pTask.setBounds(50, 150, (int) sizeX-50, 50);
pTask.setVisible(true);
this.add(pTask);
task = new JLabel(aufgabe);
pTask.add(task);
eingabe = new JTextField();
pTask.add(eingabe);
}
}[/code]