Skip to content

Paginated Pane (Dutch)

stefvanschie edited this page Dec 19, 2022 · 3 revisions

Talen: Engels (English)

Paginated Pane is iets anders dan de andere panelen, omdat deze andere panelen neemt in plaats van items zoals het geval is met Static Pane en Outline Pane. Dit paneel, zoals de naam suggereert, kan je gebruiken om meerdere pagina's te hebben en door deze heen te bladeren. Dit is handig voor lijsten die de maximum grootte van een GUI mogen overschrijden.

Om een Paginated Pane te maken kan je de constructor hiervoor aanroepen.

PaginatedPane paneel = new PaginatedPane(0, 0, 9, 6);

Om deze panelen toe te voegen aan de pagina's kan je addPane aanroepen.

paneel.addPane(0, anderPaneel);

Hier is 0 de pagina (pagina's zijn nul-geïndexeerd) en het paneel dat je wilt toevoegen (in dit geval anderPaneel). Pagina's hoeven niet per se op volgorde te zijn: je kan een vijfde pagina toevoegen (index vier) zonder een vierde pagina te hebben (index drie) of je kan negatieve pagina's hebben zoals -1, -2, etc. maar dit wordt afgeraden. Wat je kan doen is meerdere panelen toevoegen aan dezelfde pagina. Als je dezelfde code weer aanroept, maar met een ander paneel zal dit paneel worden toegevoegd aan het paneel dat je al had.

Als je het paneel in een nieuwe pagina wilt plaatsen kan je gebruik maken van addPage. Dit plaatst het paneel automatisch op een nieuwe pagina, direct na de laatste pagina.

paneel.addPage(anderPaneel);

Panelen zijn relatief aan het paneel erboven, dus als je de Paginated Pane positioneerd op positie (1,1) en een paneel toevoegt op positie (0,0) zal het paneel uiteindelijk op positie (1,1) komen.

Je kan ook de pagina die het paneel moet tonen veranderen door setPage aan te roepen.

paneel.setPage(1);

Het veranderen van de pagina zorgt er echter niet voor dat de GUI automatisch wordt bijgewerkt. Om dit te doen moet je de GUI als volgt updaten:

gui.update();

Als je geen controle nodig hebt over de specifieke panelen in elke pagina kan je gebruik maken van de populateWithItemStacks en populateWithNames functies. De populateWithItemStacks functie vult het volledige paneel met de items en voegt pagina's toe zodra ze nodig zijn. De populateWithNames functie vult het hele paneel met hetzelfde materiaal, maar voegt de specifieke naam aan elke ItemStack toe zoals in de lijst. Het vult het paneel met hetzelfde aantal items als dat er in de lijst is.

XML

Alles dat is laten zien op Panes kan ook gebruikt worden op Paginated Pane.

De elementnaam voor een Paginated Pane is paginatedpane dus gebruik dat wanneer je een Paginated Pane in je XML-bestand wilt.

<paginatedpane x="0" y="0" length="9" height="6"/>

Om een pagina toe te voegen aan het paneel voeg je eerst het element page toe.

<paginatedpane x="0" y="0" length="9" height="6">
  <page/>
</paginatedpane>

In deze pagina kan je de panelen toevoegen die je wilt.

<paginatedpane x="0" y="0" length="9" height="6">
  <page>
    <staticpane x="0" y="0" length="9" height="6"/>
  </page>
</paginatedpane>

Je kan natuurlijk ook meerdere pagina's hebben.

<paginatedpane x="0" y="0" length="9" height="6">
  <page>
    <staticpane x="0" y="0" length="9" height="6"/>
  </page>
  <page>
    <outlinepane x="0" y="0" length="9" height="6"/>
  </page>
</paginatedpane>

Houd er rekening mee dat de eerste pagina die je toevoegt pagina nul is, dan de pagina daarna is pagina één, etc. Je kan geen pagina's overslaan of negatieve pagina's hebben wanneer je met XML werkt.

Clone this wiki locally