Janus wrote:
> Thomas Bendsen wrote:
>
>> Janus wrote:
>>
>>> Hej NG!
>>> Har lige siddet og lavet en lille tegning vha Graphics2D'et fra et
>>> JPanel. På dette JPanel har jeg sat setPrederredSize(800,600) og er
>>> add'et til en JFrames BorderLayoutManager i CENTER-placeringen.
>>>
>>> Tegningen virker fint nok, men hvis jeg åbner et eller andet program,
>>> der så skjuler min tegning, bliver den ikke re-rendereret, når det
>>> overliggende vindue lukkes eller flyttes. Altså, ingen automatisk
>>> repaint.
>>>
>>> Hvordan klarer jeg dette problem?
>>>
>>> Pft Janus
>>>
>> Hej Janus
>>
>> Så vidt jeg husker burde det altså fungere uden at du skal bekymre dig
>> om det. Hvilken metode benytter du til at tegne i? I Swing er det
>> eneste korrekte at overskrive metoden
>> "protected void paintComponent(Graphics g)".
>>
>> Hvis du f.eks. har overskrevet metoden "paint(graphics g)" som man
>> vist nok skulle gøre i AWT så kan det måske give din fejl.
>>
>> Hvis det ikke løser dit problem så prøv at skrive igen, evt. med noget
>> kode.
>>
>> Med venlig hilsen
>> Thomas Bendsen
>
>
> Tja, noget i stil med:
>
> JFrame frame = new JFrame(new BorderLayout());
> JPanel panel = new JPanel();
> panel.setPreferredSize(800,600);
> frame.getContentPane().add(panel);
>
> Graphics2D g2d = (Graphics2D)panel.getGraphics();
>
> g2d.drawLine(0, 0, 300, 300);
>
>
> -det går ganske fint... indtil føromtalte situation opstår, hvilket jo
> sker ret tit.
>
> Vh Janus
>
Men pænt snedigt at extende JPanel og så ellers køre smøren af i
paintComponent ... i hvert virker det efter hensigten nu, tak.
Well, en rask søgning på key words "drawing jpanel" på Google gav også
svaret på første hit.. anyways, tak tak! :)
Vh Janus
--
Kids, try this at home:
http://www.legendsrpg.net/index.php?refid=799