बढ़ रहा है एनिमेट बंद हो जाता है, सभी एनिमेटेड GIF (javax.swing.ImageIcon
एक javax.swing.JLabel
अंदर) एनिमेट जब तक माउस को ले जाकर बंद हो जाता है बंद हो जाता है।GIF जबकि गेमिंग माउस
यह केवल पर MacOS एक ड्राइवर के साथ एक गेमिंग माउस के साथ होता है (एक रॉकेट-कोने XTD और दो कंप्यूटर पर एक Razer गेमिंग माउस के साथ यह परीक्षण किया)। जब मैं अन्य चूहों का उपयोग करता हूं तो सब कुछ ठीक काम करता है।
गेमिंग चूहे एस को actionPerformed()
विधियों को कॉल करना बंद करने के लिए भी कारण बनाता है। इस समस्या के लिए I opened a thread here, लेकिन इसके बजाय java.util.TimerTask
का उपयोग करके हल किया जा सकता है। (संपादित करें: क्योंकि JFrame फिर से रंगना नहीं है जब तक माउस को ले जाकर बंद हो जाता है वास्तव में TimerTask भी इसे ठीक नहीं है।)
लेकिन मैं GIFs एनिमेट के लिए कोई विकल्प नहीं पाया। मैं विकल्प का उपयोग करने की बजाय समस्या को हल करने में अधिक दिलचस्पी लेता हूं हालांकि मैं एक कामकाजी विकल्प के लिए भी आभारी हूं।
कोड:
import java.lang.reflect.InvocationTargetException;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
public class Mouse {
public static void main(String[] args) {
try {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
new Mouse();
}
});
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public Mouse() {
JFrame frame = new JFrame();
JLabel label = new JLabel(new ImageIcon(getClass().getResource("waiting.gif")));
frame.setSize(500, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.add(label);
}
}
रनिंग आवेदन:
MCVE:
import java.lang.reflect.InvocationTargetException;
import java.net.*;
import javax.swing.*;
public class Mouse {
public static void main(String[] args) {
try {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
try {
new Mouse();
} catch (MalformedURLException ex) {
ex.printStackTrace();
}
}
});
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public Mouse() throws MalformedURLException {
JFrame frame = new JFrame();
JLabel label = new JLabel(new ImageIcon(
new URL("https://i.stack.imgur.com/HXCUV.gif")));
frame.setSize(500, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.add(label);
}
}
मैंने एक संपादन के रूप में एक [mcve] जोड़ा। क्या आप एमसीवीई में एक ही व्यवहार देखते हैं? –
हाँ इससे कोई फर्क नहीं पड़ता है। – Yakuhzi
हू .. यह ठीक काम करता है। जेआरई के जावा संस्करण/माइक्रो-संस्करण को डंप करने के लिए उदाहरण में कुछ कोड डालें। –