Задать вопрос
  • Как показать уведомление с анимацией без перезагрузки встраницы после сохранения формы в Spring Boot?

    @postya Автор вопроса
    Нашёл библиотеку Toastr, всё работает так, как надо.
    Вот ,что имею на выходе:

    Метод,который сохраняет поля в БД:

    @PostMapping("/sketches/add")
        public String addSketch(
                                @Valid Sketch sketch,
                                BindingResult result,
                                RedirectAttributes redirectAttributes) {
    
            redirectAttributes.addFlashAttribute("action", "save");
            if (result.hasErrors()) {
                return "admin/add-sketch";
            }
           sketchRepository.save(sketch);
            return "redirect:/admin/sketches/add";
        }


    Подключение бибилотеки Toastr в html файле:

    <link rel="stylesheet" th:href="@{/libs/toastr/toastr.min.css}">
    
        <script th:src="@{/libs/jquery/jquery-3.4.1.min.js}"></script>
        <script defer th:src="@{/libs/toastr/toastr.min.js}"></script>
        <script defer th:src="@{/js/add-sketch.js}"></script>


    Настройки для библиотеки Toastr в отдельном файле add-sketch.js:

    /*TOASTR OPTIONS*/
    toastr.options = {
        "closeButton": false,
        "debug": false,
        "newestOnTop": false,
        "progressBar": false,
        "positionClass": "toast-bottom-right",
        "preventDuplicates": false,
        "onclick": null,
        "showDuration": "300",
        "hideDuration": "1000",
        "timeOut": "2000",
        "extendedTimeOut": "1000",
        "showEasing": "swing",
        "hideEasing": "linear",
        "showMethod": "fadeIn",
        "hideMethod": "fadeOut"
    };


    Вызов скрипта библиотеки в конце html файла:

    <script th:inline="javascript">
        $(document).ready(function () {
            var action = [[${action}]];
            if (action === 'save') {
                toastr["success"]("Success!")
            }
        });
    </script>
    Ответ написан
    Комментировать
  • Как подставить класс в Thymeleaf?

    @postya Автор вопроса
    Пока нашёл такое решение:

    Добавил ещё один url для редиректа в контроллере:

    @GetMapping("/home")
        public String home() {
            return "home";
        }
    
        @GetMapping("/")
        public String homePage() {
            return "forward:/home";
        }


    <ul class="header-links">
                <li th:class="${#httpServletRequest.requestURI.contains('/home')} ? 'link-active' : 'link-inactive'"><a th:href="@{/home}">Home</a></li>
                <li><a href="https://github.com/tttapa/Control-Surface" target="_blank">Get Library<i class="fab fa-github"></i></a></li>
                <li th:class="${#httpServletRequest.requestURI.contains('/examples')} ? 'link-active' : 'link-inactive'"><a th:href="@{/examples}">Sketch Examples</a></li>
                <li th:class="${#httpServletRequest.requestURI.contains('/tutorials')} ? 'link-active' : 'link-inactive'"><a th:href="@{/tutorials}">Video Tutorials</a></li>
            </ul>
    Ответ написан
    Комментировать
  • Как считать файл в Java?

    @postya
    Попробуйте прописать не относительный путь к файлу ,а абсолютный

    "C:\\Temp\\your directory"

    Если OS Windows, путь к файлу можно скопировать так: зажмите shift и правой кнопкой мыши по файлу, в списке будет скопировать путь как текст
    Ответ написан
  • Как получить номер rowid из Sqlite?

    @postya Автор вопроса
    Решение найдено!

    после того, как делаю манипуляции с данными в sqlite запускаю метод, который, будет делать следующий запрос:

    UPDATE category1 SET ID = rowid;

    этот запрос берёт все значения поля ID на всех строках и присваивает им значения из rowid, это специальное поле, которое назанчено по умолчанию и хранит все номера строк последовательно.

    Только, если мне нужно удалить запись, перед этим запросом, нужно ещё сделать запрос vacuum;

    результатом я доволен)
    Ответ написан
    Комментировать
  • Как создать инсталятор для WPF приложения?

    @postya Автор вопроса
    Я использовал Inno Setup. в папке Release/bin есть файл ToolkitsNew.exe.config в нем хранятся станлдартные настройки Visua Studio. Файл с пользовательскими настройками программы хранился в на компьютере в другом месте: Username/AppData/Local/Toolkits/../user.config я скопировал эти настройки из этого файла и вставил их в файл ToolkitsNew.exe.config, затем добавил этот файл вместе со всеми папками(images, fonts, etc..) в инсталятор Inno Setup и псоле установки программы все заработало!
    Ответ написан
    Комментировать
  • Как сделать binding текста из textbox в label?

    @postya Автор вопроса
    Всё оказалось значительно проще)

    в xaml второго окна есть специальный метод при изменении текста:
    <TextBox x:Name="CategoryText"    
     TextChanged="ChangeText"
     Style="{StaticResource CategoryTextBox}" />


    в коде этого второго окна прописал этот метод:

    public partial class FontWindow : Window
        {
             private MainWindow window;
    
            public FontWindow(MainWindow mainWindow)
            {
                InitializeComponent();
                window = mainWindow;
                
            }
    
           private void ChangeText(object sender, TextChangedEventArgs e)
            {
                TextBox tb = sender as TextBox;
                    window.CategoryLabel1.Content = tb.Text;
            }
    }
    Ответ написан
    Комментировать
  • Стоит ли учить С# + WPF ради одного приложения?

    @postya Автор вопроса
    JavaFX я изначально выбирал потому как Java мой первый язык и я на тот момент понятия не имел о существовании С# и WPF. Видимо я изначально не правильно выбрал технологии для написания десктоп программы под Windows. Пойду изучать C# =)
    Благо время есть для этого дела.Всем спасибо за комментарии)
    Ответ написан
    Комментировать
  • Как настроить в Spring Boot автоинкрементацию id в таблице PostgreSql с очисткой удаленных id?

    @postya Автор вопроса
    Благодарю всех ответивших на мой вопрос!
    Решение нашёл такое:

    Моя таблица в thymeleaf выглядит вот так:

    <table class="table table-bordered table-dark">
    
            </thead>
            <tbody>
                <tr>
                    <th scope="col" >ID</th>
                    <th scope="col">First Name</th>
                    <th scope="col">Last Name</th>
                    <th scope="col">Gender</th>
                    <th scope="col">Email</th>
                    <th scope="col">Section</th>
                    <th scope="col">Country</th>
                    <th scope="col">Edit</th>
                    <th scope="col">Delete</th>
                </tr>
    
                <tr th:each="student, iStat : ${list}">
                    <td th:text="${iStat.index + 1}"></td>
                    <td th:text="${student.firstName}"></td>
                    <td th:text="${student.lastName}"></td>
                    <td th:text="${student.gender}"></td>
                    <td th:text="${student.email}"></td>
                    <td th:text="${student.section}"></td>
                    <td th:text="${student.country}"></td>
    
                    <td><a th:href="@{'/editstudent/' + ${student.id}}">Edit</a></td>
                    <td><a th:href="@{'/deletestudent/' + ${student.id}}">Delete</a></td>
                </tr>
    
            </tbody>
        </table>


    Я всего лишь изменил в шаблонизаторе thymeleaf две строчки, было так:

    <tr th:each="student : ${list}">
                    <td th:text="${student.id}"></td>


    стало так:

    <tr th:each="student, iStat : ${list}">
                    <td th:text="${iStat.index + 1}"></td>
    Ответ написан
    Комментировать
  • Как применить background color к лейблу из файла properties в Java программе?

    @postya Автор вопроса
    Решение найдено!

    private void readPropertiesFile() {
    
    File file = new File("config.properties");
          FileInputStream fileInput = new FileInputStream(file);
          Properties properties = new Properties();
          properties.load(fileInput);
          fileInput.close();
    
          String colorCategory1 = properties.getProperty("categoryColor1");
          Color c1 = Color.web(colorCategory1);
    
          Background bg1 = new Background(new BackgroundFill(c1, null, null));
    
          category1.setBackground(bg1);
    }
    Ответ написан
    Комментировать