Изменить правой кнопкой мыши всплывающее окно назначения JFXtras

Мой любимый способ прочитать небольшой файл - использовать BufferedReader и StringBuilder. Это очень просто и точно (хотя и не особенно эффективно, но достаточно для большинства случаев):

BufferedReader br = new BufferedReader(new FileReader("file.txt"));
try {
    StringBuilder sb = new StringBuilder();
    String line = br.readLine();

    while (line != null) {
        sb.append(line);
        sb.append(System.lineSeparator());
        line = br.readLine();
    }
    String everything = sb.toString();
} finally {
    br.close();
}

Некоторые отметили, что после Java 7 вы должны использовать try-with-

try(BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
    StringBuilder sb = new StringBuilder();
    String line = br.readLine();

    while (line != null) {
        sb.append(line);
        sb.append(System.lineSeparator());
        line = br.readLine();
    }
    String everything = sb.toString();
}

Когда я читаю строки, подобные этому, я обычно хочу выполнять некоторую обработку строк для каждой строки, поэтому я перехожу к этой реализации.

(т. е. автоматическое закрытие):

try(BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
    StringBuilder sb = new StringBuilder();
    String line = br.readLine();

    while (line != null) {
        sb.append(line);
        sb.append(System.lineSeparator());
        line = br.readLine();
    }
    String everything = sb.toString();
}

/ g5]

Хотя если я хочу просто прочитать файл в String, я всегда использую Apache Commons IO с помощью метода класса IOUtils.toString (). Вы можете посмотреть источник здесь:

http://www.docjar.com/html/api/org/apache/commons/io/IOUtils.java.html

FileInputStream inputStream = new FileInputStream("foo.txt");
try {
    String everything = IOUtils.toString(inputStream);
} finally {
    inputStream.close();
}

И еще проще с Java 7:

try(FileInputStream inputStream = new FileInputStream("foo.txt")) {     
    String everything = IOUtils.toString(inputStream);
    // do something with everything string
}

0
задан fahde96 15 January 2019 в 18:34
поделиться

2 ответа

Вы читали JavaDoc of Agenda?

http://jfxtras.org/doc/8.0/jfxtras-agenda/jfxtras/scene/control/agenda/Agenda.html

Повестка дня имеет всплывающее окно по умолчанию, позволяющее редактировать основные свойства встреч, но, возможно, вы захотите что-то сделать сами. Если это так, вам нужно зарегистрироваться в editAppointmentCallback и открыть свое собственное всплывающее окно. Поскольку Повестка дня не диктует механизм события / обратного вызова при реализации Назначения, она не может быть проинформирована об изменениях в назначении. Поэтому, когда пользовательское редактирование завершено, убедитесь, что повестка дня обновляется, вызывая refresh ().

0
ответ дан tbeernot 15 January 2019 в 18:34
поделиться

Я нашел, как это сделать, я только что добавил этот код:

agenda.setEditAppointmentCallback( (appointment) -> {
        editPopUp();
        return null;
    });

при инициализации повестки дня и editPopUp () вызывает функцию, которая создает всплывающее окно, которое я хотел показать

0
ответ дан fahde96 15 January 2019 в 18:34
поделиться
Другие вопросы по тегам:

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