2014-12-30 9 views
0

JFrame을 눌렀을 때마다 JDialogs를 여는 단추가 포함 된 JFrame을 기본 메서드에서 생성했습니다. 내가 겪고있는 문제는 JDialog가 작업 표시 줄에 표시되지 않으며 인터넷에서 찾은 솔루션이 JDialog를 생성 할 때 발생한다는 것입니다.JDialog 작업 표시 줄에 표시

Windows 작업 표시 줄에 모든 새로운 창이 나타나게하려면 어떻게해야합니까? 그런

참고로

내 주요 외모 : 당신이 볼 수 있듯이

public static void main(String[] args) { 
    EventQueue.invokeLater(new Runnable() { 
     public void run() { 
      try { 
       Main frame = new Main(); 
       frame.setVisible(true); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
    }); 
} 

/** 
* Create the frame. 
*/ 
public Main() { 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setBounds(100, 100, 450, 300); 
    contentPane = new JPanel(); 
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
    contentPane.setLayout(new BorderLayout(0, 0)); 
    setContentPane(contentPane); 



    JButton btnNouvelleFentre = new JButton("Nouvelle fen\u00EAtre"); 
    btnNouvelleFentre.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent arg0) { 
      Chat dlg = new Chat(); 
     } 
    }); 
    contentPane.add(btnNouvelleFentre, BorderLayout.SOUTH); 
} 

, 나는되는 JDialog를 확장하는 클래스 채팅의 인스턴스를 만드는거야. 새 창이 생성되지만 아무 것도 작업 표시 줄에 없습니다.

+0

은 AFAIK 이것은 Windows와 MacOS의 기본 동작입니다. – MadProgrammer

답변

2

AFAIK Windows 및 MacOS에서 대화 상자의 기본 동작입니다.

작업 표시 줄에 다른 항목을 표시하려면 새 JFrame을 작성해야합니다. 대화 상자의 모달 상태에 의존하면 더 이상이 기능을 사용할 수 없습니다.

이 모든 것을 말해 두 겠는데, 당신은 또한 The Use of Multiple JFrames, Good/Bad Practice?을 통해 읽기를하고 JTabbedPane 또는 CardLayout 대신

+0

질문은 실제로 jdialog가 작업 표시 줄에 표시되는 것에 관한 것이고, 내가하고 싶은 일에 정말로 유용 할 것입니다. – zuokuok

+0

이것을 제어 할 수 없습니다. 이는 OS – MadProgrammer

0

당신이 JDialog의 생성자에 null의 부모를 통과하면 밝혀, 당신의 대화 상자가 작업 표시 줄에 표시됩니다 사용을 고려해야합니다.

JDialog dialog = new JDialog((Dialog)null); 
// so if you say Chat extends JDialog, that would be: 
Chat dlg = new Chat((Dialog)null); 

(대화) 널 (null) -> java.awt.Dialog의

에 캐스팅

이 골대 답변 : 그것은 단지 그것을 찾을 fo를 나에게 10 초 걸렸다 Show JDialog on taskbar )

+0

의 문제입니다.이 게시물에 제공된 다른 해결책도 확인하십시오. – ProgrammingIsAwsome

+0

JFrame을 기본으로 사용하면 작동하지 않습니다. 나는 그것을 전에 발견하고 그것을 시도 했으므로 그것이 내가 묻는 이유입니다. – zuokuok

+0

확인. 나는 그 코드로 시도해 보았고 효과가 있었다. – ProgrammingIsAwsome