Ich denke wass du brauchst, ist eine Klasse extends JPanel. Das bedeutet, dass du sie einfach als JPanel von anderen Programmen konstruieren kannst. dazu dein Code:
[code=Java]import java.awt.*;
import javax.swing.*;
public class Board [B]extends JPanel[/B]{ //erstellt eine Klasse, die als JPanel erstellt werden kann
public Board(){
super(); //muss bei extends IMMER als erstes im Konstruktor stehen. Dies erstellt das JPanel
/*JPanel panel = new JPanel();*/ //brauchst du nicht mehr, da du schon eins mit super() erstellt hast
setFocusable(true); //das panel.* kann weg, da deine Klasse direkt das JPanel ist
setPreferredSize(new Dimension(300,300))
setBackground(Color.BLUE);
setLayout(null); //nullLayout is evil, aber das ist ja deine Entschidung :P
JButton oben = new JButton();
oben.setSize(50,100);
add(oben);
}
}[/code]
Ich weiß nicht, wo du in deiner anderen Klasse dieses JPanel haben willst. Ich machs einfach erstmal so:
[code=Java]import java.awt.*;
import javax.swing.*;
public class Tamagotchi{
public Tamagotchi(){
JFrame client = new JFrame();
client.setTitle("ChangeMeDEV - LMS");
client.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
client.setLayout(new BorderLayout());
JPanel board = new Board(); //du rufst die Klasse Board als JPanel auf
client.add(board, BorderLayout.CENTER); //und kannst sie so auch als JPanel einfach adden und alles Andere machen, was du auch mit "normalen JPanels" machen kannst
client.pack();
client.setLocationRelativeTo(null);
client.setResizable(false);
client.setVisible(true);
}
public static void main(String[] args){
new Tamagotchi();
}
}[/code]
Ich hoffe, dies konnte deine Frage klären
mfg
BH16