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

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

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

Не могу понять как задать размер картинки и сделать чтобы при нажатии они не накладывались друг на друга, а меняли друг друга.
Листинг программы
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. class PAnel {
  6.  
  7. public static void createGUI() {
  8. JButton westButton = new JButton("Доброе утро");
  9. JButton eastButton = new JButton("Добрый день");
  10. final JButton southButton = new JButton("Доброй ночи");
  11. JButton northButton = new JButton("Добрый вечер");
  12.  
  13. final JFrame frame = new JFrame("Test frame");
  14. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  15. final JPanel panel = new JPanel();
  16. panel.setLayout(new BorderLayout());
  17. panel.add(northButton, BorderLayout.CENTER);
  18. panel.add(southButton, BorderLayout.SOUTH);
  19. panel.add(eastButton, BorderLayout.EAST);
  20. panel.add(westButton, BorderLayout.WEST);
  21.  
  22. frame.getContentPane().add(panel,BorderLayout.SOUTH);
  23. frame.setPreferredSize(new Dimension(550, 300));
  24. frame.pack();
  25. frame.setVisible(true);
  26. frame.setLocationRelativeTo(null);
  27.  
  28. southButton.addActionListener(new ActionListener() {
  29. @Override
  30. public void actionPerformed(ActionEvent e) {
  31. JLabel jLabel2 = new JLabel();
  32. ImageIcon imageIcon = new ImageIcon(jLabel2.getClass().getResource("/second.jpg"));
  33. jLabel2.setLayout(new BorderLayout());
  34. frame.add(jLabel2,BorderLayout.NORTH);
  35. jLabel2.setIcon(imageIcon);
  36. jLabel2.setText("Lab1");
  37.  
  38. }
  39. });
  40. northButton.addActionListener(new ActionListener() {
  41. public void actionPerformed(ActionEvent e) {
  42. JLabel jLabel3 = new JLabel();
  43. ImageIcon imageIcon = new ImageIcon(jLabel3.getClass().getResource("/2.jpg"));
  44. jLabel3.setLayout(new BorderLayout());
  45. frame.add(jLabel3,BorderLayout.NORTH);
  46. jLabel3.setIcon(imageIcon);
  47. jLabel3.setText("Lab2");
  48.  
  49. }
  50. });
  51.  
  52. }
  53.  
  54. }

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

textual
Листинг программы
  1. southButton.addActionListener(new ActionListener() {
  2.             @Override
  3.             public void actionPerformed(ActionEvent e) {
  4.                 ImageIcon imageIcon = new ImageIcon(jLabel2.getClass().getResource("/2.jpg"));
  5.                 jLabel2.setLayout(new BorderLayout());
  6.                 frame.add(jLabel2,BorderLayout.NORTH);
  7.                 jLabel2.setIcon(imageIcon);
  8.                 jLabel2.setText("Lab1");
  9.  
  10.             }
  11.         });
  12.  
  13.         northButton.addActionListener(new ActionListener() {
  14.  
  15.             public void actionPerformed(ActionEvent e) {
  16.                ImageIcon imageIcon = new ImageIcon(jLabel2.getClass().getResource("/second.jpg"));
  17.                 jLabel2.setLayout(new BorderLayout());
  18.                 frame.add(jLabel2,BorderLayout.NORTH);
  19.                 jLabel2.setIcon(imageIcon);
  20.  
  21.                 jLabel2.setText("Lab2");
  22.  
  23.             }
  24.         });

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


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

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

13   голосов , оценка 3.923 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы