package client; import java.awt.event.*; import java.awt.*; import javax.swing.*; /** * Trida reprezetujici dialog cekani. */ public class DialogCekej extends JDialog { /** popisek statusu */ private JLabel status; /** instance hlavniho okna */ private HlavniOkno hlOkno; /** * Konstruktor tridy DialogCekej. * * @param okno - hlavni okno */ public DialogCekej(HlavniOkno okno){ super(okno,false); this.hlOkno = okno; this.setSize(200, 100); this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); this.setLocationRelativeTo(null); this.setResizable(false); this.getContentPane().add(getPanel()); this.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { hlOkno.setVisible(false); DialogCekej.this.setVisible(false); posliKonec(); } }); } /** * Metoda pro poslani konce cinnosti. */ private void posliKonec(){ hlOkno.posliKonec(); } /** * Metoda pro vraceni hlavniho panelu dialogu cekej. * * @return hlavni panel */ private JPanel getPanel(){ JPanel hlavni = new JPanel(new BorderLayout()); this.status = new JLabel(); this.status.setHorizontalAlignment(SwingConstants.CENTER); hlavni.add(status, BorderLayout.CENTER); return hlavni; } /** * Metoda pro nastaveni titulku a zpravy dialogu. * * @param titulek - titulek okna dialogu * @param zprava - zobrazovana zprava */ public void setStav(String titulek, String zprava){ this.setTitle(titulek); status.setText(zprava); this.getContentPane().revalidate(); this.getContentPane().repaint(); } /** * Metoda pro zmizeni dialogoveho okna. */ public void zmiz(){ try{ Thread.sleep(10); }catch(Exception e){} this.setVisible(false); this.hlOkno.muzes(); } /** * Metoda pro zobrazeni dialogoveho okna. */ public void ukaz(){ this.setVisible(true); this.hlOkno.cekej(); } }