Cómo agregar imágenes en JPanel

Agrego un panel tabbed en mi marco y llamo tab.add ("", new Img ()) que extiende Img con JPanel ..

La pregunta es: ¿podría agregar JScrollPane en ese JPanel y drawImage como fondo de JPanel y también hacer un dibujo adicional en esa imagen, como hacer una ruta en la imagen de fondo (como un mapa) porque quiero aplicar el algoritmo de Prim en esa ruta ...

Y también, si deseo agregar un panel adicional en el panel de pestañas como el anterior, ¿cómo podría controlar esas acciones de pestañas?

El código de muestra es así ...

Si tiene alguna idea sobre el algoritmo de Prim y el algoritmo gráfico, ¡ayúdeme! ¡Gracias!

public class MainFrame extends JFrame {
    private JMenuBar menuBar = new JMenuBar();
    private JMenu menuFile = new JMenu();
    private JMenuItem menuFileExit = new JMenuItem();
    private JPanel jPanel1 = new JPanel();
    private JLabel lbl1=new JLabel();
    private JLabel lbl2=new JLabel();
    private JPanel jPanel2 = new JPanel();
    private JTabbedPane jTabbedPane1 = new JTabbedPane();
    private JPanel originalgraph = new JPanel();
    private JPanel zebuthiri = new JPanel();
    private JPanel dekhinathiri = new JPanel();
    private JPanel oattayathiri = new JPanel();
    private JPanel pobbathiri = new JPanel();
    private JPanel zeyathiri = new JPanel();
    int weight[][] = null;
    public MainFrame(int [][]w) {
        this.weight=w;
        try {
            jbInit();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        this.setJMenuBar( menuBar );
        this.getContentPane().setLayout(null);
        Toolkit tk=getToolkit();
        Dimension size=tk.getScreenSize();
        this.setSize( new Dimension(size) );
        this.getContentPane().setBackground(Color.CYAN);
        menuFile.setText( "File" );
        menuFileExit.setText( "Exit" );
        menuFileExit.addActionListener( new ActionListener() { public void actionPerformed( ActionEvent ae ) { fileExit_ActionPerformed( ae ); } } );
        jPanel1.setBounds(new Rectangle(0, 0, 1365, 160));
        jPanel1.setLayout(null);
        lbl1.setBounds(new Rectangle(0, 0, 1365, 160));
        lbl1.setIcon(new ImageIcon("5.jpg"));
        lbl2.setIcon(new ImageIcon("b.jpg"));
        jPanel2.setBounds(new Rectangle(0, 630, 1365, 160));
        lbl2.setBounds(new Rectangle(0, 0, 1365, 160));
        jPanel2.setLayout(null);
        jTabbedPane1.setBounds(new Rectangle(0, 160, 1365, 470));

        menuFile.add( menuFileExit );
        menuBar.add( menuFile );
        jPanel1.add(lbl1);
        jPanel2.add(lbl2);


        jTabbedPane1.addTab("Zebu Thiri",new zebuthiri(weight));
        jTabbedPane1.addTab("Original Graph",new originalgraph(weight));
        jTabbedPane1.addTab("Dekhina Thiri",new dekhinathiri(weight));
        jTabbedPane1.addTab("Oattaya Thiri",new oattayathiri(weight));
        jTabbedPane1.addTab("Pobba Thiri",new pobbathiri(weight));
        jTabbedPane1.addTab("Zeya Thiri",new zeyathiri(weight));
        this.getContentPane().add(jTabbedPane1, null);
        this.getContentPane().add(jPanel2, null);
        this.getContentPane().add(jPanel1, null);
    }

    void fileExit_ActionPerformed(ActionEvent e) {
        System.exit(0);
    }
    public static void main(String args[]){
        int w[][]=new int [100][100];
        MainFrame f=new MainFrame(w);
        f.setVisible(true);
        f.pack();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
Respuesta 1

Escenario: mi aplicación actualiza su contenido en el método OnStart () de MainActivity descargando algunas cosas de Internet. Utilizo OnStart () ya que me gustaría actualizar el contenido ...

Estoy buscando algunas ideas / recursos sobre cómo abordar la creación de una barra de búsqueda en la parte superior de un complemento de eclipse de vista existente. Quiero algo similar a lo que tiene la vista Lista de tareas en eclipse: http: // ...

Quería instalar Lottie 2.8.0 en Android 3.1.1 pero al compilar la biblioteca, recibí este error. He leído la pregunta de los demás, pero no me ayudó en este tema. ¿Qué debo hacer para resolverlo? Los ...

Actualmente estoy usando un programa llamado KNIME, que se utiliza para analizar datos. Para algunos de mis datos, quiero que cada fila de una columna se promedie con el valor de la fila anterior. El 'fragmento de Java' ...