Я хочу отображать уведомление, когда пользователь пытается запустить приложение во второй раз. Поэтому я создаю объект NotificationPop obj и вызываю метод для отображения диалога внутри моего одного класса экземпляра, но это не отображается всплывающее окно, когда приложение запускается во второй раз, нет проблем с моим окном NotificationPop, он функционирует нормально, но когда я его вызываю в Single Instance, не отображается. в окне вывода Netbeans он также отображает диалоговое окно. Пропустить какой-нибудь шаг здесь?Всплывающее окно с уведомлением не запускается с одним экземпляром
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
public class SingleInstance {
public static File f;
public static FileChannel channel;
public static FileLock lock;
public static TrayCon trayobj;
public static boolean checkstatus;
public static NotificationPop obj;
public static void main(String args[]) throws IOException {
try {
f = new File("key");
if (f.exists()) {
f.delete();
}
channel = new RandomAccessFile(f, "rw").getChannel();
lock = channel.tryLock();
if (lock == null) {
obj = new NotificationPop();
obj.displaypopupmessage();
System.exit(0);
channel.close();
throw new RuntimeException("Only 1 instance can run");
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
trayobj = new TrayCon();
trayobj.CreateTrayCon(trayobj);
}
});
} catch (IOException ex) {
}
}
}
Почему вы удалите файл (особенно вне секции замка)? – MadProgrammer
вы имеете в виду, если фрагмент, позвольте мне добавить его там, – mussdroid
Я уверен, что я размещен здесь два (три) различных кода в форме SSCCE/MCVE (наиболее важных) для одного экземпляра FileIO/Socket/???, из вашего кода невозможно предложить что-то – mKorbel