Nano Hash - криптовалюты, майнинг, программирование

(Java) Как я могу одновременно сохранить несколько файлов в Jfilechooser из JList?

Изображение введите здесь описание изображения Цель

Я настраиваю приложение Java для личного использования. Это приложение может создавать множество миди-файлов на Java. Я хотел бы СОХРАНИТЬ много файлов одновременно из Jlist. Я уже мог выбрать много файлов за один раз.

(я уже изменил ниже)

public interface ListSelectionModel { int MULTIPLE_INTERVAL_SELECTION
> = 2; }

Проблемы Я не могу одновременно сохранить много файлов из списка (JList).

Моя идея Боюсь, у меня не очень хорошая идея. Я не силен в Java. Я исследовал эту проблему в Google и книгах. Я ожидаю, что мне нужно использовать код, как показано ниже.

идея(1)

File[] files = getSelectedFiles();

идея(2)

Zip-система

(Оригинальный шнур)

/**
 * Save File Dialog
 */
private class MidiFileChooser extends JFileChooser {
    {
        setFileFilter(new FileNameExtensionFilter("MIDI sequence (*.mid)", "mid"));
    }
    /**
     * Save File Action
     */
    public Action saveMidiFileAction = getModel().new SelectedSequenceAction(
        "Save",
        "Save selected MIDI sequence to file - Save Midi to File"
    ) {
        @Override
        public void actionPerformed(ActionEvent event) {
            PlaylistTableModel playlistModel = getModel();
            SequenceTrackListTableModel sequenceModel = playlistModel.getSelectedSequenceModel();
            String fn = sequenceModel.getFilename();
            if( fn != null && ! fn.isEmpty() ) setSelectedFile(new File(fn));
            if( showSaveDialog((Component)event.getSource()) != JFileChooser.APPROVE_OPTION ) return;
            File f = getSelectedFile();
            if( f.exists() ) {
                fn = f.getName();
                if( ! confirm("Overwrite " + fn + " ?\n" + fn + " is OK?") ) return;
            }
            try ( FileOutputStream out = new FileOutputStream(f) ) {
                out.write(sequenceModel.getMIDIdata());
                sequenceModel.setModified(false);
                playlistModel.fireSequenceModified(sequenceModel, false);
            }
            catch( IOException ex ) {
                ex.printStackTrace();
                showError( ex.getMessage() );
            }
        }
    };

  • Почему бы вам просто не указать каталог и не сохранить свой Midis в каталоге? Вы должны перебрать свой JList и получить объект, который хотите сохранить. Затем вы можете сохранить объект в каталоге, выбранном из JFileChooser 29.01.2018
  • прекрасная картинка кстати 29.01.2018
  • Сохранение файлов напрямую — хорошая идея. Это никогда не приходило мне в голову, я попытаюсь проверить действие, которое генерирует MIDI-файлы. 29.01.2018
  • Если есть другая идея, я хотел бы знать еще что. 29.01.2018

Новые материалы

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

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

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..