Je rencontre des problèmes lors de l'ajout d'une image dans JFrame, il manque quelque chose ou une mauvaise écriture. voici les classes:Problème lors de l'ajout d'une image à JFrame
classe principale:
public class Tester
{
public static void main(String args[])
{
BorderLayoutFrame borderLayoutFrame = new BorderLayoutFrame();
borderLayoutFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
borderLayoutFrame.setSize(600,600);
borderLayoutFrame.setVisible(true);
}
}
public class BorderLayoutFrame extends JFrame implements ActionListener
{
private JButton buttons[]; // array of buttons to hide portions
private final String names[] = { "North", "South", "East", "West", "Center" };
private BorderLayout layout; // borderlayout object
private PicPanel picture = new PicPanel();
// set up GUI and event handling
public BorderLayoutFrame()
{
super("Philosofic Problem");
layout = new BorderLayout(5, 5); // 5 pixel gaps
setLayout(layout); // set frame layout
buttons = new JButton[ names.length ]; // set size of array
// create JButtons and register listeners for them
for (int count = 0; count < names.length; count++)
{
buttons[ count ] = new JButton(names[ count ]);
buttons[ count ].addActionListener(this);
}
add(buttons[ 0 ], BorderLayout.NORTH); // add button to north
add(buttons[ 1 ], BorderLayout.SOUTH); // add button to south
add(buttons[ 2 ], BorderLayout.EAST); // add button to east
add(buttons[ 3 ], BorderLayout.WEST); // add button to west
add(picture, BorderLayout.CENTER); // add button to center
}
// handle button events
public void actionPerformed(ActionEvent event)
{
}
}
I'v essayé d'ajouter l'image dans le centre de mise en page.
est ici la classe d'image:
public class PicPanel extends JPanel
{
Image img;
private int width = 0;
private int height = 0;
public PicPanel()
{
super();
img = Toolkit.getDefaultToolkit().getImage("table.jpg");
}
public void paintComponent(Graphics g)
{
super.paintComponents(g);
if ((width <= 0) || (height <= 0))
{
width = img.getWidth(this);
height = img.getHeight(this);
}
g.drawImage(img,0,0,width,height,this);
}
}
S'il vous plaît votre aide, quel est le problème? merci
BTW: j'utilise eclipse, dans quel répertoire l'image doit-elle être?
bonne question - exactement ce que * est * le problème? ;-) –
Avez-vous essayé d'ajouter simplement le panneau d'image à un 'JFrame' vide? Que se passe-t-il si vous faites cela? – jjnguy