tpane.addTab("Anrufliste", createCallerListPane());
JScrollPane callerListPaneScrollable = new JScrollPane(createCallerListPane()); tpane.addTab("Anrufliste", callerListPaneScrollable);
    protected void drawDialog() {        // Create JTabbedPane        JTabbedPane tpane = new JTabbedPane(JTabbedPane.TOP);                tpane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));        okButton = new JButton(JFritz.getMessage("okay"));        okButton.setIcon(new ImageIcon(Toolkit.getDefaultToolkit().getImage(                getClass().getResource(                        "/de/moonflower/jfritz/resources/images/okay.png"))));        cancelButton = new JButton(JFritz.getMessage("cancel"));        timerSlider = new JSlider(0, 120, 30);        timerSlider.setPaintTicks(true);        timerSlider.setMinorTickSpacing(10);        timerSlider.setMajorTickSpacing(30);        timerSlider.setPaintLabels(true);        timerSlider.addChangeListener(new ChangeListener() {            public void stateChanged(ChangeEvent e) {                if (timerSlider.getValue() < 3)                    timerSlider.setValue(3);                timerLabel                        .setText("Timer: " + timerSlider.getValue() + " min.");            }        });        KeyListener keyListener = (new KeyAdapter() {            public void keyPressed(KeyEvent e) {                if (e.getKeyCode() == KeyEvent.VK_ESCAPE                        || (e.getSource() == cancelButton && e.getKeyCode() == KeyEvent.VK_ENTER)) {                    pressed_OK = false;                    ConfigDialog.this.setVisible(false);                }                if (e.getSource() == okButton                        && e.getKeyCode() == KeyEvent.VK_ENTER) {                    pressed_OK = true;                    ConfigDialog.this.setVisible(false);                }            }        });        ActionListener actionListener = new ActionListener() {            public void actionPerformed(ActionEvent e) {                Object source = e.getSource();                password = new String(pass.getPassword());                pressed_OK = (source == pass || source == okButton);                if (source == pass || source == okButton                        || source == cancelButton) {                    ConfigDialog.this.setVisible(false);                } else if (e.getActionCommand().equals("addresscombo")) {                    int i = addressCombo.getSelectedIndex();                    SSDPPacket dev = (SSDPPacket) devices.get(i);                    address.setText(dev.getIP().getHostAddress());                    firmware = dev.getFirmware();                    setBoxTypeLabel();                    macLabel.setText(dev.getMAC());                } else if (e.getActionCommand().equals("detectboxtype")) {                    try {                        firmware = FritzBoxFirmware.detectFirmwareVersion(                                address.getText(), password);                        // firmware = new FritzBoxFirmware("14", "1", "35");                        setBoxTypeLabel();                    } catch (WrongPasswordException e1) {                        Debug.err("Password wrong!");                        boxtypeLabel.setForeground(Color.RED);                        boxtypeLabel.setText("Passwort ungltig!");                        firmware = null;                    } catch (IOException e1) {                        Debug.err("Address wrong!");                        boxtypeLabel.setForeground(Color.RED);                        boxtypeLabel.setText("Box-Adresse ungltig!");                        firmware = null;                    }                } else if (e.getActionCommand().equals("fetchSIP")) {                    try {                        Vector data = JFritzUtils.retrieveSipProvider(address                                .getText(), password, firmware);                        jfritz.getSIPProviderTableModel().updateProviderList(                                data);                        jfritz.getSIPProviderTableModel()                                .fireTableDataChanged();                        jfritz.getCallerlist().fireTableDataChanged();                    } catch (WrongPasswordException e1) {                        jfritz.errorMsg("Passwort ungltig!");                    } catch (IOException e1) {                        jfritz.errorMsg("FRITZ!Box-Adresse ungltig!");                    } catch (InvalidFirmwareException e1) {                        jfritz.errorMsg("Firmware-Erkennung gescheitert!");                    }                }            }        };        // Create OK/Cancel Panel        GridBagConstraints c = new GridBagConstraints();        c.insets.top = 5;        c.insets.bottom = 5;        c.gridwidth = GridBagConstraints.REMAINDER;        c.anchor = GridBagConstraints.CENTER;        JPanel okcancelpanel = new JPanel();        okButton.addActionListener(actionListener);        okButton.addKeyListener(keyListener);        okcancelpanel.add(okButton, c);        cancelButton.addActionListener(actionListener);        cancelButton.addKeyListener(keyListener);        cancelButton.setMnemonic(KeyEvent.VK_ESCAPE);        okcancelpanel.add(cancelButton);        tpane.addTab("FRITZ!Box", createBoxPane(actionListener)); // TODO I18N        tpane.addTab("Telefon", createPhonePane());        tpane.addTab("SIP-Nummern", createSipPane(actionListener));        tpane.addTab("Anrufliste", createCallerListPane());        tpane.addTab("Anrufmonitor", createCallMonitorPane());        tpane.addTab("Nachrichten", createMessagePane());        JScrollPane otherPaneScrollable = new JScrollPane(createOtherPane());        tpane.addTab("Weiteres", otherPaneScrollable);        getContentPane().setLayout(new BorderLayout());        getContentPane().add(tpane, BorderLayout.CENTER);        getContentPane().add(okcancelpanel, BorderLayout.SOUTH);        c.fill = GridBagConstraints.HORIZONTAL;        addKeyListener(keyListener);        setSize(new Dimension(510, 360));        setResizable(false);         //pack();    }