Toon posts:

[java] Array van Labels?*

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Wij zijn eigenlijk C++ programmeurs, maar voor school moeten wij een klein projectje maken in Java :O Nu zijn wij helaas ontzettende noobs in Java, we kennen er geen bal van.

We hebben in ons programma een array van Labels nodig, als het ff kan 2-dimensionaal. Als iemand ons zou kennen helpen? Zou schitterend zijn, hieronder heb ik de code dat ik bij JApplet.init() heb gevoegd.

Java:
1
2
3
4
5
6
7
8
9
10
11
12
JLabel[][] lblRoll = new JLabel[3][3];
Container c = getContentPane();
        
for (int i = 0; i < 3; i++)
     for (int j = 0; j < 3; j++)
     {
          c.add(lblRoll[i][j]);
                
          lblRoll[i][j].setBounds(144 + (i * 120), 204 + (60 * j), 84, 60);
          lblRoll[i][j].setAlignment(java.awt.Label.CENTER);
          lblRoll[i][j].setBackground(java.awt.Color.white);
      }


Als jullie ons zouden kunnen helpen? We krijgen trouwens een NullPointer Exception (??).

Bedankt alvast!

(2 * R)

[ Voor 4% gewijzigd door D2k op 20-01-2003 14:42 . Reden: codetags ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:42
Hoi.
Welkom op GoT.

P&W is een forum waar er wel wat van je verwacht wordt. Een topic zoals dit: wie kan ons ff helpen, zonder dat je aantoont welke dingen je zelf al geprobeerd hebt, welke moeite je zelf al gedaan hebt om tot een oplossing te komen, worden hier niet echt geapprecieerd.

Wat jij nu wilt, is dat wij die code voor jou ff gaan voorbakken, en daar doen we niet aan mee. Lees dus ff de P&W FAQ en Quickstart, en pas dan je post aan, zodat deze voldoet aan de P&W - regels.

Welkom in P&W (FAQ-28/11/2002)
Welkom in P&W -> Quickstart (update 2/10/2002)

Trouwens, als C++ programmeur, moet je toch makkelijk de stap naar Java kunnen zetten. En als programmeur in 't algemeen, moet je toch ook wel weten wat een null-pointer exception inhoudt.

[ Voor 9% gewijzigd door whoami op 20-01-2003 14:14 ]

https://fgheysels.github.io/


  • nxt
  • Registratie: November 2001
  • Laatst online: 12-06 10:00

nxt

als je nu eens voordat je de label toevoegd aan de container
dat ding eens instantieert

  • johnwoo
  • Registratie: Oktober 1999
  • Laatst online: 24-08 18:20

johnwoo

3S-GTE

Java:
1
JLabel[][] lblRoll = new JLabel[3][3];


Hiermee maak je een array aan van 3 keer 3 JLabels. Je maakt echter nog niet de labels zelf :)
Als eerste statement in je for-loopje (voor de c.add) kun je ze instantieren :)

4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1


Verwijderd

Topicstarter
Als C++ programmeur weet ik inderdaad NIET wat een null-pointer exception is in Java - er zijn zover mij verteld zijn geen pointers IN java dus kan ik er ook geen FOUTEN meej maken. Duidelijk?

Dan de twee aardigere heren erna. Ehm, instantiëren? :) als je zou kunnen laten zien wat dat doet, zou mooi zijn.

Vriendelijke groet,

(2 * R)

Verwijderd

Topicstarter
Oh oh, en in welke package staat getContentPane()? Ik ken em niet vinden, en Container is het niet :(

(2 * R)

Verwijderd

Verwijderd schreef op 20 January 2003 @ 22:46:
Oh oh, en in welke package staat getContentPane()? Ik ken em niet vinden, en Container is het niet :(

(2 * R)
kijk anders eens op java.sun.com, staat heel veel informatie inclusief de javadocs en je kunt zo daar ook makkelijk doorzoeken. Zal denk ik best veel helpen!
Succes

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Verwijderd schreef op 20 January 2003 @ 22:45:
Als C++ programmeur weet ik inderdaad NIET wat een null-pointer exception is in Java - er zijn zover mij verteld zijn geen pointers IN java dus kan ik er ook geen FOUTEN meej maken. Duidelijk?

Dan de twee aardigere heren erna. Ehm, instantiëren? :) als je zou kunnen laten zien wat dat doet, zou mooi zijn.

Vriendelijke groet,

(2 * R)
Vriendelijke groet? Zo vriendelijk vind ik dit helemaal niet. En al zeker niet tegen iemand die veel positiefs bijdraagt aan P&W zoals whoami. Wij houden niet zo van mensen die zo'n toon aanslaan als ze om een gunst komen vragen.

Java heeft wel pointers, maar schermt ze voor je af. Een NULL pointer, dat weet je misschien nog wel van c++, geeft aan dat je iets probeert te benaderen wat nog niet geinstantieerd is of nog nergens heen wijst. Zoals bijvoorbeeld de labels, zoals johnwoo voorsteld.

PS: Houd aub op met je berichten af te sluiten met (2 * R)

[ Voor 6% gewijzigd door LordLarry op 20-01-2003 23:01 ]

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

Verwijderd schreef op 20 January 2003 @ 22:45:
Als C++ programmeur weet ik inderdaad NIET wat een null-pointer exception is in Java - er zijn zover mij verteld zijn geen pointers IN java dus kan ik er ook geen FOUTEN meej maken. Duidelijk?
Je kan WEL nullpointer exceptions krijgen in java, en dat kan alleen als je een object vraagt wat niet bestaat in een array. (Was nog wel iets, maar dat komt niet echt vaak voor) Dus als je ff instantieert dan ben je van het probleem af. En als je niet weet wat instantieren is dan ben je ook niet een echt C++ programmeur, maar een C programmeur

Verwijderd

Verwijderd schreef op 20 January 2003 @ 22:46:
Oh oh, en in welke package staat getContentPane()? Ik ken em niet vinden, en Container is het niet :(
Misschien is een Java boek wat voor je? :P getContentPane zit RootPaneContainer en JFrame natuurlijk. En getContentPane levert een Container op trouwens :p

[ Voor 13% gewijzigd door Verwijderd op 20-01-2003 23:23 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:42
[nohtml]
Verwijderd schreef op 20 January 2003 @ 22:45:
Als C++ programmeur weet ik inderdaad NIET wat een null-pointer exception is in Java - er zijn zover mij verteld zijn geen pointers IN java dus kan ik er ook geen FOUTEN meej maken. Duidelijk?
Als je naar een stuk geheugen verwijst dat niet gereserveerd is, dan krijg je een null pointer exception.

Java:
1
2
MyClass a;
a.DoeIets();

Zal in Java een nullpointer exception opleveren.
Doe je dat in C++, zal dat geen null-pointer exception opleveren aangezien je dan (in C++ dus) een object op de stack creeërt. Als je echter dit doet in C++:
code:
1
2
MyClass* a;
a->DoeIets();

Zal dat ook een nullpointer exceptie opleveren.

Je moet dus het stuk geheugen nog reserveren:
code:
1
a = new MyClass();

Aangezien in Java objecten op de heap gecreeërd worden, moet je dus ook dat stuk geheugen gaan alloceren.

Duidelijk?

https://fgheysels.github.io/


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Verwijderd schreef op 20 January 2003 @ 22:45:
Als C++ programmeur weet ik inderdaad NIET wat een null-pointer exception is in Java - er zijn zover mij verteld zijn geen pointers IN java dus kan ik er ook geen FOUTEN meej maken. Duidelijk?

Dan de twee aardigere heren erna. Ehm, instantiëren? :) als je zou kunnen laten zien wat dat doet, zou mooi zijn.

Vriendelijke groet,

(2 * R)
Java heeft alleen maar pointers :) (alleen niet voor primitieve types) Een javadeclaratie:
String s = ...;
is hetzelfde als in c++
String *s;

Een nullpointerexception (had je eigelijk zelf ook kunnen bedenken als c++ programmeur) is een aanroep op een variable die naar null wijst.

En verder niet zo denigrerend over Java. Daarmee krijg je niet veel antwoorden en laat eigelijk zien dat je vrij beperkt bent in je kennis.

[ Voor 3% gewijzigd door Alarmnummer op 21-01-2003 09:23 ]


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
[Nog maar eens herhalen]
Zoals Alarmnummer zegt is het verkrijgen van een NullPointerException een RuntimeException (Unchecked dus) die je verkrijgt bij het dereferencen van een pointer die naar 0 wijst.

Maar Java bevat toch geen pointers? Jawel, maar niet de bijbehorende C(++) pointer aritmitiek van het direct wijzigen van geheugen adressen, aftrekken van pointers van gelijke types ed.

Maar hoe kan jij dat nou weten. Nou ik hoop dat je als C++ programmeur _enig_ benul hebt wat de new operator doet. New retourneerd een geheugenadres en stopt dit adres in een pointer van een bepaald type (eventueel een ruimer type)
[/Nog maar eens herhalen]

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
het enige rottige aan Java zijn de native types: int en zo. Is eigenlijk een breuk in het concept (C# doet het dan wel beter). Maar als je een NullPointerException krijgt is dat idd onduidelijk voor mensen die niet weten dat Java idd niets dan pointer majic is.

en werken met Swing is ook niet evident aangezien er hier en daar inconsistencies zijn. en aangezien je met swing werkt zou ik toch aanraden met LayoutManager's te werken...
Pagina: 1