| 

.NET C# Java Javascript Exception

1
Hallo Java Experten....

hier mein Programm...alles was fett gedruckt ist sind meine Fragen...
Ich weiß nicht vielleicht hab ich auch heute nur ein Br.... vorm Ko...

1. bei JPanel handelt es sich um einen Container...indem Button und Label eingefügt werden können...um Sie die dort einzufügen bedient man sich der add-Funktion...???

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Fenster extends JFrame {

public Fenster(){

super("Hello Swing World");
setSize(500, 750);
setLocationRelativeTo(null);
setResizable(false);

// JPanel einrichten...
JPanel panel = init();

panel ist ja eine Objektvariable = in der immer die Anfangsadresse abgespeichert wird...von dem neuen Objekt der Klasse oder besser gesagt von der Instanz...
Aber was steht jetzt da drin in panel nach der Zuweisung???
Was bewirkt diese Anweisung???


// das ist die langform : this.getContentPane().add(panel);
this.add(panel);

setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);



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

Fenster fenster = new Fenster();


}

private JPanel init(){
Hier ist ja JPanel der Datentyp...daher auch zum Schluss der Methode die Return Anweisung...
Eigentlich ist mir das ganze nicht so ganz klar deswegen wäre es gut wenn mir ein Java experte
mir das mal erklären könnte...???


JPanel container = new JPanel();
Ein Container von JPanel wird ja erst an dieser Stelle erzeugt...???

JButton button1 = new JButton("super");
JButton button2 = new JButton("Mega");

container.add(button1);
container.add(button2);

return container;
Was steht denn dann im Return von container drin????
}

}
29.04.2019
1 Antwort
1
Eigentlich hast du dir in deiner zweiten Frage die Antwort schon selbst gegeben. In der Init-Methode legst du eine neue Instanz der Klasse JPanel an und initialisierst diese, indem zu zwei Instanzen der Klasse JButton hinzufügst. Intern werden die Instanzen der Klasse JButton in einer Liste verwaltet. Die Variable container verweist also auf eine Instanz der Klasse JPanel, welche intern eine Liste mit Verweisen auf zwei Instanzen der Klasse JButton enthält. Das ganze setzt sich dann eine Ebene höher in der Klasse Fenster fort. JFrame ist ebenfalls ein Container, welcher Instanzen von anderen Klassen verwalten kann.
30.04.2019
luedi 2,2k 1 9

Stelle deine Klasse-Frage jetzt!