Ekranın sağ üstündeki küçük bildirim balonlarından birini nasıl göstereceğinizi belirleyin, aşağıya cevap verin.IntelliJ'de bir bildirimi nasıl gösteririm?
7
A
cevap
11
Bir NotificationGroup örneği oluşturmanız ve sonra bir Bildirim yapmak için bunu kullanın ve bildirimi ve Projeyi Notifications.Bus.notify() öğesine iletmeniz gerekir.
public class VoiceApplicationComponentImpl implements ApplicationComponent, VoiceApplicationComponent {
...
public static final NotificationGroup GROUP_DISPLAY_ID_INFO =
new NotificationGroup("My notification group",
NotificationDisplayType.BALLOON, true);
...
void showMyMessage(String message) {
ApplicationManager.getApplication().invokeLater(new Runnable() {
@Override
public void run() {
Notification notification = GROUP_DISPLAY_ID_INFO.createNotification(message, NotificationType.ERROR);
Project[] projects = ProjectManager.getInstance().getOpenProjects();
Notifications.Bus.notify(notification, projects[0]);
}
});
}
Not: Şu anki Projeyi almanın daha iyi bir yolu olacak, şu anda sadece bir tane açık proje olduğunu farz ediyorum. Bu, yöntemimin başlangıçta çalışmadığı anlamına gelir (projeler dizisi boş).
Başka bir not: muhtemelen invokeLater ile sarmak zorunda değilsiniz, ancak farklı bir iş parçacığı içinde showMyMessage çağırıyordum çünkü yaptım.
0
Bu daha iyi olacak!
StatusBar statusBar = WindowManager.getInstance()
.getStatusBar(DataKeys.PROJECT.getData(actionEvent.getDataContext()));
JBPopupFactory.getInstance()
.createHtmlTextBalloonBuilder(htmlText, messageType, null)
.setFadeoutTime(7500)
.createBalloon()
.show(RelativePoint.getCenterOf(statusBar.getComponent()),
Balloon.Position.atRight);
referans linki:.?
1. original link
2. enter link description here
İlgili konular
- 1. Bir WPF uygulamasından nasıl bir tost bildirimi gösteririm?
- 2. Tableau'da bir ekseni nasıl gösteririm?
- 3. Animasyonlarla görünümü nasıl gösteririm?
- 4. Bir işlevi bir Python modülünde nasıl gösteririm?
- 5. MySQL'de bir tablonun benzersiz kısıtlarını nasıl gösteririm?
- 6. Oracle'da bir tablodaki alanları nasıl gösteririm? MySQL
- 7. Suitecommerce Denali'de bir SSP sayfasını nasıl gösteririm?
- 8. WPF'de sürüklenen öğeyi nasıl gösteririm?
- 9. Kurumsal Mimarlıkta ilişkileri nasıl gösteririm
- 10. Parse Push bildirimi nasıl başlatılır Push bildirimi
- 11. Android Studio'da bağımlılık ağacını nasıl gösteririm?
- 12. Graphql Schema'mdaki Neo4j ilişki özelliklerini nasıl gösteririm?
- 13. Doğrulama hatası iletisini farklı yere nasıl gösteririm?
- 14. Anonim self invoking işlevinden işlevi nasıl gösteririm?
- 15. Ggplot kullanarak ABD şehirlerini nasıl gösteririm?
- 16. PHPStorm'daki tam dosya yolunu nasıl gösteririm?
- 17. Görüntüyü push bildiriminde (Gcm) nasıl gösteririm android?
- 18. CLion IDE'de satır numaralarını nasıl gösteririm?
- 19. Eclipse'de "Belgeleri Göster" i nasıl gösteririm?
- 20. Bir geri bildirimi
- 21. Düzenlenebilir bir DIV'yi metin alanı gibi nasıl gösteririm?
- 22. Resim eki sayfasındaki bir gönderiye eklenen görüntülerin sayısını nasıl gösteririm?
- 23. Sadece uygulama ilk uygulamasında bir uyarı iletişim kutusunu nasıl gösteririm?
- 24. NSNotification bildirimi siparişi bildirimi
- 25. Bildirimi, bildirimi, bildirme
- 26. CSS bildirimi nasıl önlenir?
- 27. Bir Parse gönderme bildirimi Belirli bir kullanıcıya push bildirimi
- 28. bildirimi " bir SQLException atıyor
- 29. Eski bir pynotify bildirimi nasıl kaldırılır?
- 30. Bir "bildirme" bildirimi nasıl geri alınır?
'ApplicationManager.getApplication() invokeLater' neden gerekli olduğunu kimse biliyor mu [doc] (http://www.jetbrains.org/ intellij/sdk/docs/user_interface_components/notifications.html) bundan bahsetmiyor –
@ robin.thoni invokeLater() bir salıncak yöntemidir, yürütme için izin verilen tek iş parçacığı olan olay gönderme iş parçacığı altında ui görevlerinin biriktirilmesine izin verir ui görevleri ... bu, intellij api'den daha çok swing ile ilgili olsa da ... doc'larda olmamalı. – ALTN
@Verdagon, mevcut proje başvurunuzu almak için Project project = e.getData (LangDataKeys.PROJECT) kullanmanız gerekir, aksi halde bildirim birden fazla proje açık olduğunda yanlış projenin altında görünebilir. e, aksiyon sınıfınızdan aldığınız AnActionEvent'tir. Ayrıca, invokeLater runnable öğesinden e.getData (LangDataKeys.PROJECT) öğesini çağırdığınızdan emin olun, aksi takdirde çalışma zamanında bir istisna atılır. Bazı nedenlerden dolayı intellij, olay dağıtım iş parçacığı altında çağrının getData'ya izin vermez. – ALTN