+ }, es).whenCompleteAsync((ret, ex) -> {
+ labelToolProgress.setText("Information parse Complete.");
+ if(ex != null) {
+ logger.error("Exception was thrown during concurrent process", ex);
+ CrashHandler handle = new CrashHandler(new IllegalStateException(ex));
+ handle.execute();
+ }
+ }, es);
+ });
+ tabbedPane.addTab("Main", null, panelMain, null);
+ contentPane.add(tabbedPane, "name_307238585319500");
+
+ panelInfo = new JPanel();
+ tabbedPane.addTab("SongInfo", null, panelInfo, null);
+ panelInfo.setLayout(new BorderLayout(0, 0));
+
+ panelNorthTool = new JPanel();
+ panelInfo.add(panelNorthTool, BorderLayout.NORTH);
+ panelNorthTool.setLayout(new FormLayout(new ColumnSpec[] {
+ ColumnSpec.decode("center:max(524dlu;default)"),
+ FormSpecs.RELATED_GAP_COLSPEC,
+ ColumnSpec.decode("max(30dlu;default)"),},
+ new RowSpec[] {
+ RowSpec.decode("max(16dlu;default)"),}));
+
+ labelSubToolTitle = new JLabel("楽曲情報");
+ labelSubToolTitle.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 16));
+ panelNorthTool.add(labelSubToolTitle, "1, 1");
+
+ labelVersionTool = new JLabel(CheckVersion.getVersion());
+ labelVersionTool.setFont(new Font("SansSerif", Font.BOLD, 12));
+ panelNorthTool.add(labelVersionTool, "3, 1");
+
+ panelCenterTool = new JPanel();
+ panelInfo.add(panelCenterTool, BorderLayout.CENTER);
+ panelCenterTool.setLayout(new FormLayout(new ColumnSpec[] {
+ FormSpecs.RELATED_GAP_COLSPEC,
+ ColumnSpec.decode("max(40dlu;default)"),
+ FormSpecs.RELATED_GAP_COLSPEC,
+ ColumnSpec.decode("10dlu"),
+ FormSpecs.RELATED_GAP_COLSPEC,
+ ColumnSpec.decode("10dlu"),
+ FormSpecs.RELATED_GAP_COLSPEC,
+ ColumnSpec.decode("max(12dlu;default)"),
+ FormSpecs.RELATED_GAP_COLSPEC,
+ ColumnSpec.decode("max(90dlu;default)"),
+ FormSpecs.RELATED_GAP_COLSPEC,
+ ColumnSpec.decode("max(14dlu;default)"),
+ FormSpecs.RELATED_GAP_COLSPEC,
+ FormSpecs.RELATED_GAP_COLSPEC,
+ ColumnSpec.decode("max(14dlu;default)"),
+ FormSpecs.RELATED_GAP_COLSPEC,
+ ColumnSpec.decode("max(90dlu;default)"),
+ FormSpecs.RELATED_GAP_COLSPEC,
+ FormSpecs.DEFAULT_COLSPEC,
+ FormSpecs.RELATED_GAP_COLSPEC,
+ FormSpecs.DEFAULT_COLSPEC,
+ FormSpecs.RELATED_GAP_COLSPEC,
+ FormSpecs.DEFAULT_COLSPEC,
+ FormSpecs.RELATED_GAP_COLSPEC,
+ ColumnSpec.decode("max(90dlu;default)"),},
+ new RowSpec[] {
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,
+ FormSpecs.RELATED_GAP_ROWSPEC,
+ FormSpecs.DEFAULT_ROWSPEC,}));
+
+ labelInfoPlaySongs = new JLabel(Messages.MSGInfoPlayedSongs.toString());
+ labelInfoPlaySongs.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelInfoPlaySongs, "2, 2, center, default");
+
+ labelSongNameToolTitle = new JLabel(Messages.MSGInfoSongName.toString());
+ labelSongNameToolTitle.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelSongNameToolTitle, "2, 6, center, default");
+
+ labelSongNameToolTip = new JLabel(Messages.MSGInfoWait.toString());
+ labelSongNameToolTip.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelSongNameToolTip, "10, 6, center, default");
+
+ labelLyricToolTitle = new JLabel(Messages.MSGInfoLyricsBy.toString());
+ labelLyricToolTitle.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelLyricToolTitle, "17, 6, center, default");
+
+ labelLyricToolTip = new JLabel(Messages.MSGInfoWait.toString());
+ labelLyricToolTip.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelLyricToolTip, "25, 6, center, default");
+
+ labelAttributeToolTitle = new JLabel(Messages.MSGInfoSongAttribute.toString());
+ labelAttributeToolTitle.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelAttributeToolTitle, "2, 10, center, default");
+
+ labelAttributeToolTip = new JLabel(Messages.MSGInfoWait.toString());
+ labelAttributeToolTip.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelAttributeToolTip, "10, 10, center, default");
+
+ labelComposerToolTitle = new JLabel(Messages.MSGInfoComposedBy.toString());
+ labelComposerToolTitle.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelComposerToolTitle, "17, 10, center, default");
+
+ labelComposerToolTip = new JLabel(Messages.MSGInfoWait.toString());
+ labelComposerToolTip.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelComposerToolTip, "25, 10, center, default");
+
+ labelDifficultyToolTitle = new JLabel(Messages.MSGInfoSongDifficulty.toString());
+ labelDifficultyToolTitle.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelDifficultyToolTitle, "2, 14, center, default");
+
+ labelDifficultyToolTip = new JLabel(Messages.MSGInfoWait.toString());
+ labelDifficultyToolTip.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelDifficultyToolTip, "10, 14, center, default");
+
+ labelArrangeToolTitle = new JLabel(Messages.MSGInfoArrangedBy.toString());
+ labelArrangeToolTitle.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelArrangeToolTitle, "17, 14, center, default");
+
+ labelArrangeToolTip = new JLabel(Messages.MSGInfoWait.toString());
+ labelArrangeToolTip.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelArrangeToolTip, "25, 14, center, default");
+
+ labelLevelToolTitle = new JLabel(Messages.MSGInfoSongLevel.toString());
+ labelLevelToolTitle.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelLevelToolTitle, "2, 18, center, default");
+
+ labelLevelToolTip = new JLabel(Messages.MSGInfoWait.toString());
+ labelLevelToolTip.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelLevelToolTip, "10, 18, center, default");
+
+ labelMemberToolTitle = new JLabel(Messages.MSGInfoMember.toString());
+ labelMemberToolTitle.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelMemberToolTitle, "17, 18, center, default");
+
+ labelMemberToolTip = new JLabel(Messages.MSGInfoWait.toString());
+ labelMemberToolTip.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelMemberToolTip, "25, 18, center, default");
+
+ labelNotesToolTitle = new JLabel(Messages.MSGInfoSongNotes.toString());
+ labelNotesToolTitle.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelNotesToolTitle, "2, 22, center, default");
+
+ labelNotesToolTip = new JLabel(Messages.MSGInfoWait.toString());
+ labelNotesToolTip.setFont(new Font("UD デジタル 教科書体 NP-B", Font.PLAIN, 12));
+ panelCenterTool.add(labelNotesToolTip, "10, 22, center, default");
+
+ btnNextSongTool = new JButton("next");
+ btnNextSongTool.addActionListener(e -> {
+ CompletableFuture.runAsync(() -> {
+ int currentIndex = Integer.parseInt(labelCurrentSongOrderTool.getText()) - 1;
+ if(currentIndex != property.getSongLimit() - 1) {
+ Song nextSong = toolIntegrateList.get(currentIndex + 1);
+ logger.info("currently : {} Next: {}", currentIndex + 1, currentIndex + 2);
+ logger.info("nextSong: {}", nextSong);
+ Map<String, String> fetchMap = new HashMap<>();
+ for(Map<String, String> tmpMap : listToolMapData) {
+ String normalizeApiName = Normalizer.normalize(tmpMap.get("songname").toString(), Normalizer.Form.NFKD);
+ String normalizeLocalName = Normalizer.normalize(nextSong.getName(), Normalizer.Form.NFKD);
+ if(normalizeApiName.equals(normalizeLocalName)) {
+ fetchMap = tmpMap;
+ break;
+ }