무한 투명로드 jframe을 만들었지 만 f.setBackground (new Color (0, 0, 0, 0));을 호출하여 Background를 투명하게 설정할 때 깜박입니다. setBackground에 주석이 달린 경우 JFrame은 애니메이션 아이콘을 올바르게 표시합니다.자바 스윙 투명 무한로드/애니메이션 깜박임
누구든지 문제를 해결할 수 있습니까?
는import java.awt.Color;
import java.awt.EventQueue;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class InfiniteLoad extends JPanel
{
private JPanel loadingPanel() throws MalformedURLException
{
JPanel panel = new JPanel();
BoxLayout layoutMgr = new BoxLayout(panel, BoxLayout.PAGE_AXIS);
panel.setLayout(layoutMgr);
java.net.URL imageURL = new URL("http://oi59.tinypic.com/106a6vo.jpg");
ImageIcon imageIcon = new ImageIcon(imageURL);
JLabel iconLabel = new JLabel();
iconLabel.setIcon(imageIcon);
imageIcon.setImageObserver(iconLabel);
JLabel label = new JLabel("Loading...");
panel.add(iconLabel);
panel.add(label);
panel.setOpaque(false);
return panel;
}
public static void main(String[] args) throws MalformedURLException
{
EventQueue.invokeLater(new Runnable()
{
@Override
public void run()
{
JFrame f = new JFrame("Window");
f.setUndecorated(true);
//AWTUtilities.setWindowOpacity(f, 0.6f);
//f.setOpacity(0.4f);
InfiniteLoad imagePanel = new InfiniteLoad();
JPanel jp = null;
try
{
jp = imagePanel.loadingPanel();
}
catch (MalformedURLException ex)
{
Logger.getLogger(InfiniteLoad.class.getName()).log(Level.SEVERE, null, ex);
}
f.setContentPane(jp);
f.setBackground(new Color(0, 0, 0, 0)); //<-- THIS CAUSES FLICKERING
f.pack();
f.setVisible(true);
}
});
}
}
편집 : 올바르게
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
쇼 실행하는 동안
확인 문제는 오픈 JDK 자바 관련이 있었다, 그것은
java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1~0.13.10.1)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
에 언급 된 문제가 표시됩니다. 버그가있는 구현에서도 제대로 작동하도록 해결 방법을 제시 할 수 있다면 누구나 환영합니다.
(호기심)와 같은 문제는 [장식을 가지지하는 JButton (http://stackoverflow.com/a/7944388/714968)를 사용하여 I – mKorbel
죄송있다 이해가 안 돼 .. 어떤 버튼? 내 코드에 버튼이 없습니다 – dendini
Windows 7에서 1.8.0_05 (?)로 3 번 실행했는데 깜박임이없고 애니메이션 이미지 만 나타납니다. –