В настоящее время у меня есть отличный JViewport с Jlabel, настроенным и используемым как представление. Мне интересно, возможно ли использовать многослойный Jlabels в качестве окна просмотра. IE: я хочу добавить новые JLabels в существующий видовой экран.
Спасибо!
РЕДАКТИРОВАТЬ: По совету StanislavL, я теперь использую JLayeredPane в JScrollPane. В настоящее время в JLayeredPane есть две JLabels, когда я прокручиваю JScrollPane, большее фоновое изображение прокручивается правильно, так как меньший shipSprite остается в той же позиции. Любые идеи, как я могу заставить их прокручивать вместе?
public void initViewport() {
explorePort = new JScrollPane();
explorePort.setBounds(0, 0, retailWidth, retailHeight);
explorePort.setBackground(new Color(0, 100, 0));
explorePort.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
explorePort.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
ImageIcon background = Main.global.imgScaler.scaleImage(new ImageIcon("images/blankgrid.jpg"), retailWidth*2, retailHeight*2);
JLabel backSplash = new JLabel(background);
backSplash.setBounds(0, 0, retailWidth*2, retailHeight*2);
ImageIcon shipIcon = Main.global.imgScaler.scaleImage(new ImageIcon("images/ship.png"), Main.global.nodeWidth, Main.global.nodeHeight);
JLabel shipSprite = new JLabel(shipIcon);
shipSprite.setBounds(100, 100, Main.global.nodeWidth, Main.global.nodeHeight);
Main.global.gamePanel.add(backSplash, 0);
explorePort.setViewportView(backSplash);
Main.global.gamePanel.add(shipSprite, 1);
Main.global.gamePanel.add(explorePort, 2);
//explorePort.addMouseListener(this);
Main.global.gameFrame.addKeyListener(new ListenKey());
}