Статус:
Offline
Реєстрація: 26.09.2008
Повідом.: 101
Реєстрація: 26.09.2008
Повідом.: 101
JPanel объясните
Народ объясните!!!
Есть класс расширяющий JPanel в конструкторе этого класса загружается изображение и реализуется метод paintComponent().
После запуска программы все нормально отрисовываеся. Не могу понять как по нажатию на кнопке вывести второе изображение сверху первого, причем gif, имеющий прозрачную область и желательно не делать еще классов.
делать пытался вот так:
public class Menu extends JPanel{
private Image bG;
private Image start;
private int menuSelect = 0;
Menu(){
try{
bG = ImageIO.read(new File("BackGround.jpg"));
start = ImageIO.read(new File("Start.gif"));
} catch (IOException e){
e.printStackTrace();
JPanel startButton = new JPanel();
//как к startButton добавить изображение?
}
public void paintComponent(Graphics g){
super.paintComponents(g);
g.drawImage(bG, 100, 100, null);
}
public void keySelect(){
this.addKeyListener(new KeyListener (){
public void keyPressed(KeyEvent e){
menuSelect++;
if (e.getKeyCode() == KeyEvent.VK_DOWN){
if (menuSelect == 1){
add(startButton); //?????
repaint();
}
}
}
});
}
Народ объясните!!!
Есть класс расширяющий JPanel в конструкторе этого класса загружается изображение и реализуется метод paintComponent().
После запуска программы все нормально отрисовываеся. Не могу понять как по нажатию на кнопке вывести второе изображение сверху первого, причем gif, имеющий прозрачную область и желательно не делать еще классов.
делать пытался вот так:
public class Menu extends JPanel{
private Image bG;
private Image start;
private int menuSelect = 0;
Menu(){
try{
bG = ImageIO.read(new File("BackGround.jpg"));
start = ImageIO.read(new File("Start.gif"));
} catch (IOException e){
e.printStackTrace();
JPanel startButton = new JPanel();
//как к startButton добавить изображение?
}
public void paintComponent(Graphics g){
super.paintComponents(g);
g.drawImage(bG, 100, 100, null);
}
public void keySelect(){
this.addKeyListener(new KeyListener (){
public void keyPressed(KeyEvent e){
menuSelect++;
if (e.getKeyCode() == KeyEvent.VK_DOWN){
if (menuSelect == 1){
add(startButton); //?????
repaint();
}
}
}
});
}