///class principale Frame
public class ChatRoom extends Frame {
private FlagIcon trackSelect[] = new FlagIcon[Tracks.TRACKS_NB];
private TrackIcon iconShow;
private GridBagConstraints flagsGBC;
public ChatRoom () {
setLayout(new GridBagLayout());
setLocation(200,0);
iconShow = new TrackIcon(0);
add(iconShow, iconShow.GBC);
pack();
setVisible(true);
}
public void selectTrack (int trackNumber) {
iconShow.update(trackNumber);
}
}
class TrackIcon extends Canvas {
private static String fileName;
private static Image pic;
private static int trackNumber;
public static GridBagConstraints GBC;
public static final int WITDH = 451;
public static final int HEIGHT = 280;
public TrackIcon(int idx) {
trackNumber = idx;
GBC = new GridBagConstraints();
GBC.gridx = 1;
GBC.gridy = 0;
GBC.gridwidth = 1;
GBC.gridheight = 1;
GBC.fill = GridBagConstraints.NONE;
GBC.anchor = GridBagConstraints.CENTER;
GBC.ipadx = WITDH;
GBC.ipady = HEIGHT;
GBC.weightx = 0;
GBC.weighty = 0;
repaint();
}
public void paint(Graphics g) {
fileName = Tracks.iconsDir + Tracks.tracksName[trackNumber] + ".jpg";
pic = getToolkit().getImage(fileName);
g.drawImage(pic, 0, 0, WITDH, HEIGHT, null);
}
public void update(int idx) {
trackNumber = idx;
repaint();
}
}
C'est la fonction main dans une autre classe qui créé une instance de ChatRoom.
[edtdd]--Message édité par jupiler--[/edtdd]
---------------
Je ne suis ni pour, ni contre, bien au contraire