Class Size
- All Implemented Interfaces:
Sized
The Size class encapsulates the dimensions of a terminal screen, providing methods to get the number of rows and columns. Terminal dimensions are used for various operations such as cursor positioning, screen clearing, and text layout calculations.
Prefer the of(int, int) or of(Sized) factory methods to create
new instances. The mutating methods (setColumns(int), setRows(int), copy(org.jline.terminal.Size))
are deprecated and will be removed in a future major version.
Terminal dimensions are typically measured in character cells, where:
- Columns - The number of character cells in each row (width)
- Rows - The number of character cells in each column (height)
Size objects are typically obtained from a Terminal using Terminal.getSize(),
and can be used to adjust display formatting or to set the terminal size using
Terminal.setSize(Sized).
Example usage:
Terminal terminal = TerminalBuilder.terminal();
// Get current terminal size
Size size = terminal.getSize();
System.out.println("Terminal dimensions: " + size.getColumns() + "x" + size.getRows());
// Create a new size and set it
Size newSize = Size.of(80, 24);
terminal.setSize(newSize);
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidDeprecated.Useof(Sized)to create a new instance instead.voidDeprecated.Useof(Sized)to create a new instance instead.intcursorPos(int row, int col) A cursor position combines a row number with a column position.booleanCompares this Size object with another object for equality.intReturns the number of columns (width) in this terminal size.intgetRows()Returns the number of rows (height) in this terminal size.inthashCode()Returns a hash code for this Size object.static Sizeof(int columns, int rows) Creates a new Size with the specified number of columns and rows.static SizeCreates a new Size with the same columns and rows as the given source.voidsetColumns(int columns) Deprecated.Useof(int, int)to create a new instance instead.voidsetRows(int rows) Deprecated.Useof(int, int)to create a new instance instead.toString()Returns a string representation of this Size object.
-
Constructor Details
-
Size
Deprecated.Useof(int, int)instead.Creates a new Size instance with default dimensions (0 rows and 0 columns). -
Size
Deprecated.Useof(int, int)instead.Constructs a Size with the specified number of columns and rows.- Parameters:
columns- the number of columns (width)rows- the number of rows (height)
-
Size
Deprecated.Useof(Sized)instead.Constructs a new Size with the same columns and rows as the given size.- Parameters:
sized- the source Size from which to copy columns and rows
-
-
Method Details
-
of
Creates a new Size with the specified number of columns and rows.- Parameters:
columns- the number of columns (width)rows- the number of rows (height)- Returns:
- a new Size instance
-
of
-
getColumns
public int getColumns()Returns the number of columns (width) in this terminal size.- Specified by:
getColumnsin interfaceSized- Returns:
- the number of columns
-
setColumns
Deprecated.Useof(int, int)to create a new instance instead.Sets the number of columns (width) for this terminal size.- Parameters:
columns- the number of columns to set
-
getRows
-
setRows
Deprecated.Useof(int, int)to create a new instance instead.Sets the number of rows (height) for this terminal size.- Parameters:
rows- the number of rows to set
-
cursorPos
public int cursorPos(int row, int col) A cursor position combines a row number with a column position.Note each row has
col+1different column positions, including the right margin.- Parameters:
row- the new rowcol- the new column- Returns:
- the cursor position
-
copy
Deprecated.Useof(Sized)to create a new instance instead.Copies the dimensions from another Size object to this one.- Parameters:
size- the Size object to copy dimensions from
-
copy
Deprecated.Useof(Sized)to create a new instance instead.Copies the dimensions from another Sized object to this one.- Parameters:
size- the Sized object to copy dimensions from
-
equals
Compares this Size object with another object for equality.Two Size objects are considered equal if they have the same number of rows and columns.
-
hashCode
-
toString
-
of(int, int)instead.