Моя программа предназначена для отображения 2 панелей изначально с разными изображениями из файла Z_pic1.png и Z_pic2.png. ПРИ НАЖАТИИ ЛЮБОЙ КЛАВИШИ дисплеи на панелях должны поменяться местами. Он не отображает 2 изображения, а только изображение из Z_pic2,png. Любое нажатие клавиши не имеет никакого эффекта. Хотите узнать, что не так.
Мой код:
import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class Z_LayeredPaneExample1_2 extends JFrame {
private JPanel[] panels;
private JLabel[] imageLabels;
public Z_LayeredPaneExample1_2() {
setTitle("Panel Swapper");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(800, 600);
setLocationRelativeTo(null);
// Create the panel array
panels = new JPanel[2];
imageLabels = new JLabel[2];
// Load the images
ImageIcon image1 = new ImageIcon("Z_pic1.png");
ImageIcon image2 = new ImageIcon("Z_pic2.png");
// Create the panels and add them to the frame
createPanels(image1, image2);
// Add a key listener to swap the images when a key is pressed
addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
swapPanels();
}
@Override
public void keyReleased(KeyEvent e) {
}
});
setVisible(true);
}
private void createPanels(ImageIcon image1, ImageIcon image2) {
// Create the panels and set their layout and background color
for (int i = 0; i < panels.length; i++) {
panels = new JPanel();
panels.setLayout(new BorderLayout());
panels.setBackground(Color.WHITE);
// Add the image to the panel
imageLabels = new JLabel(i == 0 ? image1 : image2);
panels.add(imageLabels, BorderLayout.CENTER);
// Add the panel to the frame
add(panels, BorderLayout.WEST);
}
}
private void swapPanels() {
// Swap the images in the panels
ImageIcon temp = (ImageIcon) imageLabels[0].getIcon();
imageLabels[0].setIcon(imageLabels[1].getIcon());
imageLabels[1].setIcon(temp);
}
public static void main(String[] args) {
new Z_LayeredPaneExample1_2();
}
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... ss-any-key
Почему этот код не меняет местами изображения, как предполагалось, когда я нажимаю любую клавишу? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Поменяйте местами первое и последнее слова и поменяйте местами все средние символы.
Anonymous » » в форуме JAVA - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Поменяйте местами первое и последнее слова и поменяйте местами все средние символы.
Anonymous » » в форуме JAVA - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Поменяйте местами первое и последнее слова и поменяйте местами все средние символы.
Anonymous » » в форуме JAVA - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Поменяйте местами первое и последнее слова и поменяйте местами все средние символы.
Anonymous » » в форуме JAVA - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-