Показать картинку в JScrolPane - PullRequest
0 голосов
/ 05 марта 2019

Я работаю над личным проектом, чтобы заказать коллекцию карт для настольной игры, в которую я играю.Итак, я построил базу данных карт, и теперь я пытаюсь отобразить изображение карты в JScollPane.Это то, что у меня есть:

import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JScrollPane;

public class Main extends javax.swing.JFrame
{
private JScrollPane jScrollPane1;
static CardDatabase database;

public Main()
{
    initComponents();  
    browseCards();
}

public static void main(String[] args) 
{
    database = new CardDatabase("cardList");

    java.awt.EventQueue.invokeLater(new Runnable() 
    {
        public void run() 
        {
            new Main().setVisible(true);
        }
    });
}

private void initComponents() 
{
    jScrollPane1 = new javax.swing.JScrollPane();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup
    (
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
            .addGap(190, 190, 190)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 600, Short.MAX_VALUE)
            .addContainerGap())
    );
    layout.setVerticalGroup
    (
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
            .addContainerGap()
            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 578, Short.MAX_VALUE)
            .addContainerGap())
    );

    pack();
}

private void browseCards()
{
    jScrollPane1.add(new JLabel(new ImageIcon(database.database[0].img)));
    jScrollPane1.repaint();
}
}

Изображение находится в BufferedImage, поэтому я меняю его на ImageIcon, прежде чем добавить его в JLabel, который я пытаюсь добавить в панель Jscrollpane. Это результат, который я ищу

Спасибо: D

...