Как сделать размер картинки равным рамке? - Java

Узнай цену своей работы

Формулировка задачи:

Не могу понять как задать размер картинки и сделать чтобы при нажатии они не накладывались друг на друга, а меняли друг друга.
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
class PAnel   {

    public static void createGUI() {
 
         JButton westButton = new JButton("Доброе утро");
        JButton eastButton = new JButton("Добрый день");
         final JButton southButton = new JButton("Доброй ночи");
        JButton northButton = new JButton("Добрый вечер");

        final JFrame frame = new JFrame("Test frame");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        final JPanel panel = new JPanel();
        panel.setLayout(new BorderLayout());
 
        panel.add(northButton, BorderLayout.CENTER);
        panel.add(southButton, BorderLayout.SOUTH);
        panel.add(eastButton, BorderLayout.EAST);
        panel.add(westButton, BorderLayout.WEST);

        frame.getContentPane().add(panel,BorderLayout.SOUTH);
        frame.setPreferredSize(new Dimension(550, 300));
        frame.pack();
        frame.setVisible(true);
        frame.setLocationRelativeTo(null);

        southButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                  JLabel jLabel2 = new JLabel();
                ImageIcon imageIcon = new ImageIcon(jLabel2.getClass().getResource("/second.jpg"));
 
                jLabel2.setLayout(new BorderLayout());
                frame.add(jLabel2,BorderLayout.NORTH);
                  jLabel2.setIcon(imageIcon);
 
                  jLabel2.setText("Lab1");

            }
        });
 
        northButton.addActionListener(new ActionListener() {
 
            public void actionPerformed(ActionEvent e) {
                JLabel jLabel3 = new JLabel();
                ImageIcon imageIcon = new ImageIcon(jLabel3.getClass().getResource("/2.jpg"));
 
                jLabel3.setLayout(new BorderLayout());
                frame.add(jLabel3,BorderLayout.NORTH);
                jLabel3.setIcon(imageIcon);
 
                jLabel3.setText("Lab2");

            }
        });

    }

}

Решение задачи: «Как сделать размер картинки равным рамке?»

textual
Листинг программы
southButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ImageIcon imageIcon = new ImageIcon(jLabel2.getClass().getResource("/2.jpg"));
                jLabel2.setLayout(new BorderLayout());
                frame.add(jLabel2,BorderLayout.NORTH);
                jLabel2.setIcon(imageIcon);
                jLabel2.setText("Lab1");
 
            }
        });
 
        northButton.addActionListener(new ActionListener() {
 
            public void actionPerformed(ActionEvent e) {
               ImageIcon imageIcon = new ImageIcon(jLabel2.getClass().getResource("/second.jpg"));
                jLabel2.setLayout(new BorderLayout());
                frame.add(jLabel2,BorderLayout.NORTH);
                jLabel2.setIcon(imageIcon);
 
                jLabel2.setText("Lab2");
 
            }
        });

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы