/** * Die einzelnen Teile im Reiter "Teile" aus Song laden und darstellen * * @param song */ private void resetTeile() { for (int i = 0; i < song.getTeile().size(); i++) { TaktSchemaTeil teil = (TaktSchemaTeil) song.getTeile().elementAt(i); PanelReiter2SchemaTeil pteil = new PanelReiter2SchemaTeil(i, teil); this.add(pteil); } Kommentar komm = song.getSchema().getKommentar(); PanelReiterKommentar pKomm = new PanelReiterKommentar(this, komm); this.add(pKomm); this.repaint(); }
/** * hinzufügen eines neuen Teils * * @param neuerTeil * @param istObenUnten * @param teilAltIndex */ public void neuerTeil(TaktSchemaTeil neuerTeil, int istObenUnten, int teilAltIndex) { if (song.getTeile().size() >= 6) return; int index = teilAltIndex; if (istObenUnten == 2) index++; this.removeAll(); song.getTeile().insertElementAt(neuerTeil, index); SwingUtilities.invokeLater( new Runnable() { public void run() { resetTeile(); resetSong(); } }); }
/** * löschen eines Teils; min. ein Teil bleibt erhalten * * @param loeschTeil * @param teilAltIndex */ public void loescheTeil(TaktSchemaTeil loeschTeil, int teilAltIndex) { if (song.getTeile().size() <= 1) // min. ein Teil muss erhalten bleiben return; this.removeAll(); song.getTeile().remove(teilAltIndex); song.getSchema().removeTaktSchemaTeil(loeschTeil); SwingUtilities.invokeLater( new Runnable() { public void run() { resetTeile(); resetSong(); ((AChordFrame) SwingUtilities.windowForComponent(PanelReiter2Schema.this)) .setAkkordVonAussen(); } }); }