J'essaie d'ajouter un cadre jinternelle à un cadre qui est en mode exclusif plein écran. Cependant quand je l'ajoute, il remplit tout l'écran avec du blanc. Voici mon code. Si quelqu'un sait comment faire cela correctement s'il vous plaît le poster, ou dites-moi ce que je fais mal.Ajout de JInternalFrame à la trame fsem
Détails
OS: Windows 7
JDK: 1.7.0_11 jdk
IDE: Eclipse
J'utilise un panneau sur le JFrame, et je dessine sur le panneau
code peinture
public void paintComponent(Graphics g)
{
super.paintComponent(g);
for(int i = 0; i<1000; i++)
g.drawImage(bi, i*bi.getWidth()-getXs(), 0, bi.getWidth(), Main.HEIGHT, null);
g.setColor(Color.WHITE);
for(int x = 0; x<Main.X_TILES; x++)
{
for(int y = 0; y<Main.Y_TILES; y++)
{
Block block = map[x][y];
if(block!=null && x*Block.WIDTH>=xs-Block.WIDTH && x*Block.WIDTH<=xs+Main.WIDTH)
g.drawImage(block.getImage(x,y), x*Block.WIDTH-getXs(), y*Block.HEIGHT, Block.WIDTH, Block.HEIGHT, null);
}
}
for(Entity entity : entities)
{
if(entity!=null && entity.getX()>=xs-Block.WIDTH && entity.getX()<=xs+Main.WIDTH)
g.drawImage(entity.getImage(), entity.getX()-getXs(), entity.getY(), entity.getWidth(), entity.getHeight(), null);
}
if(displayDebug)
{
g.drawString("Free memory "+Runtime.getRuntime().freeMemory()/1024+" KB", 10, 12);
g.drawString("Total memory "+Runtime.getRuntime().totalMemory()/1024+" KB", 10, 24);
g.drawString("Max memory "+Runtime.getRuntime().maxMemory()/1024+" KB", 10, 36);
g.drawString("X "+character.getX(), 10, 48);
g.drawString("Y "+character.getY(), 10, 60);
g.drawString("XS "+xs, 10, 72);
}
g.setColor(Color.BLACK);
g.drawString("Life "+character.getHealth(), 700, 12);
g.dispose();
}
J'ai vu une réponse à une question similaire JInternalFrame in full-screen mode qui dit de le mettre directement sur le panneau mais j'ai essayé et cela ne fonctionnait toujours pas. EDIT: Quand j'ai commenté mon code de peinture, et je l'ai ajouté directement au panneau à la place il a fonctionné, mais il ne traînait pas, donc ma nouvelle question est de savoir comment faire apparaître quand un travail de peinture est être fait. Est-ce un moyen de dessiner un composant sur l'utilisation de composants de peinture? Pour des raisons de clarté, cela ne fonctionnait toujours pas lorsqu'il était ajouté au panneau sans le code de peinture.
Je ne conteste pas obtenir l'exemple de travailler, sauf le redimensionnement ou déplacer le cadre interne. Quel OS et JDK exécutez-vous sous – MadProgrammer
windows 7 jdk 1.7.0_11 –
Si vous faites de la peinture personnalisée, vous avez besoin de présenter est en dehors de votre exemple ainsi – MadProgrammer