/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Problem med Container
Fra : Jacob Bunk Nielsen


Dato : 03-07-01 00:41

Hej

Jeg har ikke kodet så meget grafisk Java før, og nu har jeg så et
problem. Jeg håber der er nogen der lige kan se lyset

Kort fortalt, så har jeg en klasse der ser således ud:

class PlotCanvas extends Canvas {

public void paint(Graphics g) {
// en masse indhold her ...
}

// nogle funktioner her.
}

Når jeg så opretter en instans af den klasse og add'er den til en
java.awt.Frame går det fint og man kan kalde de funktioner der ligger
i PlotCanvas-klassen, og den tegner så nogle ting som den skal.

Nu vil jeg bare gerne lægge den ned i et JSplitPane, og så sker der
lige pludselig ikke en brik når man prøver at få den til at tegne
noget.

Jeg har prøvet at lave en anden test, som ser således ud:

public class PlotTest extends Frame implements ActionListener {

// diverse indledning

   thePlotCanvas = new PlotCanvas();

// virker, men kan ikke bruges
// add(thePlotCanvas);

// virker ikke
plot = new Panel();
plot.add(thePlotCanvas);
add(plot);

// noget mere, hvor den prøver at tegne og noget ActionListener...
}

Altså ser det ud til at det bare ikke virker når mit PlotCanvas-objekt
bliver pakker ind i et Panel eller JSPlitPane. Hvad overser jeg?

Hvis nogen skulle have lyst til at prøve, så ligger de nødvendige
filer for at kunne compile PlotTest på <http://www.bunk.cc/canvas/>.

--
Jacob
Calm down. It's only ones and zeros.

http://www.bunk.cc - nu med Emacs effekt

 
 
Lars Dam (03-07-2001)
Kommentar
Fra : Lars Dam


Dato : 03-07-01 08:26

On 03 Jul 2001 01:41:29 +0200, Jacob Bunk Nielsen <spam@bunk.cc>
wrote:

>Hej
>
>Jeg har ikke kodet så meget grafisk Java før, og nu har jeg så et
>problem. Jeg håber der er nogen der lige kan se lyset
>
>Kort fortalt, så har jeg en klasse der ser således ud:
>
>class PlotCanvas extends Canvas {
>
> public void paint(Graphics g) {
> // en masse indhold her ...
> }
>
> // nogle funktioner her.
>}
>
>Når jeg så opretter en instans af den klasse og add'er den til en
>java.awt.Frame går det fint og man kan kalde de funktioner der ligger
>i PlotCanvas-klassen, og den tegner så nogle ting som den skal.
>
>Nu vil jeg bare gerne lægge den ned i et JSplitPane, og så sker der
>lige pludselig ikke en brik når man prøver at få den til at tegne
>noget.

Det er ikke smart at blande standard awt komponenter sammen med Swing
komponenter.

Brug et JPanel istedet for Canvas, check dokumentationen for
paintComponent() (istedet for paint()), samt husk at brug
setTop/Left/Right/BottomComponent i JSplitPane, istedet for at add()
til det.


>Jeg har prøvet at lave en anden test, som ser således ud:
>
>public class PlotTest extends Frame implements ActionListener {
>
> // diverse indledning
>
>   thePlotCanvas = new PlotCanvas();
>
> // virker, men kan ikke bruges
> // add(thePlotCanvas);
>
> // virker ikke
> plot = new Panel();
> plot.add(thePlotCanvas);
> add(plot);
>
> // noget mere, hvor den prøver at tegne og noget ActionListener...
>}
>
>Altså ser det ud til at det bare ikke virker når mit PlotCanvas-objekt
>bliver pakker ind i et Panel eller JSPlitPane. Hvad overser jeg?

Måske er størrelsen på dit canvas (0,0)?

>Hvis nogen skulle have lyst til at prøve, så ligger de nødvendige
>filer for at kunne compile PlotTest på <http://www.bunk.cc/canvas/>.

For doven

vh. ld
--
"Time is the fire in which we burn"

Jacob Bunk Nielsen (03-07-2001)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 03-07-01 13:24

Lars Dam <lars_simple_spam_protection_dam@post2.tele.dk> writes:

> Det er ikke smart at blande standard awt komponenter sammen med Swing
> komponenter.

Sikkert ikke. Sandheden er at det er til en opgave jeg laver sammen
med en ven, hvor han så har kodet den del af det, og derefter taget på
ferie (det var aftalt). Jeg nåede så ikke rigtigt at få det testet
inden han tog afsted, og nu stod jeg så med håret i postkassen.

Men nu lader det til at virke. Jeg siger mange tak for hjælpen!

> >Hvis nogen skulle have lyst til at prøve, så ligger de nødvendige
> >filer for at kunne compile PlotTest på <http://www.bunk.cc/canvas/>.
>
> For doven

Jeg kender det ... det er bare i orden

--
Jacob
Computer Lie #1: You'll never use all that disk space.

http://www.bunk.cc - nu med Emacs effekt

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste