2012-06-18 2 views
2

내가 안티 바이러스 시스템 또는 업데이트 자체를 스캔 할 때 당신은 무엇을보고 같은 종류의 PopupJDialog을 구현하기 위해이 코드를 사용하고있는 것은 : Popup JDialog의 기본 Java 클래스가 있습니까?

import java.awt.*; 
import javax.swing.JDialog; 
import javax.swing.JLabel; 

public class PopupDialog extends JDialog { 

    public PopupDialog() throws HeadlessException { 
     createUI(); 
    } 

    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 

      @Override 
      public void run() { 
       PopupDialog popupDialog = new PopupDialog(); 
       popupDialog.setVisible(true); 
      } 
     }); 
    } 

    private void createUI() { 
     setTitle("Popup Dialog"); 
     setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); 

     addComponentsToFrame(); 

     //This call will give screens viable area, which takes into account the taskbar, which could be at the bottom, top,left or right of the screen. 
     Rectangle maxBounds = GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds(); 

     //get screen size 
     int sWidth = maxBounds.width, sHeight = maxBounds.height; 

     setSize(275, 225);//set frame size 
     Dimension appDim = getSize(); 
     //get app size 
     int aWidth = appDim.width, aHeight = appDim.height; 

     //set location like a tooltip would be except its a custom dialog like an AV 
     setLocation(sWidth - aWidth, (sHeight - aHeight)); 
    } 

    private void addComponentsToFrame() { 
     JLabel label = new JLabel("Popup Dialog"); 
     getContentPane().add(label, BorderLayout.CENTER); 
    } 
} 

하지만 내 질문은

: 거기 어떤 클래스 나 나를 위해 이것을 할 자바 패키지? JDialog를 작업 표시 줄 (또는 오프 스크린)에서 위로 slide까지 올리면 어떻게 될까요? 또는 어떻게 든 ToolTip 팝업이 시스템 트레이에서와 같이 느린 방식으로 표시됩니다. 감사. 내가 완전히 사용자 정의 종료 아이콘을 setUndecorated(true);를 사용하여 추가 팝업 창에 스킨을 할 수 있도록하려는 때문에

편집 나는 JDialog를 또는 프레임을 사용하려는 이유는, 배경 등

답변

3
+0

나는 시스템 트레이를 수행하는 방법을 알고 있지만 프레임 인 것처럼 사용자 정의 할 수 있기를 바란다. 즉, 버튼과 라벨 등을 추가하는 것이지만, 느린 '팝업'기능을 원한다. 시스템 트레이에 제공된 툴팁의 기본적으로 나는 프레임을 원한다. 왜냐하면 나는 그것을 완벽하게 스킨 할 수 있기 때문이다. 즉 꾸며져 있지 않고 출구 아이콘 등의 이미지가있는 레이블을 추가하십시오. –

+1

죄송합니다. 지금까지 내가 아는 바가 없습니다. 그러나 여기의 사람은 멋진 반투명 효과를 관리했으며 아래로 스크롤하면 다른 사람들이 2-3 개의 라이브러리를 제안하는 것을 볼 수 있습니다. http://stackoverflow.com/questions/3240415/how-to-create-a-notification-in- swing – Morfic

+0

ThanksThat 정말 도움이 될 것입니다. (lol –

1

먼저 프레임을 항상 맨 위에 올리면 항상 보이도록 할 수 있습니다. 그런 다음 프레임을 화면 아래쪽에 배치하고 프로그래밍 방식으로 위로 밀어 올릴 수 있습니다. 이것은 오래된 XP 컴퓨터에서도 비교적 부드럽습니다. 이 작업을 수행하는 표준 Java API는 없지만 직접 할 수 있습니다. 슬라이딩 대신 다른 옵션은 윈도우를 완전히 투명하게 만들고 페이드 인하는 것입니다.이 API는 최근 (최근 2 년) 자바 6 업데이트에 추가되었으므로 모든 곳에서 사용할 수 있어야합니다.

관련 문제