Adds server console truncation after 1000 lines of output
All checks were successful
KnarCraft/Minecraft-Server-Launcher/pipeline/head This commit looks good
All checks were successful
KnarCraft/Minecraft-Server-Launcher/pipeline/head This commit looks good
This commit is contained in:
parent
15dd8db31b
commit
fb705f4e13
@ -26,6 +26,7 @@ public class Console extends KeyAdapter implements ActionListener, KeyListener {
|
||||
private final JPanel panel;
|
||||
private final ArrayList<String> commands = new ArrayList<>();
|
||||
private int commandIndex;
|
||||
private final int maxConsoleLines = 1000;
|
||||
|
||||
/**
|
||||
* Instantiates a new console
|
||||
@ -67,9 +68,32 @@ public class Console extends KeyAdapter implements ActionListener, KeyListener {
|
||||
* @param text <p>The string to print</p>
|
||||
*/
|
||||
public void output(String text) {
|
||||
int outputLines = this.textOutput.getLineCount();
|
||||
if (outputLines > maxConsoleLines) {
|
||||
truncateConsole(outputLines);
|
||||
}
|
||||
this.textOutput.setText(this.textOutput.getText() + "\n" + text);
|
||||
}
|
||||
|
||||
/**
|
||||
* Truncates the first 50 lines if the console output has reached the max limit
|
||||
* @param outputLines <p>The currently readable lines in the console output field.</p>
|
||||
*/
|
||||
private void truncateConsole(int outputLines) {
|
||||
String oldText = this.textOutput.getText();
|
||||
String[] oldTextList = oldText.split("\n");
|
||||
for (int i = 0; i < outputLines - maxConsoleLines + 50; i++) {
|
||||
oldTextList[i] = "";
|
||||
}
|
||||
StringBuilder newTextBuilder = new StringBuilder();
|
||||
for (String line : oldTextList) {
|
||||
if (!line.equals("")) {
|
||||
newTextBuilder.append(line);
|
||||
}
|
||||
}
|
||||
this.textOutput.setText(newTextBuilder.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
//Sends the command from the input to the server with the same name.
|
||||
|
Loading…
Reference in New Issue
Block a user