Avatar billede qumle Nybegynder
10. december 2002 - 12:00 Der er 3 kommentarer og
1 løsning

repaint af panel

efter dette metodekald bliver mit panel tilsyneladende ikke repaintet

dicePanel.repaint();

nogle forslag til hvad der kan mangle?
skal componenterne i panelet evt repaintes hver for sig?
Avatar billede aslan Nybegynder
10. december 2002 - 13:48 #1
Hva vil du have at vi skal skrive til dig?? Du viser os jo ingenting vi kan arbejde på...
Avatar billede carstenknudsen Nybegynder
10. december 2002 - 13:54 #2
Kald i stedet pack på din JFrame eller hvad du nu benytter,
så bliver dit panel helt sikkert repaint'ed.
Avatar billede qumle Nybegynder
10. december 2002 - 14:45 #3
class Risk extends Frame implements MouseListener, ActionListener{
//bla bla

Panel dicePanel = new Panel();
    Panel userInput = new Panel();

    Risk(){
        setSize(400,600);
        setTitle("Risk - 2002");
        setLayout(new BorderLayout());


        userInput.setLayout(new GridLayout(5,1));
        userInput.addMouseListener(this);
        userInput.add(currentPlayer);
        userInput.add(attackButton);
        attackButton.addActionListener(this);

        dicePanel.setLayout(new GridLayout (3,2));
        userInput.add(dicePanel);

        add ("East", userInput);
        add ("Center", currentMap);
        currentMap.addMouseListener(this);

        add ("South", beskederTilBruger);

        setVisible(true);
        addWindowListener (new WindowAdapter (){
            public void windowClosing(WindowEvent e){
                System.exit(0);
            }
        });
    }
//bla bla

public void actionPerformed (ActionEvent ae){
        Object source = ae.getSource();

        if (source == attackButton){

            if (attacked == null){
                if (attackFrom == null){
                    beskederTilBruger.setText("du har ikke valgt et land at angribe fra");
                }
                else {
                    beskederTilBruger.setText("du har ikke valgt et land at angribe");
                }
            }
            else
            diceRoll(attackFrom, attacked);
            currentMap.repaint();
            dicePanel.repaint();
            userInput.repaint();
        }
    }


current map er en Canvas og den bliver repaintet ok
men ingen af paenlerne bliver repaintet
Avatar billede qumle Nybegynder
10. december 2002 - 15:45 #4
efter at jeg har ændret layoutet for dicePanel fra GridLayput til NullLayout virker det.
Forklaring ønskes
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester