我有一个类,我在其中加载天气数据显示,并希望在加载显示时显示加载动画。
这是初始代码:
"has_more":true
这是一种方法,我正在使用一种天气显示来显示:
DrawFrame(JSONArray weather, String button) {
this.weather = weather;
drawPanel = new JPanel() {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
switch (button) {
case MainFrame.hourly1ButtonValue:
hourly1 = (Graphics2D) g;
drawHourly1();
break;
case MainFrame.hourly12ButtonValue:
hourly12 = (Graphics2D) g;
drawHourly12();
break;
case MainFrame.index5ButtonValue:
stargazing = (Graphics2D) g;
drawStargazing();
break;
}
}
};
KeyListener kl=new KeyAdapter()
{
public void keyPressed(KeyEvent evt)
{
//If someone click Esc key, this program will exit
if(evt.getKeyCode()==KeyEvent.VK_ESCAPE)
{
System.exit(0);
}
}
};
JFrame frame = new JFrame("Wetteranzeige");
//frame.setUndecorated(true);
frame.add(drawPanel);
frame.setPreferredSize(new Dimension(dimension.width, dimension.height));
//frame.addKeyListener(kl);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
它产生类似这样的东西: 1
当我添加gif时,它会无限循环,而不是一次, 所以我想我可以通过设置每一帧来手动绘制gif(在我的情况下,更改图标的位置),但是我无法根据这里的绘制结构来确定使用计时器正确地重新绘制...
我无法使它像下面的示例那样工作: https://docs.oracle.com/javase/tutorial/uiswing/painting/step3.html
那么有人对我有解决方案吗? 您的帮助将不胜感激!