Hallo, ich würde mein Program gerne in mehrere Untereinheiten aufsplitten und scheitere gerade an den einfachsten dingen... Da ich noch nie OO programmiert habe soll das Programm ein bischen Übung für mich sein - Also ihr seht schon mein Wissensstand ist nahe 0.
Also ich habe eine Klasse MeinProgramm in der bisher noch nichts gemacht wird außer ein Objekt der Klasse MyFrame zu erzeugen welche mir einfach nur ein Fenster aufmachen soll. Außerdem wird noch ein Objekt der Klasse MyPanel erzeugt in welchem ein Panel mit buttons, etc. zusammengestückelt werden soll. Zuletzt würde ich dann gerne das MyPanel auf mein mein MyFrame setzten. So sieht bisher der code aus
Ich muss zugeben, dass ich die Funktionsweise und den Sinn von getContentPane noch nicht ganz verstanden habe und genau dort meckert halt auch der Compiler. Würde mich freuen, wenn mir jemand den Fehler erklären könnte und ob es überhaupt vernünftig ist das so zu lösen oder wie man es besser machen kann.
Also ich habe eine Klasse MeinProgramm in der bisher noch nichts gemacht wird außer ein Objekt der Klasse MyFrame zu erzeugen welche mir einfach nur ein Fenster aufmachen soll. Außerdem wird noch ein Objekt der Klasse MyPanel erzeugt in welchem ein Panel mit buttons, etc. zusammengestückelt werden soll. Zuletzt würde ich dann gerne das MyPanel auf mein mein MyFrame setzten. So sieht bisher der code aus
Code:
package Meinprogramm;
import Meinprogramm.gui.*;
public class Meinprogramm
{
public static void main(String[] args)
{
MyFrame mf = new MyFrame();
MyPanel mp = new MyPanel();
mf.add(mp);
}
}
Code:
package Meinprogramm.gui;
import javax.swing.*;
import java.awt.*;
public class MyFrame extends JFrame
{
private JFrame f;
public MyFrame()
{
f = new JFrame("TollesFenster");
setDefaultCloseOperation(f.EXIT_ON_CLOSE);
setSize(300, 300);
setLocationByPlatform(true);
setVisible(true);
}
/* edit: dieser Teil hier ist mitlerweile nichtmehr vorhanden
public void add(Object obj)
{
add(obj);
getContentPane().add(obj);
}
*/
}
Code:
package Meinprogramm.gui;
import javax.swing.*;
import java.awt.*;
public class MyPanel extends JPanel
{
private JPanel p;
public MyPanel()
{
p = new JPanel();
JButton b = new JButton("Test");
p.add(b);
}
}
Ich muss zugeben, dass ich die Funktionsweise und den Sinn von getContentPane noch nicht ganz verstanden habe und genau dort meckert halt auch der Compiler. Würde mich freuen, wenn mir jemand den Fehler erklären könnte und ob es überhaupt vernünftig ist das so zu lösen oder wie man es besser machen kann.