Как мне вставить изображения в это JMenu? - PullRequest
0 голосов
/ 08 октября 2019

В настоящее время я начинаю изучать, как кодировать на Java, и я делаю домашнюю работу, где я должен создать JFrame с двумя JMenu, один (который я уже понял, как это сделать) с различными элементами, которые изменяютФон JFrame и другой, где я должен поместить предметы, а JFrame должен показывать изображения, и мне не удалось его выяснить. (В моем примере я решил назвать предметы как дома Игры престолов, и я хотел представить в качестве изображений сигилы домов)

Вот код:

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

public class Formulario extends JFrame implements ActionListener{

private JMenuBar menubar;
private JMenu menu1, menu2;
private JMenuItem menuitem1, menuitem2, menuitem3, menuitem4, menuitem5, menucasa1, menucasa2, menucasa3, menucasa4;

public Formulario(){
  setLayout(null);
  menubar = new JMenuBar();
  setJMenuBar(menubar);

  menu1 = new JMenu("Opciones");
  menubar.add(menu1);

      menu2 = new JMenu("Casas nobles");
      menubar.add(menu2);

      //Items de Opciones
  menuitem1 = new JMenuItem("Rojo");
  menuitem1.addActionListener(this);
  menu1.add(menuitem1);

  menuitem2 = new JMenuItem("Verde");
  menuitem2.addActionListener(this);
  menu1.add(menuitem2);

  menuitem3 = new JMenuItem("Azul");
  menuitem3.addActionListener(this);
  menu1.add(menuitem3);

      menuitem4 = new JMenuItem("Lila");
      menuitem4.addActionListener(this);
      menu1.add(menuitem4);

      menuitem5 = new JMenuItem("Amarillo");
      menuitem5.addActionListener(this);
      menu1.add(menuitem5);

      //Items de Casas Nobles

      menucasa1 = new JMenuItem("Stark");
      menucasa1.addActionListener(this);
      menu2.add(menucasa1);

      menucasa2 = new JMenuItem("Arryn");
      menucasa2.addActionListener(this);
      menu2.add(menucasa2);

      menucasa3 = new JMenuItem ("Greyjoy");
      menucasa3.addActionListener(this);
      menu2.add(menucasa3);

      menucasa4 = new JMenuItem ("Tyrell");
      menucasa4.addActionListener(this);
      menu2.add(menucasa4);
  }

public void actionPerformed(ActionEvent e){
  Container fondo = this.getContentPane();

  if(e.getSource() == menuitem1){
    fondo.setBackground(new Color(255,0,0));
  }
  if(e.getSource() == menuitem2){
    fondo.setBackground(new Color(0,255,0));
  }
  if(e.getSource() == menuitem3){
    fondo.setBackground(new Color(0,0,255));
  }
      if(e.getSource() == menuitem4){
        fondo.setBackground(new Color(200,100,200));
      }
      if(e.getSource() == menuitem5){
        fondo.setBackground(new Color(255,255,0));
      }
 }

 }
...