package AppPackage; //All code is added to create the widget. Follow the "Create a Widget" tutorial if you want to know how I did it. import com.sun.org.apache.xpath.internal.operations.Bool; import java.awt.Desktop; import java.awt.Toolkit; import java.io.File; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.Timer; import java.awt.event.*; import javafx.scene.paint.Color; import javax.swing.Icon; import javax.swing.ImageIcon; import static java.lang.Math.toIntExact; import static java.lang.String.valueOf; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.UnsupportedAudioFileException; import javax.swing.JLabel; import javax.swing.text.html.HTML.Tag; import org.jaudiotagger.audio.AudioFile; import org.jaudiotagger.audio.*; import org.jaudiotagger.audio.exceptions.CannotReadException; import org.jaudiotagger.audio.exceptions.InvalidAudioFrameException; import org.jaudiotagger.audio.exceptions.ReadOnlyFileException; import org.jaudiotagger.tag.TagException; import java.awt.Graphics; import java.awt.Panel; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.OutputStreamWriter; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JPanel; import javax.swing.JScrollPane; public class MP3PlayerGUI extends javax.swing.JDialog { JLabel[] Show = new JLabel[16]; JButton[] Stars = new JButton[10]; JButton[] Hearts = new JButton[10]; JButton[] Circles = new JButton[10]; JButton[] Purple = new JButton[10]; JButton[] Red = new JButton[10]; JButton[] Black = new JButton[10]; MainClass Mp3ClassPlayer = new MainClass(); int [][] StarsEvents = new int[10][15]; int [][] HeartsEvents = new int[10][15]; int [][] CirclesEvents = new int[10][15]; int [][] PurpleEvents = new int[10][15]; int [][] RedEvents = new int[10][15]; int [][] BlackEvents = new int[10][15]; public static int count; int CreateCount; String song; int xMouse; int yMouse; File theFile; int BigTimer=0; int width = (Toolkit.getDefaultToolkit().getScreenSize().width / 2) - 185; int height = Toolkit.getDefaultToolkit().getScreenSize().height - 180; boolean Time = false; boolean run = true; boolean Edit = false; boolean FirstRun = false; boolean InitialRun=true; boolean Paused=false; int eventSelect; int Progress; int starsIt=0, heartIt=0, CircleIt=0, PurpleIt=0, RedIt=0, BlackIt=0; int delay = 1000; //milliseconds File loadfile; public MP3PlayerGUI(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); this.setLocation(width, height); } void EventSetups() { for (int j = 0; j < 9; j++) { for (int k = 0; k < 14; k++) { StarsEvents[j][k]=0; HeartsEvents[j][k]=0; CirclesEvents[j][k]=0; PurpleEvents[j][k]=0; RedEvents[j][k]=0; BlackEvents[j][k]=0; } } } void Reset() { Time=false; run=true; Edit=false; FirstRun=false; BigTimer=0; } @SuppressWarnings("unchecked") // private void initComponents() { jPanel2 = new javax.swing.JPanel(); txtSave = new javax.swing.JTextArea(); jLabel9 = new javax.swing.JLabel(); jScrollPane2 = new javax.swing.JScrollPane(); jLabel10 = new javax.swing.JLabel(); Play = new javax.swing.JLabel(); SelectFile = new javax.swing.JLabel(); Pause = new javax.swing.JLabel(); Stop = new javax.swing.JLabel(); Loop = new javax.swing.JLabel(); Display = new javax.swing.JLabel(); btnExit = new javax.swing.JButton(); btnStop = new javax.swing.JButton(); btnStart = new javax.swing.JButton(); lblStars = new javax.swing.JButton(); lblCircle = new javax.swing.JButton(); lbl1 = new javax.swing.JLabel(); lbl2 = new javax.swing.JLabel(); lbl3 = new javax.swing.JLabel(); lbl4 = new javax.swing.JLabel(); lbl5 = new javax.swing.JLabel(); lbl6 = new javax.swing.JLabel(); lbl7 = new javax.swing.JLabel(); lbl8 = new javax.swing.JLabel(); lbl9 = new javax.swing.JLabel(); lbl10 = new javax.swing.JLabel(); lbl11 = new javax.swing.JLabel(); lbl12 = new javax.swing.JLabel(); lbl13 = new javax.swing.JLabel(); lbl14 = new javax.swing.JLabel(); lbl15 = new javax.swing.JLabel(); lbl16 = new javax.swing.JLabel(); lblHeart = new javax.swing.JButton(); lblPurple = new javax.swing.JButton(); lblBlackLine = new javax.swing.JButton(); lblRedLine = new javax.swing.JButton(); purplePanel = new javax.swing.JPanel(); jLabel5 = new javax.swing.JLabel(); heartPanel = new javax.swing.JPanel(); jLabel2 = new javax.swing.JLabel(); starPanel = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); redPanel = new javax.swing.JPanel(); jLabel4 = new javax.swing.JLabel(); blackPanel = new javax.swing.JPanel(); jLabel6 = new javax.swing.JLabel(); circlePanel = new javax.swing.JPanel(); jLabel3 = new javax.swing.JLabel(); btnSave = new javax.swing.JButton(); jLabel8 = new javax.swing.JLabel(); btnLoad = new javax.swing.JButton(); Background = new javax.swing.JLabel(); lblEditToggle = new javax.swing.JButton(); btnRestart = new javax.swing.JButton(); OptionPanel = new javax.swing.JPanel(); lblStarBoxCount = new javax.swing.JTextField(); EventDD = new javax.swing.JComboBox(); NumberSelector = new javax.swing.JComboBox(); btnCommit = new javax.swing.JButton(); musicTime = new javax.swing.JProgressBar(); lblTime = new javax.swing.JLabel(); btnConfirm = new javax.swing.JButton(); lblChangeTime = new javax.swing.JTextField(); jScrollPane1 = new javax.swing.JScrollPane(); jLabel7 = new javax.swing.JLabel(); jPanel1 = new javax.swing.JPanel(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("MP3 Player"); setBackground(new java.awt.Color(255, 153, 51)); setUndecorated(true); getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); txtSave.setColumns(20); txtSave.setRows(5); txtSave.setVisible(false); getContentPane().add(txtSave, new org.netbeans.lib.awtextra.AbsoluteConstraints(1080, 290, 10, 10)); jLabel9.setBackground(new java.awt.Color(51, 51, 51)); jLabel9.setFont(new java.awt.Font("Franklin Gothic Demi", 3, 48)); // NOI18N jLabel9.setForeground(new java.awt.Color(204, 0, 0)); jLabel9.setText("LightShow"); getContentPane().add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 90, 300, 130)); getContentPane().add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(980, 260, -1, -1)); jLabel10.setBackground(new java.awt.Color(51, 51, 51)); jLabel10.setFont(new java.awt.Font("Franklin Gothic Demi", 3, 48)); // NOI18N jLabel10.setForeground(new java.awt.Color(204, 0, 0)); jLabel10.setText("Musical"); getContentPane().add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 40, 300, 130)); Play.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); Play.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { PlayMouseClicked(evt); } public void mouseReleased(java.awt.event.MouseEvent evt) { PlayMouseReleased(evt); } }); getContentPane().add(Play, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 340, 90, 83)); SelectFile.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); SelectFile.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseReleased(java.awt.event.MouseEvent evt) { SelectFileMouseReleased(evt); } }); getContentPane().add(SelectFile, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 360, 40, 40)); Pause.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); Pause.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseReleased(java.awt.event.MouseEvent evt) { PauseMouseReleased(evt); } }); getContentPane().add(Pause, new org.netbeans.lib.awtextra.AbsoluteConstraints(250, 350, 60, 60)); Stop.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); Stop.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseReleased(java.awt.event.MouseEvent evt) { StopMouseReleased(evt); } }); getContentPane().add(Stop, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 350, 70, 60)); Loop.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); Loop.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseReleased(java.awt.event.MouseEvent evt) { LoopMouseReleased(evt); } }); getContentPane().add(Loop, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 360, 40, 40)); Display.setBackground(new java.awt.Color(255, 153, 51)); Display.setFont(new java.awt.Font("DotumChe", 1, 14)); // NOI18N getContentPane().add(Display, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 310, 350, 20)); btnExit.setBackground(new java.awt.Color(51, 51, 51)); btnExit.setForeground(new java.awt.Color(51, 51, 51)); btnExit.setText("Exit"); btnExit.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnExitActionPerformed(evt); } }); getContentPane().add(btnExit, new org.netbeans.lib.awtextra.AbsoluteConstraints(1080, 0, -1, -1)); btnStop.setBackground(new java.awt.Color(51, 51, 51)); btnStop.setForeground(new java.awt.Color(51, 51, 51)); btnStop.setText("Stop"); btnStop.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnStopActionPerformed(evt); } }); getContentPane().add(btnStop, new org.netbeans.lib.awtextra.AbsoluteConstraints(920, 200, -1, -1)); btnStart.setBackground(new java.awt.Color(51, 51, 51)); btnStart.setForeground(new java.awt.Color(51, 51, 51)); btnStart.setText("Start"); btnStart.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnStartActionPerformed(evt); } }); getContentPane().add(btnStart, new org.netbeans.lib.awtextra.AbsoluteConstraints(980, 200, -1, -1)); lblStars.setBackground(new java.awt.Color(51, 51, 51)); lblStars.setForeground(new java.awt.Color(51, 51, 51)); lblStars.setText("stars"); lblStars.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { lblStarsActionPerformed(evt); } }); getContentPane().add(lblStars, new org.netbeans.lib.awtextra.AbsoluteConstraints(920, 60, 100, 30)); lblCircle.setBackground(new java.awt.Color(51, 51, 51)); lblCircle.setForeground(new java.awt.Color(51, 51, 51)); lblCircle.setText("Circle"); lblCircle.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { lblCircleActionPerformed(evt); } }); getContentPane().add(lblCircle, new org.netbeans.lib.awtextra.AbsoluteConstraints(920, 120, 100, 30)); lbl1.setBackground(new java.awt.Color(100, 100, 100)); getContentPane().add(lbl1, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 10, 130, 100)); lbl2.setBackground(new java.awt.Color(100, 100, 100)); getContentPane().add(lbl2, new org.netbeans.lib.awtextra.AbsoluteConstraints(520, 10, 130, 100)); lbl3.setBackground(new java.awt.Color(100, 100, 100)); getContentPane().add(lbl3, new org.netbeans.lib.awtextra.AbsoluteConstraints(650, 10, 130, 100)); lbl4.setBackground(new java.awt.Color(100, 100, 100)); getContentPane().add(lbl4, new org.netbeans.lib.awtextra.AbsoluteConstraints(780, 10, 130, 100)); lbl5.setBackground(new java.awt.Color(100, 100, 100)); getContentPane().add(lbl5, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 110, 130, 100)); lbl6.setBackground(new java.awt.Color(100, 100, 100)); getContentPane().add(lbl6, new org.netbeans.lib.awtextra.AbsoluteConstraints(520, 110, 130, 100)); lbl7.setBackground(new java.awt.Color(100, 100, 100)); getContentPane().add(lbl7, new org.netbeans.lib.awtextra.AbsoluteConstraints(650, 110, 130, 100)); lbl8.setBackground(new java.awt.Color(100, 100, 100)); getContentPane().add(lbl8, new org.netbeans.lib.awtextra.AbsoluteConstraints(780, 110, 130, 100)); lbl9.setBackground(new java.awt.Color(100, 100, 100)); getContentPane().add(lbl9, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 210, 130, 100)); lbl10.setBackground(new java.awt.Color(100, 100, 100)); getContentPane().add(lbl10, new org.netbeans.lib.awtextra.AbsoluteConstraints(520, 210, 130, 100)); lbl11.setBackground(new java.awt.Color(100, 100, 100)); getContentPane().add(lbl11, new org.netbeans.lib.awtextra.AbsoluteConstraints(650, 210, 130, 100)); lbl12.setBackground(new java.awt.Color(100, 100, 100)); getContentPane().add(lbl12, new org.netbeans.lib.awtextra.AbsoluteConstraints(780, 210, 130, 100)); lbl13.setBackground(new java.awt.Color(100, 100, 100)); getContentPane().add(lbl13, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 320, 130, 90)); lbl14.setBackground(new java.awt.Color(100, 100, 100)); getContentPane().add(lbl14, new org.netbeans.lib.awtextra.AbsoluteConstraints(520, 310, 130, 100)); lbl15.setBackground(new java.awt.Color(100, 100, 100)); getContentPane().add(lbl15, new org.netbeans.lib.awtextra.AbsoluteConstraints(650, 310, 130, 100)); lbl16.setBackground(new java.awt.Color(100, 100, 100)); getContentPane().add(lbl16, new org.netbeans.lib.awtextra.AbsoluteConstraints(780, 310, 130, 100)); lblHeart.setBackground(new java.awt.Color(51, 51, 51)); lblHeart.setForeground(new java.awt.Color(51, 51, 51)); lblHeart.setText("Heart"); lblHeart.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { lblHeartActionPerformed(evt); } }); getContentPane().add(lblHeart, new org.netbeans.lib.awtextra.AbsoluteConstraints(920, 90, 100, 30)); lblPurple.setBackground(new java.awt.Color(51, 51, 51)); lblPurple.setForeground(new java.awt.Color(51, 51, 51)); lblPurple.setText("Purple"); lblPurple.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { lblPurpleActionPerformed(evt); } }); getContentPane().add(lblPurple, new org.netbeans.lib.awtextra.AbsoluteConstraints(1020, 60, 100, -1)); lblBlackLine.setBackground(new java.awt.Color(51, 51, 51)); lblBlackLine.setForeground(new java.awt.Color(51, 51, 51)); lblBlackLine.setText("Black Line"); lblBlackLine.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { lblBlackLineActionPerformed(evt); } }); getContentPane().add(lblBlackLine, new org.netbeans.lib.awtextra.AbsoluteConstraints(1020, 120, 100, 30)); lblRedLine.setBackground(new java.awt.Color(51, 51, 51)); lblRedLine.setForeground(new java.awt.Color(51, 51, 51)); lblRedLine.setText("Red Line"); lblRedLine.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { lblRedLineActionPerformed(evt); } }); getContentPane().add(lblRedLine, new org.netbeans.lib.awtextra.AbsoluteConstraints(1020, 90, 100, 30)); purplePanel.setBackground(new java.awt.Color(51, 51, 51)); purplePanel.setLayout(new java.awt.GridLayout(1, 0)); jLabel5.setText("Purple"); purplePanel.add(jLabel5); getContentPane().add(purplePanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 580, 1120, 50)); heartPanel.setBackground(new java.awt.Color(51, 51, 51)); heartPanel.setLayout(new java.awt.GridLayout(1, 0)); jLabel2.setText("Hearts"); heartPanel.add(jLabel2); getContentPane().add(heartPanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 500, 1120, 40)); starPanel.setBackground(new java.awt.Color(51, 51, 51)); starPanel.setLayout(new java.awt.GridLayout(1, 0)); jLabel1.setText("Stars"); starPanel.add(jLabel1); getContentPane().add(starPanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 460, 1120, 40)); redPanel.setBackground(new java.awt.Color(51, 51, 51)); redPanel.setLayout(new java.awt.GridLayout(1, 0)); jLabel4.setText("Red "); redPanel.add(jLabel4); getContentPane().add(redPanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 630, 1120, 50)); blackPanel.setBackground(new java.awt.Color(51, 51, 51)); blackPanel.setLayout(new java.awt.GridLayout(1, 0)); jLabel6.setText("Black"); blackPanel.add(jLabel6); getContentPane().add(blackPanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 680, 1120, 50)); circlePanel.setBackground(new java.awt.Color(51, 51, 51)); circlePanel.setLayout(new java.awt.GridLayout(1, 0)); jLabel3.setText("Circles"); circlePanel.add(jLabel3); getContentPane().add(circlePanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 540, 1120, 40)); btnSave.setText("Save"); btnSave.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnSaveActionPerformed(evt); } }); getContentPane().add(btnSave, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 10, -1, -1)); jLabel8.setFont(new java.awt.Font("Elephant", 1, 18)); // NOI18N jLabel8.setForeground(new java.awt.Color(204, 0, 0)); jLabel8.setText("Music Controls"); getContentPane().add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(930, 160, 190, 40)); btnLoad.setText("Load"); btnLoad.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnLoadActionPerformed(evt); } }); getContentPane().add(btnLoad, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 10, -1, -1)); Background.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AppPackage/Background.png"))); // NOI18N Background.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { public void mouseDragged(java.awt.event.MouseEvent evt) { BackgroundMouseDragged(evt); } }); Background.addMouseListener(new java.awt.event.MouseAdapter() { public void mousePressed(java.awt.event.MouseEvent evt) { BackgroundMousePressed(evt); } }); getContentPane().add(Background, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 10, 370, 700)); lblEditToggle.setBackground(new java.awt.Color(51, 51, 51)); lblEditToggle.setForeground(new java.awt.Color(51, 51, 51)); lblEditToggle.setText("Edit Mode: Off"); lblEditToggle.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { lblEditToggleActionPerformed(evt); } }); getContentPane().add(lblEditToggle, new org.netbeans.lib.awtextra.AbsoluteConstraints(930, 0, 150, -1)); btnRestart.setBackground(new java.awt.Color(51, 51, 51)); btnRestart.setForeground(new java.awt.Color(51, 51, 51)); btnRestart.setText("Restart"); btnRestart.setVisible(false); btnRestart.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnRestartActionPerformed(evt); } }); getContentPane().add(btnRestart, new org.netbeans.lib.awtextra.AbsoluteConstraints(1040, 200, 80, 30)); OptionPanel.setBackground(new java.awt.Color(51, 51, 51)); lblStarBoxCount.setBackground(new java.awt.Color(51, 51, 51)); lblStarBoxCount.setToolTipText("Which Boxes?"); EventDD.setBackground(new java.awt.Color(51, 51, 51)); EventDD.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); EventDD.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { EventDDActionPerformed(evt); } }); NumberSelector.setBackground(new java.awt.Color(51, 51, 51)); NumberSelector.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); NumberSelector.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { NumberSelectorActionPerformed(evt); } }); btnCommit.setBackground(new java.awt.Color(51, 51, 51)); btnCommit.setText("commit"); btnCommit.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnCommitActionPerformed(evt); } }); javax.swing.GroupLayout OptionPanelLayout = new javax.swing.GroupLayout(OptionPanel); OptionPanel.setLayout(OptionPanelLayout); OptionPanelLayout.setHorizontalGroup( OptionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(OptionPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(OptionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(NumberSelector, 0, 85, Short.MAX_VALUE) .addComponent(EventDD, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(OptionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(btnCommit) .addComponent(lblStarBoxCount, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(20, Short.MAX_VALUE)) ); OptionPanelLayout.setVerticalGroup( OptionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(OptionPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(OptionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(EventDD, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(lblStarBoxCount, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(OptionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(NumberSelector, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnCommit)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); getContentPane().add(OptionPanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(920, 360, 200, 70)); getContentPane().add(musicTime, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 440, 1110, -1)); lblTime.setBackground(new java.awt.Color(153, 153, 153)); lblTime.setForeground(new java.awt.Color(255, 255, 255)); lblTime.setText("Current Time"); getContentPane().add(lblTime, new org.netbeans.lib.awtextra.AbsoluteConstraints(1030, 240, 90, 30)); btnConfirm.setBackground(new java.awt.Color(51, 51, 51)); btnConfirm.setForeground(new java.awt.Color(51, 51, 51)); btnConfirm.setText("Confirm"); btnConfirm.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnConfirmActionPerformed(evt); } }); getContentPane().add(btnConfirm, new org.netbeans.lib.awtextra.AbsoluteConstraints(980, 270, 80, 30)); lblChangeTime.setBackground(new java.awt.Color(51, 51, 51)); lblChangeTime.setForeground(new java.awt.Color(255, 255, 255)); lblChangeTime.setText("Change Time"); getContentPane().add(lblChangeTime, new org.netbeans.lib.awtextra.AbsoluteConstraints(930, 240, 90, -1)); getContentPane().add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(980, 610, -1, -1)); jLabel7.setFont(new java.awt.Font("Elephant", 1, 18)); // NOI18N jLabel7.setForeground(new java.awt.Color(204, 0, 0)); jLabel7.setText("Event Controls"); getContentPane().add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(930, 310, 190, 40)); jPanel1.setBackground(new java.awt.Color(51, 51, 51)); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 1140, Short.MAX_VALUE) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 750, Short.MAX_VALUE) ); getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 1140, 750)); pack(); }// private void BackgroundMouseDragged(java.awt.event.MouseEvent evt) { int x = evt.getXOnScreen(); int y = evt.getYOnScreen(); this.setLocation(x - xMouse, y - yMouse); } private void BackgroundMousePressed(java.awt.event.MouseEvent evt) { xMouse = evt.getX(); yMouse = evt.getY(); } private void StopMouseReleased(java.awt.event.MouseEvent evt) { // TODO add your handling code here: Mp3ClassPlayer.Stop(); } private void PlayMouseReleased(java.awt.event.MouseEvent evt) { // TODO add your handling code here: if(Paused){ Mp3ClassPlayer.Resume(); Paused=false; T.start(); } } private void PauseMouseReleased(java.awt.event.MouseEvent evt) { try { // TODO add your handling code here: Mp3ClassPlayer.Pause(); Paused=true; T.stop(); } catch (IOException ex) { Logger.getLogger(MP3PlayerGUI.class.getName()).log(Level.SEVERE, null, ex); } } private void SelectFileMouseReleased(java.awt.event.MouseEvent evt) { // TODO add your handling code here: FileFilter filter = new FileNameExtensionFilter("MP3 Files", "mp3", "mpeg3"); JFileChooser chooser = new JFileChooser("C:\\Music"); chooser.addChoosableFileFilter(filter); int returnVal = chooser.showOpenDialog(null); if(returnVal == JFileChooser.APPROVE_OPTION){ Mp3ClassPlayer.Stop(); File myFile = chooser.getSelectedFile(); song = myFile + ""; theFile = myFile; String name = chooser.getSelectedFile().getName(); Display.setText(name); InitialRun=false; Mp3ClassPlayer.Play(song); try { Mp3ClassPlayer.Pause(); } catch (IOException ex) { Logger.getLogger(MP3PlayerGUI.class.getName()).log(Level.SEVERE, null, ex); } PictureControl(); } } private void LoopMouseReleased(java.awt.event.MouseEvent evt) { // TODO add your handling code here: switch(count){ case 0: count = 1; break; case 1: count = 0; break; } } private void btnExitActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: System.exit(0); } private void btnStopActionPerformed(java.awt.event.ActionEvent evt) { try { // TODO add your handling code here: Mp3ClassPlayer.Pause(); run=false; Paused=true; T.stop(); } catch (IOException ex) { Logger.getLogger(MP3PlayerGUI.class.getName()).log(Level.SEVERE, null, ex); } } //BIG FLETCHER EDITS BELOW int i=0; int z=0; int ImageSet; Icon b=new ImageIcon("C:\\Users\\fletsm\\Downloads\\backgroundBlack.jpg"); Icon a; public JLabel[] createLabels(){ Show[0]=lbl1; Show[1]=lbl2; Show[2]=lbl3; Show[3]=lbl4; Show[4]=lbl5; Show[5]=lbl6; Show[6]=lbl7; Show[7]=lbl8; Show[8]=lbl9; Show[9]=lbl10; Show[10]=lbl11; Show[11]=lbl12; Show[12]=lbl13; Show[13]=lbl14; Show[14]=lbl15; Show[15]=lbl16; return Show; } //Set up the images and label arrays //Create the Audio files and set time delay for events public void PictureControl() { createLabels(); Tag tag; java.util.logging.Logger.getLogger("org.jaudiotagger").setLevel(Level.OFF); AudioFile audioFile; int AudioTime = 0; try { audioFile = AudioFileIO.read(theFile); AudioTime = audioFile.getAudioHeader().getTrackLength(); } catch (CannotReadException | IOException | TagException | ReadOnlyFileException | InvalidAudioFrameException ex) { System.exit(0); Logger.getLogger(MP3PlayerGUI.class.getName()).log(Level.SEVERE, null, ex); AudioTime = 0; } delay = UpdateTime()/10*1000; //System.out.print("the time is "+delay); T.start(); } public void CreatePanel() { } //RIGHT HERE - MAKE DELAY EDITABLE DEPENDING ON LENGTH OF SONG //HERE -- make it so loop only goes till music is done - doesn't loop unitl then | do math //Timer to get events to happen as the music is playing - needs to have location for pictures //saved into files. Time varies depended on length of song ActionListener taskPerformer = new ActionListener() { public void actionPerformed(ActionEvent evt) { for(int j=0; j<16; j++) { Show[j].setIcon(null); } // Icon a=new ImageIcon("C:\\Users\\fletsm\\Downloads\\star.jpg"); // Icon a=new ImageIcon(this.getClass().getClassLoader().getResource("star.jpg")); for (int k = 0; k < 10; k++) { for (int j = 0; j < 15; j++) { if (StarsEvents[k][j]==1&&k==i) { // System.out.print("stars "+k); Show[j].setIcon(new javax.swing.ImageIcon(getClass().getResource("/AppPackage/star.jpg"))); //System.out.print("added to "+j+" "); } } } a=new ImageIcon("C:\\Users\\fletsm\\Downloads\\circle.jpg"); for (int k = 0; k < 10; k++) { for (int j = 0; j < 15; j++) { if (CirclesEvents[k][j]==1&&k==i) { //System.out.print(j); Show[j].setIcon(new javax.swing.ImageIcon(getClass().getResource("/AppPackage/circle.jpg"))); //System.out.print("added to "+j+" "); } } } a=new ImageIcon("C:\\Users\\fletsm\\Downloads\\heart.jpg"); for (int k = 0; k < 10; k++) { for (int j = 0; j < 15; j++) { if (HeartsEvents[k][j]==1&&k==i) { //System.out.print(j); Show[j].setIcon(new javax.swing.ImageIcon(getClass().getResource("/AppPackage/heart.jpg"))); //System.out.print("added to "+j+" "); } } } a=new ImageIcon("C:\\Users\\fletsm\\Downloads\\purple.jpg"); for (int k = 0; k < 10; k++) { for (int j = 0; j < 15; j++) { if (PurpleEvents[k][j]==1&&k==i) { //System.out.print(j); Show[j].setIcon(new javax.swing.ImageIcon(getClass().getResource("/AppPackage/purple.jpg"))); //System.out.print("added to "+j+" "); } } } a=new ImageIcon("C:\\Users\\fletsm\\Downloads\\redLine.jpg"); for (int k = 0; k < 10; k++) { for (int j = 0; j < 15; j++) { if (RedEvents[k][j]==1&&k==i) { //System.out.print(j); Show[j].setIcon(new javax.swing.ImageIcon(getClass().getResource("/AppPackage/redLine.jpg"))); //System.out.print("added to "+j+" "); } } } a=new ImageIcon("C:\\Users\\fletsm\\Downloads\\blackLine.jpg"); for (int k = 0; k < 10; k++) { for (int j = 0; j < 15; j++) { if (BlackEvents[k][j]==1&&k==i) { //System.out.print(j); Show[j].setIcon(new javax.swing.ImageIcon(getClass().getResource("/AppPackage/blackLine.jpg"))); //System.out.print("added to "+j+" "); } } } i++; // if(i>9) // { // i=0; // } BigTimer++; if(BigTimer>=UpdateTime()) { try { // TODO add your handling code here: Mp3ClassPlayer.Pause(); } catch (IOException ex) { Logger.getLogger(MP3PlayerGUI.class.getName()).log(Level.SEVERE, null, ex); } run=false; T.stop(); Reset(); } Progress=100*BigTimer/UpdateTime(); musicTime.setValue(Progress); lblTime.setText(BigTimer+" seconds"); } }; Timer T=new Timer(delay, taskPerformer); //get the current time of the music where it is paused public int UpdateTime() { int RunTime=0; Tag tag; java.util.logging.Logger.getLogger("org.jaudiotagger").setLevel(Level.OFF); AudioFile audioFile; try { audioFile = AudioFileIO.read(theFile); RunTime=audioFile.getAudioHeader().getTrackLength(); } catch (CannotReadException ex) { // btnUpdate.setText("Could not retrieve time, error 1"); Logger.getLogger(MP3PlayerGUI.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { // btnUpdate.setText("Could not retrieve time, error 2"); Logger.getLogger(MP3PlayerGUI.class.getName()).log(Level.SEVERE, null, ex); } catch (TagException ex) { // btnUpdate.setText("Could not retrieve time, error 3"); Logger.getLogger(MP3PlayerGUI.class.getName()).log(Level.SEVERE, null, ex); } catch (ReadOnlyFileException ex) { // btnUpdate.setText("Could not retrieve time, error 4"); Logger.getLogger(MP3PlayerGUI.class.getName()).log(Level.SEVERE, null, ex); } catch (InvalidAudioFrameException ex) { //btnUpdate.setText("Could not retrieve time, error 5"); Logger.getLogger(MP3PlayerGUI.class.getName()).log(Level.SEVERE, null, ex); } return RunTime; } //start music and events private void btnStartActionPerformed(java.awt.event.ActionEvent evt) { if(InitialRun) { String song = theFile+""; InitialRun=false; Mp3ClassPlayer.Stop(); if(Paused) { Mp3ClassPlayer.Resume(); Paused=false; }else{ //Mp3ClassPlayer.Play(song); } } if(Edit==false) { run=true; i=0; if(Paused) Mp3ClassPlayer.Resume(); PictureControl(); } else { //enable the panel } } //set the circles into the events private void lblCircleActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if(Edit==false) { ImageSet=2; } else { Circles[CircleIt]=new JButton(""+CircleIt+"|"); Circles[CircleIt].setLocation(50, 50); Circles[CircleIt].setVisible(true); circlePanel.add(Circles[CircleIt]); circlePanel.setVisible(true); Circles[CircleIt].setBounds(30+(CircleIt*100),20, 50, 20); //CirclesEvents[CircleIt][0]=1; NumberSelector.addItem(CircleIt); CircleIt++; } } //set the stars into events private void lblStarsActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if(Edit==false) { ImageSet=1; } else { Stars[starsIt]=new JButton(""+starsIt+"|"); Stars[starsIt].setLocation(50, 50); Stars[starsIt].setVisible(true); starPanel.add(Stars[starsIt]); starPanel.setVisible(true); Stars[starsIt].setBounds(30+(starsIt*70),20, 50, 20); //StarsEvents[starsIt][0]=1; NumberSelector.addItem(starsIt); starsIt++; } } //set the hearts into events private void lblHeartActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if(Edit==false) { ImageSet=3; } else { Hearts[heartIt]=new JButton(""+heartIt+"|"); Hearts[heartIt].setLocation(50, 50); Hearts[heartIt].setVisible(true); heartPanel.add(Hearts[heartIt]); heartPanel.setVisible(true); Hearts[heartIt].setBounds(30+(heartIt*70),20, 50, 20); // HeartsEvents[heartIt][0]=1; NumberSelector.addItem(heartIt); heartIt++; } } //set the purple color into events private void lblPurpleActionPerformed(java.awt.event.ActionEvent evt) { if(Edit==false) { ImageSet=4; } else { Purple[PurpleIt]=new JButton(""+PurpleIt+"|"); Purple[PurpleIt].setLocation(50, 50); Purple[PurpleIt].setVisible(true); purplePanel.add(Purple[PurpleIt]); purplePanel.setVisible(true); Purple[PurpleIt].setBounds(30+(PurpleIt*70),20, 50, 20); // PurpleEvents[PurpleIt][0]=1; NumberSelector.addItem(PurpleIt); PurpleIt++; } } //set the black line into events private void lblBlackLineActionPerformed(java.awt.event.ActionEvent evt) { if(Edit==false) { ImageSet=6; } else { Black[BlackIt]=new JButton(""+BlackIt+"|"); Black[BlackIt].setLocation(50, 50); Black[BlackIt].setVisible(true); blackPanel.add(Black[BlackIt]); blackPanel.setVisible(true); Black[BlackIt].setBounds(30+(BlackIt*70),20, 50, 20); // BlackEvents[BlackIt][0]=1; NumberSelector.addItem(BlackIt); BlackIt++; } } //set the red line into events private void lblRedLineActionPerformed(java.awt.event.ActionEvent evt) { if(Edit==false) { ImageSet=5; } else { Red[RedIt]=new JButton(""+RedIt+"|"); Red[RedIt].setLocation(50, 50); Red[RedIt].setVisible(true); redPanel.add(Red[RedIt]); redPanel.setVisible(true); Red[RedIt].setBounds(30+(RedIt*70),20, 50, 20); // RedEvents[RedIt][0]=1; NumberSelector.addItem(RedIt); RedIt++; } } private void PlayMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: } //allow user to enter into edit mode or leave edit mode - endables buttons and disables them as necessary private void lblEditToggleActionPerformed(java.awt.event.ActionEvent evt) { if (Edit==false) { Edit=true; lblEditToggle.setText("Edit Mode: On"); if(FirstRun==false) { CreatePanel(); EventSetups(); NumberSelector.removeAllItems(); EventDD.removeAllItems(); EventDD.addItem("Stars"); EventDD.addItem("Hearts"); EventDD.addItem("Circles"); EventDD.addItem("Purple"); EventDD.addItem("Black"); EventDD.addItem("Red"); FirstRun=true; } createLabels(); for (int j = 0; j <= 15; j++) { Show[j].setText(""+j); } } else { Edit=false; lblEditToggle.setText("Edit Mode: Off"); for (int j = 0; j <= 15; j++) { Show[j].setText(""); } } } //rests some of the functions private void btnRestartActionPerformed(java.awt.event.ActionEvent evt) { Mp3ClassPlayer.Stop(); i=0; // Mp3ClassPlayer.Play(theFile+""); for (int k = 0; k < 9; k++) { for (int j = 0; j < 15; j++) { StarsEvents[k][j]=0; CirclesEvents[k][j]=0; HeartsEvents[k][j]=0; PurpleEvents[k][j]=0; RedEvents[k][j]=0; BlackEvents[k][j]=0; } } for (int j = 0; j < Stars.length; j++) { if(Stars[j]!=null) {Stars[j].removeAll();} for (int k = 0; k < starsIt; k++) { starPanel.remove(Stars[k]); } } for (int j = 0; j < Hearts.length; j++) { if(Hearts[j]!=null) Hearts[j].removeAll(); } for (int j = 0; j < Circles.length; j++) { if(Circles[j]!=null) Circles[j].removeAll(); } for (int j = 0; j < Purple.length; j++) { if(Purple[j]!=null) Purple[j].removeAll(); } for (int j = 0; j < Black.length; j++) { if(Black[j]!=null) Black[j].removeAll(); } for (int j = 0; j < Red.length; j++) { if(Red[j]!=null) Red[j].removeAll(); } } //commits the events into the array to be read and preformed during the start private void btnCommitActionPerformed(java.awt.event.ActionEvent evt) { String[] stringValues = lblStarBoxCount.getText().split("[,]"); int[] numArray= new int[stringValues.length]; for(int j=0; j2) { Stars[k].setEnabled(false); } } System.out.print("\n"); for (int k = 0; k < 9; k++) { if(Circles[k].getText().length()>2) { Circles[k].setEnabled(false); } } for (int k = 0; k < 9; k++) { if(Hearts[k].getText().length()>2) { Hearts[k].setEnabled(false); } } for (int k = 0; k < 9; k++) { if(Purple[k].getText().length()>2) { Purple[k].setEnabled(false); } } for (int k = 0; k < 9; k++) { if(Red[k].getText().length()>2) { Red[k].setEnabled(false); } } for (int k = 0; k < 9; k++) { if(Black[k].getText().length()>2) { Black[k].setEnabled(false); } } } } //Determining the events to be edited and adding the proper event to the array private void EventDDActionPerformed(java.awt.event.ActionEvent evt) { if(FirstRun==false){return;} if(EventDD.getSelectedItem().toString()=="Stars") { eventSelect=1; NumberSelector.removeAllItems(); NumberSelector.removeAll(); while(NumberSelector.getItemCount()!=0){ NumberSelector.removeAllItems();;System.out.printf("looping ");} for (int j = 0; j < Stars.length; j++) { if(Stars[j]!=null){ NumberSelector.addItem(j); } } } else if (EventDD.getSelectedItem().toString()=="Hearts") { eventSelect=2; NumberSelector.removeAllItems(); NumberSelector.removeAll(); while(NumberSelector.getItemCount()!=0){ NumberSelector.removeAllItems();;System.out.printf("looping ");} for (int j = 0; j < Hearts.length; j++) { if(Hearts[j]!=null){ NumberSelector.addItem(j); } } } else if (EventDD.getSelectedItem().toString()=="Circles") { eventSelect=3; NumberSelector.removeAllItems(); NumberSelector.removeAll(); while(NumberSelector.getItemCount()!=0){ NumberSelector.removeAllItems();;System.out.printf("looping ");} for (int j = 0; j < Circles.length; j++) { if(Circles[j]!=null){ NumberSelector.addItem(j); } } } else if (EventDD.getSelectedItem().toString()=="Purple") { eventSelect=4; NumberSelector.removeAllItems(); NumberSelector.removeAll(); while(NumberSelector.getItemCount()!=0){ NumberSelector.removeAllItems();;System.out.printf("looping ");} for (int j = 0; j < Purple.length; j++) { if(Purple[j]!=null){ NumberSelector.addItem(j); } } } else if (EventDD.getSelectedItem().toString()=="Red") { eventSelect=5; NumberSelector.removeAllItems(); NumberSelector.removeAll(); while(NumberSelector.getItemCount()!=0){ NumberSelector.removeAllItems();System.out.printf("looping ");} for (int j = 0; j < Red.length; j++) { if(Red[j]!=null){ NumberSelector.addItem(j); } } } else if (EventDD.getSelectedItem().toString()=="Black") { eventSelect=6; NumberSelector.removeAllItems(); NumberSelector.removeAll(); while(NumberSelector.getItemCount()!=0){ NumberSelector.removeAllItems(); System.out.printf("looping ");} for (int j = 0; j < Black.length; j++) { if(Black[j]!=null){ NumberSelector.addItem(j); } } } else { eventSelect=0; NumberSelector.removeAllItems(); NumberSelector.removeAll(); } } //select the tile for the time of the event to be added private void NumberSelectorActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: } //confirm the time adjusted by the user for the music private void btnConfirmActionPerformed(java.awt.event.ActionEvent evt) { BigTimer=Integer.parseInt(lblChangeTime.getText()); //RIGHT HERE - MAKE THE TIMER PROGRESS BAR UPDATE AS WELL Progress=100*BigTimer/UpdateTime(); musicTime.setValue(Progress); Mp3ClassPlayer.Resume(BigTimer); try { Mp3ClassPlayer.Pause(); } catch (IOException ex) { Logger.getLogger(MP3PlayerGUI.class.getName()).log(Level.SEVERE, null, ex); } lblTime.setText(""+BigTimer); } //RIGHT HERE save items private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) { txtSave.setText(""+theFile+"\n"); txtSave.setText(txtSave.getText()+"StarsEvents"); for (int k = 0; k < 10; k++) { txtSave.setText(txtSave.getText()+"\n"); for (int j = 0; j < 15; j++) { txtSave.setText(txtSave.getText()+StarsEvents[k][j]+","); } } txtSave.setText(txtSave.getText()+"\n"); txtSave.setText(txtSave.getText()+"CirclesEvents"); for (int k = 0; k < 10; k++) { txtSave.setText(txtSave.getText()+"\n"); for (int j = 0; j < 15; j++) { txtSave.setText(txtSave.getText()+CirclesEvents[k][j]+","); } } txtSave.setText(txtSave.getText()+"\n"); txtSave.setText(txtSave.getText()+"HeartsEvents"); for (int k = 0; k < 10; k++) { txtSave.setText(txtSave.getText()+"\n"); for (int j = 0; j < 15; j++) { txtSave.setText(txtSave.getText()+HeartsEvents[k][j]+","); } } txtSave.setText(txtSave.getText()+"\n"); txtSave.setText(txtSave.getText()+"PurpleEvents"); for (int k = 0; k < 10; k++) { txtSave.setText(txtSave.getText()+"\n"); for (int j = 0; j < 15; j++) { txtSave.setText(txtSave.getText()+PurpleEvents[k][j]+","); } } txtSave.setText(txtSave.getText()+"\n"); txtSave.setText(txtSave.getText()+"RedEvents"); for (int k = 0; k < 10; k++) { txtSave.setText(txtSave.getText()+"\n"); for (int j = 0; j < 15; j++) { txtSave.setText(txtSave.getText()+RedEvents[k][j]+","); } } txtSave.setText(txtSave.getText()+"\n"); txtSave.setText(txtSave.getText()+"BlackEvents"); for (int k = 0; k < 10; k++) { txtSave.setText(txtSave.getText()+"\n"); for (int j = 0; j < 15; j++) { txtSave.setText(txtSave.getText()+BlackEvents[k][j]+","); } } JFileChooser fileChooser = new JFileChooser(); int retval = fileChooser.showSaveDialog(btnSave); if (retval == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); if (file == null) { return; } if (!file.getName().toLowerCase().endsWith(".txt")) { file = new File(file.getParentFile(), file.getName() + ".txt"); } try { txtSave.write(new OutputStreamWriter(new FileOutputStream(file),"utf-8")); Desktop.getDesktop().open(file); System.out.print("Saving and writing to file "+fileChooser.getSelectedFile().getPath()); } catch (Exception e) { e.printStackTrace(); } } } private void btnLoadActionPerformed(java.awt.event.ActionEvent evt) { FileFilter filter = new FileNameExtensionFilter("Text Files", "txt"); JFileChooser select = new JFileChooser("C:\\Music"); select.addChoosableFileFilter(filter); int returnVal = select.showOpenDialog(null); if(returnVal == JFileChooser.APPROVE_OPTION){ File myFile = select.getSelectedFile(); loadfile = myFile; } BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(loadfile)); String text = null; theFile=new File(reader.readLine()); song=theFile+""; Mp3ClassPlayer.Stop(); String name = theFile.getName(); Display.setText(name); InitialRun=false; Mp3ClassPlayer.Play(song); System.out.print(reader.readLine()); //Stars for(int k=0; k<10; k++) { text=reader.readLine(); String[] stringValues = text.split("[,]"); for(int j=0; j /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html */ try { for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Windows".equals(info.getName())) { javax.swing.UIManager.setLookAndFeel(info.getClassName()); break; } } } catch (ClassNotFoundException ex) { java.util.logging.Logger.getLogger(MP3PlayerGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (InstantiationException ex) { java.util.logging.Logger.getLogger(MP3PlayerGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util.logging.Logger.getLogger(MP3PlayerGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util.logging.Logger.getLogger(MP3PlayerGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } // java.awt.EventQueue.invokeLater(new Runnable() { public void run() { MP3PlayerGUI dialog = new MP3PlayerGUI(new javax.swing.JFrame(), true); dialog.addWindowListener(new java.awt.event.WindowAdapter() { @Override public void windowClosing(java.awt.event.WindowEvent e) { System.exit(0); } }); dialog.setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JLabel Background; public static javax.swing.JLabel Display; private javax.swing.JComboBox EventDD; private javax.swing.JLabel Loop; private javax.swing.JComboBox NumberSelector; private javax.swing.JPanel OptionPanel; private javax.swing.JLabel Pause; private javax.swing.JLabel Play; private javax.swing.JLabel SelectFile; private javax.swing.JLabel Stop; private javax.swing.JPanel blackPanel; private javax.swing.JButton btnCommit; private javax.swing.JButton btnConfirm; private javax.swing.JButton btnExit; private javax.swing.JButton btnLoad; private javax.swing.JButton btnRestart; private javax.swing.JButton btnSave; private javax.swing.JButton btnStart; private javax.swing.JButton btnStop; private javax.swing.JPanel circlePanel; private javax.swing.JPanel heartPanel; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel10; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel8; private javax.swing.JLabel jLabel9; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JLabel lbl1; private javax.swing.JLabel lbl10; private javax.swing.JLabel lbl11; private javax.swing.JLabel lbl12; private javax.swing.JLabel lbl13; private javax.swing.JLabel lbl14; private javax.swing.JLabel lbl15; private javax.swing.JLabel lbl16; private javax.swing.JLabel lbl2; private javax.swing.JLabel lbl3; private javax.swing.JLabel lbl4; private javax.swing.JLabel lbl5; private javax.swing.JLabel lbl6; private javax.swing.JLabel lbl7; private javax.swing.JLabel lbl8; private javax.swing.JLabel lbl9; private javax.swing.JButton lblBlackLine; private javax.swing.JTextField lblChangeTime; private javax.swing.JButton lblCircle; private javax.swing.JButton lblEditToggle; private javax.swing.JButton lblHeart; private javax.swing.JButton lblPurple; private javax.swing.JButton lblRedLine; private javax.swing.JTextField lblStarBoxCount; private javax.swing.JButton lblStars; private javax.swing.JLabel lblTime; private javax.swing.JProgressBar musicTime; private javax.swing.JPanel purplePanel; private javax.swing.JPanel redPanel; private javax.swing.JPanel starPanel; private javax.swing.JTextArea txtSave; // End of variables declaration } abstract class ActionListner implements ActionListener { public ActionListner() { } }