J'écris un jeu en Java swing, et j'ai quelques couches de classes que je dois implémenter.Java Swing ajouter un composant pour le jeu
Voici les classes:
- Main() // met en place la fenêtre, fait un jeu, et setVisible
- jeu() // Match nul toile principale du jeu, conserve des données sur le jeu, demande à chaque objet à se dessiner
- Conseil() // tire les chambres et les graphiques de fond
- chambre() // Dessine le truc dans la chambre, garde la trace de l'emplacement
- Articles() // Emplacement, la couleur, la fonction, etc
- CollectibleItems() // étend les objets
- Créatures() // étend les objets
- Articles() // Emplacement, la couleur, la fonction, etc
- chambre() // Dessine le truc dans la chambre, garde la trace de l'emplacement
- ControlPanel () // Mettre un bouton dans cela fait quelque chose
- StatePanel() // Mettre du texte dans le panneau de la pièce, et si oui ou non il est verrouillé
- Conseil() // tire les chambres et les graphiques de fond
- jeu() // Match nul toile principale du jeu, conserve des données sur le jeu, demande à chaque objet à se dessiner
Classe principale:
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
public class Main extends JFrame {
public static void main (String [] args) {
new Main();
}
public Main() {
// Window setup
setSize (700, 450);
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container content = getContentPane();
content.setLayout(new BorderLayout());
// Put a Game in
Game myGame=new Game();
myGame.setBorder(new LineBorder(Color.black, 9));
content.add(myGame, BorderLayout.CENTER);
setVisible (true);
}
Ceci est ma classe de jeu. De là, je veux ajouter le tableau et les panneaux, et je veux que le conseil d'administration ajoute les salles, etc. Je ne sais pas comment encapsuler les classes et les ajouter et setVisible. Je sais comment le faire dans Main, mais est-ce qu'il y a un moyen d'ajouter des trucs à Game en utilisant un type de chose content.add() similaire?
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
public class Game extends JComponent {
public void paintComponent (Graphics g) {
JPanel ControlPanel=new JPanel();
ControlPanel.setLayout(new FlowLayout());
ControlPanel.setBorder(new LineBorder(Color.red, 9));
}
}
TL; DR- comment encapsuler et afficher différentes classes? Nouveau pour JavaSwing ...