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() {
}
}