# LayoutCloseEvent
> Fired after a layout page closes for a player.
`gg.lode.lecternapi.api.event.LayoutCloseEvent`
---
## Signature
```java
public class LayoutCloseEvent extends Event
```
---
## Notes
Not cancellable: by the time it fires the page is already gone, and a close that could be refused
would leave the server and the client disagreeing about what is on screen. Use
`LayoutOpenEvent` to stop a page appearing in the first place.
---
## Variants
| Type | Description |
|---|---|
| `Reason` | Why the page closed. Values: `REQUESTED`, `DEATH`, `DAMAGE`, `REPLACED`, `QUIT` |
---
## Methods
### getPlayer
```java
public Player getPlayer()
```
---
### getPage
```java
public LayoutPage getPage()
```
---
### getReason
```java
public Reason getReason()
```
---
## Example
Clean up when a page goes, and tell apart a player closing it from a player quitting:
```java
@EventHandler
public void onLayoutClose(LayoutCloseEvent event) {
if (!event.getPage().getId().equals("shop")) return;
switch (event.getReason()) {
case REQUESTED, REPLACED -> carts.save(event.getPlayer());
case QUIT -> carts.drop(event.getPlayer());
default -> { }
}
}
```
Not cancellable. By the time it fires the page is already gone.
---
## Related Pages
- [[LayoutOpenEvent]]. Stopping a page before it appears