2010-08-21 2 views
1

У меня есть программа для работы с ярлыками, но я не могу заставить ее использовать изображения. im новичок, и это все, что я могу придумать до сих пор. он работает, но я не понимаю, как внедрять изображения в этот код.создать средство просмотра изображений с макетом карты?

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 

public class CardLayoutExample extends JFrame implements KeyListener 

{ 

private Container pane = getContentPane(); 
private CardLayout layout = new CardLayout(); 

public CardLayoutExample() 
{ 
    pane.setLayout(layout); 

    pane.add(new JLabel("hey", SwingConstants.CENTER), "hey"); 
    pane.add(new JLabel("what", SwingConstants.CENTER), "what"); 
    pane.add(new JLabel("is", SwingConstants.CENTER), "is"); 
    pane.add(new JLabel("your", SwingConstants.CENTER), "your"); 
    pane.add(new JLabel("first", SwingConstants.CENTER), "first"); 
    pane.add(new JLabel("name", SwingConstants.CENTER), "name"); 

    addKeyListener(this); 

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setTitle("CardLayout Example"); 
    setSize(410,310); 
    setVisible(true); 

} 

public void keyTyped(KeyEvent event) 
{ 
    layout.next(pane); 
} 

public void keyPressed(KeyEvent event){} 
public void keyReleased(KeyEvent event){} 

public static void main(String args[]) 
{ 
    CardLayoutExample top = new CardLayoutExample(); 
} 
} 

ответ

1

Чтобы установить изображение с JLabel, передать объект Icon в конструкторе, или вызвать метод SetIcon на классе.

 
Icon icon1 = new ImageIcon("path to image filename"); 
JLabel label1 = new JLabel("message 1", icon1, SwingConstants.CENTER); 
pane.add(label1, "*You need a static final string here - see below*"); 
 


FYI, вы не добавляете детали к вашему CardLayout правильно. При переключении панелей система выполняет «==» (не .equals) в строке, которую вы передаете, в качестве идентификатора панели. Вы скоро увидите эту проблему в своем тестировании. Самый простой способ - создать статические конечные строки, представляющие каждую панель, и использовать их как идентификаторы.

Смежные вопросы