1 pièce(s) jointe(s)
Bouton qui ne prend pas la dimension demandée
Bonjours alors voici mon probleme j'ai crée une class bouton extends JButton puis dedent j'ai mis un fillRect(0,0,300,80) sauf que il ne veu pas prendre les dimension que je lui demande de prendre peu importe se que je lui donne comme dimension il reste tout petit.
voici un image du programe avec le bouton en bas qui refuse de prendre les dimension demander: Pièce jointe 177487
voici ma classe fenetre:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class fenetre extends JFrame
{
private Panneau pan = new Panneau();
private bouton b = new bouton();
private JPanel container = new JPanel();
public fenetre()
{
this.setTitle("Animation");
this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
container.setBackground(Color.WHITE);
container.setLayout(new BorderLayout());
container.add(b, BorderLayout.SOUTH);
container.add(pan,BorderLayout.CENTER);
this.setContentPane(container);
this.setVisible(true);
this.setResizable(false);
go();
}
private void go()
{
// Les coordonnées de départ de notre rond
int x = pan.getPosX(), y = pan.getPosY();
// Le booléen pour savoir si l'on recule ou non sur l'axe x
boolean backX = false;
// Le booléen pour savoir si l'on recule ou non sur l'axe y
boolean backY = false;
// Dans cet exemple, j'utilise une boucle while
// Vous verrez qu'elle fonctionne très bien
while (true)
{
// Si la coordonnée x est inférieure à 1, on avance
if (x < 1)
backX = false;
// Si la coordonnée x est supérieure à la taille du Panneau moins la taille du rond, on recule
if (x > pan.getWidth() - 50)
backX = true;
// Idem pour l'axe y
if (y < 1)
backY = false;
if (y > pan.getHeight() - 50)
backY = true;
// Si on avance, on incrémente la coordonnée
// backX est un booléen, donc !backX revient à écrire
// if (backX == false)
if (!backX)
pan.setPosX(++x);
// Sinon, on décrémente
else
pan.setPosX(--x);
// Idem pour l'axe Y
if (!backY)
pan.setPosY(++y);
else
pan.setPosY(--y);
// On redessine notre Panneau
pan.repaint();
// Comme on dit : la pause s'impose ! Ici, trois millièmes de seconde
try
{
Thread.sleep(3);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
} |
et voici ma classe bouton:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.JButton;
import javax.swing.JPanel;
public class bouton extends JButton
{
public void paintComponent(Graphics g)
{
g.setColor(Color.white);
g.fillRect(0, 0, 300, 80);
g.setColor(Color.BLACK);
g.drawString("go", this.getWidth()/2,this.getHeight()/2);
}
} |