Probleme Interface Graphique Java.

Résolu
Bonjour,

J'essaye de tracer un trait entre deux boutons sans succés de la façon suivante:

ma 1er class:

import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Test
{
JFrame f;
Container c;
JButton b;
JButton b1;

public Test()
{
f = new JFrame();
f.setSize(300,300);
f.setVisible(true);
Container c = new Container();
c = f.getContentPane() ;
c.setLayout(null) ;
b= new JButton();
b1= new JButton();
b.setBounds(10,10,20,10);
b1.setBounds(100,10,20,10);
c.add(b);
c.add(b1);
Test2 t2 = new Test2();
c.add(t2);
}

public static void main(String[] args)
{
Test t = new Test();
}

}

ma 2ème class:

import java.awt.Graphics;
import javax.swing.JPanel;

public class Test2 extends JPanel
{

public Test2()
{
repaint();
}

public void paintComponent(Graphics g )
{
super.paintComponent(g) ;

g.drawLine(30,15,70,15);
}
}

Je souhaiterai avoir vos conseil, je ne sais pas si ça peut marcher de cette façon.

2 réponses

  1. En fait mon panel au départ était mal posé, je pouvais dessiner mon trait simplement si je fixé le panel à la taille de la frame.
    1. Voilà j'ai trouvé une méthode de faire. (un peu par hasard j'avoue)

      import java.awt.Container;
      import javax.swing.JButton;
      import javax.swing.JFrame;
      import javax.swing.JPanel;
      import java.awt.Graphics;

      public class Test extends JPanel
      {
      JFrame f;
      Container c;
      JButton b;
      JButton b1;

      public Test()
      {
      f = new JFrame();
      f.setSize(300,300);
      f.setVisible(true);
      Container c = new Container();
      c = f.getContentPane() ;
      c.setLayout(null) ;
      b= new JButton();
      b1= new JButton();
      b.setBounds(10,10,20,10);
      b1.setBounds(100,10,20,10);
      c.add(b);
      c.add(b1);
      Test2 t2 = new Test2();
      t2.setBounds(10,15,100,15);
      f.add(t2);
      }

      public void paintComponent(Graphics g )
      {
      super.paintComponent(g) ;

      g.drawLine(30,15,70,15);
      }

      public static void main(String[] args)
      {
      Test t = new Test();
      }

      }

      import java.awt.Graphics;
      import javax.swing.JPanel;

      public class Test2 extends JPanel
      {

      public Test2()
      {
      }

      public void paintComponent(Graphics g )
      {
      g.drawLine(1,1,100,1);
      }
      }