Удалите последний знак / строка

Это можно сделать, однако есть несколько вещей, на которые следует обратить внимание:

  1. Не загружать видео с YouTube. Вместо этого рассмотрите возможность использования статического видеофайла (например, https://www.w3schools.com/html/mov_bbb.mp4 , как показано ниже). Это даст вам больший контроль над автоматическим воспроизведением видео (что важно, поскольку по умолчанию элементы управления воспроизведением недоступны)

  2. Вам нужно будет сделать несколько ревизий. к вашему CSS - ключевые изменения, о которых нужно знать, будут следующие правила для вашего элемента video:

    z-index:-1; /* Causes the video to sit behind your heading */
    object-position:center; /* Causes video to be centred against the header */
    object-fit:cover; /* Causes video to cover/stretch to the header */
  1. Чтобы обеспечить автоматическое воспроизведение видео, вы ' Я хочу добавить атрибут muted к элементу видео, чтобы гарантировать, что автозапуск не заблокирован браузером

Вот рабочий фрагмент, чтобы продемонстрировать эти идеи в действии :

* {
  box-sizing: border-box;
}

body {
  background-color: black;
  margin: 5px;
}

header {
  position: fixed;
  font-family: Arial;
  color: white;
  width: 98%;
  margin: 10px;
  border: 1px solid white;
  background-color: black;
  /* Add this */
  text-align: center;
  overflow: hidden;
}

header h1 {
  border: 1px solid black;
  background-color: black;
  padding: 2px;
  font-size: 5.5em;
  font-weight: bold;
  letter-spacing: 11px;
  text-align: center;
  /* Add this */
  display: inline-block;
}


/* Update this */

video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  z-index: -1;
  object-position: center;
  object-fit: cover;
}

  

EMINƎM

5
задан 30 January 2009 в 14:32
поделиться

7 ответов

как насчет:

text.substring(0,text.lastIndexOf('\n'));
6
ответ дан 18 December 2019 в 07:57
поделиться
(...)
FileReader r= new FileReader(filePath);
StringBuilder b=new StringBuilder();
int n=0;
char array[]=new char[1024];
while((n=r.read(array))!=-1) b.append(array,0,n);
r.close();
String content=b.toString();
textArea.setText(content.substring(0,content.lengt()-1);
(...)
4
ответ дан 18 December 2019 в 07:57
поделиться

Другая идея:

boolean firstLine = true;
while ((displayText = br.readLine()) != null) {
    if (firstLine) {
        firstLine = false;
    } else {
        textArea.append("\n");
    }
    textArea.append(displayText);
}

Идея состоит в том, чтобы добавить разрыв строки перед новой строкой для отображения, за исключением первой строки файла.

4
ответ дан 18 December 2019 в 07:57
поделиться

Как насчет

if (textArea.length > 0) textArea.Text = textArea.Text.Substring(0 ,textArea.Text.Length - 1)
1
ответ дан 18 December 2019 в 07:57
поделиться

Самый легкий путь не состоит в том, чтобы использовать BufferedReader.readLine(). Например:

BufferedReader in = new BufferedReader(new FileReader(filePath));
char[] buf = new char[4096];
for (int count = in.read(buf); count != -1; count = in.read(buf)) {
    textArea.append(new String(buf, 0, count));
}

Править

Я должен был видеть это прежде, но намного лучший путь состоит в том, чтобы позволить JTextArea считать файл:

BufferedReader in = new BufferedReader(new FileReader(filePath));
textArea.read(in, null);

Это будет все еще читать в новой строке в конце, но это нормализует все окончания строки в Вашем тексте (см. javadocs для DefaultEditorKit для объяснения того, как окончания строки обрабатываются). Таким образом, можно избавиться от запаздывающей новой строки с чем-то вроде этого:

// line endings are normalized, will always be "\n" regardless of platform
if (textArea.getText().endsWith("\n")) {
    Document doc = ta.getDocument();
    doc.remove(doc.getLength() - 1, 1);
}
2
ответ дан 18 December 2019 в 07:57
поделиться

По-видимому, Вы хотите новую строку между двумя строками, не после каждой строки. Это означает, что у Вас должно быть по крайней мере две строки:

if (d = br.readLine()) != null ) {
    textArea.append(displayText);
    while (d = br.readLine()) != null ) {
        textArea.append( "\n" + displayText);
    }
}

Конечно, это выглядит более сложным. Поэтому 'между' более сложно, чем 'после'.

1
ответ дан 18 December 2019 в 07:57
поделиться

В Вашем цикле:

while ((displayText = br.readLine()) != null) {
    if (textArea.length() > 0)
        textArea.append("\n");
    textArea.append(displayText);
}

т.е. если уже существует некоторый текст в Вашей текстовой области, вставьте новую строку.

1
ответ дан 18 December 2019 в 07:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: