Author SHA1 Message Date
kennyboy55 e3443dad2a Fixed language 2015-02-10 14:15:43 +01:00
kennyboy55 407f732e42 Added files
Added my own unique project files
2015-02-10 14:05:45 +01:00
16 changed files with 476 additions and 957 deletions
-113
View File
@@ -1,113 +0,0 @@
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class AddArtistPanel extends JFrame{
private static final long serialVersionUID = 1;
public AddArtistPanel(Agenda agenda)
{
super("Artist addscreen!");
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel content = new JPanel(new BorderLayout());
JPanel south = new JPanel(new FlowLayout());
JPanel center = new JPanel(new GridLayout(4,2));
content.add(south, BorderLayout.SOUTH);
content.add(center, BorderLayout.CENTER);
JPanel panel1 = new JPanel();
JLabel name = new JLabel("Artist name: ");
panel1.add(name);
center.add(panel1);
JPanel panel2 = new JPanel();
JTextField nameTF = new JTextField("",15);
panel2.add(nameTF);
center.add(panel2);
JLabel genre = new JLabel("Genre: ");
JPanel panel3 = new JPanel();
panel3.add(genre);
center.add(panel3);
JTextField genreTF = new JTextField("",15);
JPanel panel4 = new JPanel();
panel4.add(genreTF);
center.add(panel4);
JPanel panel5 = new JPanel();
JLabel image = new JLabel("Image: ");
panel5.add(image);
center.add(panel5);
JPanel panel6 = new JPanel();
JTextField imageTF = new JTextField("", 15);
panel6.add(imageTF);
center.add(panel6);
JPanel panel7 = new JPanel();
JLabel description = new JLabel("Description: ");
panel7.add(description);
center.add(panel7);
JPanel panel8 = new JPanel();
JTextField descriptionTF = new JTextField("", 15);
panel8.add(descriptionTF);
center.add(panel8);
JButton add = new JButton("Add artist!");
south.add(add);
add.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e) {
String name = nameTF.getText();
String genre = genreTF.getText();
String image = imageTF.getText();
String description = descriptionTF.getText();
boolean alreadyExists = false;
for (Artist artist : agenda.artists)
{
if (artist.getName().equals(name))
{
alreadyExists = true;
}
}
if (name.isEmpty() == true){
JOptionPane.showMessageDialog(null, "Fill in a correct name!");
}
else if (alreadyExists == false)
{
Artist a = new Artist(name,genre,image,description);
agenda.addArtist(a);
JOptionPane.showMessageDialog(null, "Artist added!");
setVisible(false);
dispose();
} else {
JOptionPane.showMessageDialog(null, "Choose a different artist name!");
}
}
});
setContentPane(content);
setVisible(true);
setSize(500,320);
}
}
-289
View File
@@ -1,289 +0,0 @@
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class AddEventPanel extends JFrame{
private static final long serialVersionUID = 1;
public AddEventPanel(Agenda agenda)
{
super("Event addscreen!");
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel content = new JPanel(new BorderLayout());
JPanel south = new JPanel(new FlowLayout());
JPanel center = new JPanel(new GridLayout(7,2));
content.add(south, BorderLayout.SOUTH);
content.add(center, BorderLayout.CENTER);
JPanel panel1 = new JPanel();
JLabel name = new JLabel("Event name: ");
panel1.add(name);
center.add(panel1);
JPanel panel2 = new JPanel();
JTextField nameTF = new JTextField("",15);
panel2.add(nameTF);
center.add(panel2);
JLabel starttime = new JLabel("Starttime: ");
JPanel panel3 = new JPanel();
panel3.add(starttime);
center.add(panel3);
Integer[] hours = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 };
JComboBox<Integer> hour = new JComboBox<Integer>(hours);
JPanel panel4 = new JPanel();
panel4.add(hour);
center.add(panel4);
Integer[] minutes = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59};
JComboBox<Integer> minute = new JComboBox<Integer>(minutes);
panel4.add(minute);
Integer[] days = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};
JComboBox<Integer> day = new JComboBox<Integer>(days);
panel4.add(day);
String[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
JComboBox<String> month = new JComboBox<String>(months);
panel4.add(month);
Integer[] years = { 2015,2016,2017};
JComboBox<Integer> year = new JComboBox<Integer>(years);
panel4.add(year);
JPanel panel5 = new JPanel();
JLabel endtime = new JLabel("Endtime: ");
panel5.add(endtime);
center.add(panel5);
JComboBox<Integer> hourE = new JComboBox<Integer>(hours);
JPanel panel6 = new JPanel();
panel6.add(hourE);
center.add(panel6);
JComboBox<Integer> minuteE = new JComboBox<Integer>(minutes);
panel6.add(minuteE);
JComboBox<Integer> dayE = new JComboBox<Integer>(days);
panel6.add(dayE);
JComboBox<String> monthE = new JComboBox<String>(months);
panel6.add(monthE);
JComboBox<Integer> yearE = new JComboBox<Integer>(years);
panel6.add(yearE);
JPanel panel7 = new JPanel();
JLabel artist2 = new JLabel("Artist: ");
panel7.add(artist2);
center.add(panel7);
JPanel panel8 = new JPanel();
String[] artists = new String[agenda.artists.size()];
for ( int idx = 0; idx < agenda.artists.size(); idx ++)
{
artists[idx] = agenda.artists.get(idx).getName();
}
JComboBox<String> artist = new JComboBox<String>(artists);
panel8.add(artist);
center.add(panel8);
JPanel panel9 = new JPanel();
JLabel stage = new JLabel("Stage: ");
panel9.add(stage);
center.add(panel9);
JPanel panel10 = new JPanel();
String[] stages = new String[agenda.stages.size()];
for ( int idx = 0; idx < agenda.stages.size(); idx ++)
{
artists[idx] = agenda.stages.get(idx).getName();
}
JComboBox<String> stage2 = new JComboBox<String>(stages);
panel10.add(stage2);
center.add(panel10);
JPanel panel11 = new JPanel();
JLabel description = new JLabel("Description: ");
panel11.add(description);
center.add(panel11);
JPanel panel12 = new JPanel();
JTextField descriptionTF = new JTextField("",15);
panel12.add(descriptionTF);
center.add(panel12);
JPanel panel13 = new JPanel();
JLabel expectedPopularity = new JLabel("Expected Popularity: ");
panel13.add(expectedPopularity);
center.add(panel13);
JPanel panel14 = new JPanel();
Integer[] eps= { 1,2,3,4,5,6,7,8,9,10};
JComboBox<Integer> ep = new JComboBox<Integer>(eps);
panel14.add(ep);
center.add(panel14);
JButton add = new JButton("Add event!");
south.add(add);
add.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e) {
boolean everythingCorrect = true;
String name = nameTF.getText();
int hourS = hour.getSelectedIndex();
int minuteS = minute.getSelectedIndex();
int dayS = day.getSelectedIndex();
String monthS = (String) month.getSelectedItem();
int yearS = year.getSelectedIndex();
int hourEnd = hourE.getSelectedIndex();
int minuteEnd = minuteE.getSelectedIndex();
int dayEnd = dayE.getSelectedIndex();
String monthEnd = (String) monthE.getSelectedItem();
int yearEnd = yearE.getSelectedIndex();
String artistName = (String)artist.getSelectedItem();
Artist artist = null;
for(Artist a : agenda.artists)
{
if (a.getName().equals(artistName))
{
artist = a;
}
}
String stageName = (String)stage2.getSelectedItem();
Stage stage = null;
for(Stage s : agenda.stages)
{
if (s.getName().equals(stageName))
{
stage = s;
}
}
String description = descriptionTF.getText();
int popularity = ep.getSelectedIndex();
if (dayS > monthDays(monthS)){
everythingCorrect = false;
JOptionPane.showMessageDialog(null, "Invalid Date!");
}
else if (yearS > yearEnd || monthToInt(monthS) > monthToInt(monthEnd) || dayS > dayEnd || hourS > hourEnd || minuteS > minuteEnd){
everythingCorrect = false;
JOptionPane.showMessageDialog(null, "End time is earlier then start time!");
}
else if (dayS != dayEnd || monthS.equals(monthEnd) == false || yearS != yearEnd){
everythingCorrect = false;
JOptionPane.showMessageDialog(null, "Event is too long!");
} else if (name.isEmpty()){
everythingCorrect = false;
JOptionPane.showMessageDialog(null, "Fill in a correct name!");
} else if (stage == null){
everythingCorrect = false;
JOptionPane.showMessageDialog(null, "Missing a stage!");
} else if (artist == null){
JOptionPane.showMessageDialog(null, "Missing a artist!");
}
if (everythingCorrect == true)
{
Event event = new Event(name,yearS,monthToInt(monthS),dayS,hourS,minuteS,yearEnd,monthToInt(monthEnd),dayEnd,hourEnd, minuteEnd, artist, stage,description, popularity);
agenda.addEvent(event);
everythingCorrect = false;
JOptionPane.showMessageDialog(null, "Event added!");
setVisible(false);
dispose();
}
}
});
setContentPane(content);
setVisible(true);
setSize(640,320);
}
public int monthToInt(String month)
{
int number = 0;
switch (month)
{
case "January": number = 0; break;
case "February": number = 1; break;
case "March": number = 2; break;
case "April": number = 3; break;
case "May": number = 4; break;
case "June":number = 5; break;
case "July": number = 6; break;
case "August": number = 7; break;
case "September":number = 8; break;
case "October": number = 9; break;
case "November": number = 10; break;
case "December": number = 11; break;
}
return number;
}
public int monthDays(String month)
{
int number = 0;
switch (month)
{
case "January": number = 31; break;
case "February": number = 28; break;
case "March": number = 31; break;
case "April": number = 30; break;
case "May": number = 31; break;
case "June":number = 30; break;
case "July": number = 31; break;
case "August": number = 31; break;
case "September":number = 30; break;
case "October": number = 31; break;
case "November": number = 30; break;
case "December": number = 31; break;
}
return number;
}
}
-92
View File
@@ -1,92 +0,0 @@
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class AddStagePanel extends JFrame{
private static final long serialVersionUID = 1;
public AddStagePanel(Agenda agenda)
{
super("Stage addscreen!");
agenda.addStage(new Stage("mainstage", "niks"));
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel content = new JPanel(new BorderLayout());
JPanel south = new JPanel(new FlowLayout());
JPanel center = new JPanel(new GridLayout(2,2));
content.add(south, BorderLayout.SOUTH);
content.add(center, BorderLayout.CENTER);
JPanel panel1 = new JPanel();
JLabel name = new JLabel("Stage name: ");
panel1.add(name);
center.add(panel1);
JPanel panel2 = new JPanel();
JTextField nameTF = new JTextField("",15);
panel2.add(nameTF);
center.add(panel2);
JLabel description = new JLabel("Stage Description: ");
JPanel panel3 = new JPanel();
panel3.add(description);
center.add(panel3);
JTextField descriptionTF = new JTextField("",15);
JPanel panel4 = new JPanel();
panel4.add(descriptionTF);
center.add(panel4);
JButton add = new JButton("Add stage!");
south.add(add);
add.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e) {
String name = nameTF.getText();
String description = descriptionTF.getText();
boolean alreadyExists = false;
for (Stage stage : agenda.stages)
{
if (stage.getName().equals(name))
{
alreadyExists = true;
}
}
if (name.isEmpty()){
JOptionPane.showMessageDialog(null, "Fill in a correct name!");
}
else if ( alreadyExists == false )
{
Stage s = new Stage(name,description);
agenda.addStage(s);
JOptionPane.showMessageDialog(null, "Stage added!");
setVisible(false);
dispose();
}
else {
JOptionPane.showMessageDialog(null, "Choose a different stage name!");
}
}
});
setContentPane(content);
setVisible(true);
setSize(400,180);
}
}
-214
View File
@@ -1,214 +0,0 @@
import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileFilter;
public class Agenda implements Serializable {
private static final long serialVersionUID = 1;
private ArrayList<Stage> stages;
private ArrayList<Event> events;
private ArrayList<Artist> artists;
public Agenda() {
stages = new ArrayList<Stage>();
events = new ArrayList<Event>();
artists = new ArrayList<Artist>();
}
public void addStage(Stage stage){
stages.add(stage);
}
public void addEvent(Event event) {
events.add(event);
}
public void addArtist(Artist artist) {
artists.add(artist);
}
public void saveAgenda()
{
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(new FileFilter() {
@Override
public boolean accept(File pathname) {
if(pathname.isFile() && pathname.getName().endsWith(".dat"))
{
return true;
}else if(pathname.isDirectory()){return true;}else{return false;}
}
@Override
public String getDescription() {
return ".dat";
}
});
fileChooser.setDialogTitle("Choose save location");
int userSelection = fileChooser.showSaveDialog(null);
if(userSelection == JFileChooser.APPROVE_OPTION)
{
File file = fileChooser.getSelectedFile();
if(!file.getName().endsWith(".dat"))
{
file = new File(file.getAbsolutePath() + ".dat");
}
if(file.exists())
{
if(JOptionPane.showConfirmDialog(null, "Are you sure you want to overwrite: " + file.getName(), "Overwrite", JOptionPane.YES_NO_OPTION) == JOptionPane.OK_OPTION)
{
saveAgenda(file);
}
}
else
{
saveAgenda(file);
}
}
}
public void loadAgenda()
{
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(new FileFilter() {
@Override
public boolean accept(File pathname) {
if(pathname.isFile() && pathname.getName().endsWith(".dat"))
{
return true;
}else if(pathname.isDirectory()){return true;}else{return false;}
}
@Override
public String getDescription() {
return ".dat";
}
});
fileChooser.setDialogTitle("Choose file");
int userSelection = fileChooser.showOpenDialog(null);
if(userSelection == JFileChooser.APPROVE_OPTION)
{
File file = fileChooser.getSelectedFile();
if(!file.exists())
{
JOptionPane.showMessageDialog(null, "This file does not exist: " + file.getName());
}
else
{
fillAgenda(file);
}
}
}
public void fillAgenda(File file) {
FileInputStream fis = null;
ObjectInputStream ois = null;
try {
fis = new FileInputStream(file);
ois = new ObjectInputStream(fis);
Object object;
object = ois.readObject();
try {
while (object != null) {
events.add((Event) object);
object = ois.readObject();
}
} catch (EOFException e) {
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void fillArtists()
{
for (Event e : events)
{
boolean exists = false;
String name = e.getArtist().getName();
for (Artist a : artists)
{
if ( a.getName().equals(name) ) {
exists = true;
}
}
if ( exists == false) {
addArtist(e.getArtist());
}
}
}
public void fillStages()
{
for (Event e : events)
{
boolean exists = false;
String name = e.getStage().getName();
for (Stage s : stages)
{
if ( s.getName().equals(name) ) {
exists = true;
}
}
if ( exists == false) {
addStage(e.getStage());
}
}
}
public void saveAgenda(File file) {
try {
FileOutputStream fos = new FileOutputStream(file);
ObjectOutputStream oos = new ObjectOutputStream(fos);
for (Event event : events) {
oos.writeObject(event);
}
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public void clearAgenda()
{
events.clear();
}
public void fillAllLists()
{
loadAgenda();
fillStages();
fillArtists();
}
public static void main(String[] args)
{
Agenda a = new Agenda();
a.fillAllLists();
System.out.println(a.events.get(0).getEventName());
}
}
+55
View File
@@ -0,0 +1,55 @@
package nl.kennyboy;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.GregorianCalendar;
import nl.kennyboy.EventSorter.Mode;
public class Agenda implements Serializable {
private static final long serialVersionUID = -383023632433640516L;
ArrayList<Event> afspraken;
EventSorter sort;
public Agenda()
{
afspraken = new ArrayList<Event>();
sort = new EventSorter(Mode.SORT_ASC);
}
public void add(Event afspraak)
{
afspraken.add(afspraak);
}
public void add(GregorianCalendar startDate, GregorianCalendar endDate, String name, String desc)
{
new Event(startDate, endDate, name, desc);
}
public void add(int startYear, int startMonth, int startDay, int endYear, int endMonth, int endDay, String name, String desc)
{
new Event(startYear, startMonth,startDay, endYear, endMonth, endDay, name, desc);
}
public void sort(EventSorter.Mode mode)
{
sort.changeMode(mode);
Collections.sort(afspraken, sort);
}
public String toString()
{
String str = "";
str += "All event sorted " + sort.getModeDesc() + ":\n";
for(Event asp : afspraken)
{
str += "\t" + asp + "\n";
}
return str;
}
}
-70
View File
@@ -1,70 +0,0 @@
import java.io.Serializable;
import javax.swing.ImageIcon;
public class Artist implements Serializable{
private static final long serialVersionUID = 1;
private String name;
private String genre;
private ImageIcon image;
private String description;
public Artist(String name, String genre, String image, String description)
{
this.name = name;
this.genre = genre;
this.description = description;
if ( !image.equals("null")) {
this.image = new ImageIcon(image);
}
}
public String getName()
{
return this.name;
}
public String getGenre()
{
return this.genre;
}
public ImageIcon getImage()
{
return this.image;
}
public String getDescription()
{
return this.description;
}
public void setName(String name)
{
this.name = name;
}
public void setGenre(String genre)
{
this.genre = genre;
}
public void setImageIconString(String image)
{
this.image = new ImageIcon(image);
}
public void setImageIcon(ImageIcon image)
{
this.image = image;
}
public void setDescription(String description)
{
this.description = description;
}
}
-123
View File
@@ -1,123 +0,0 @@
import java.io.Serializable;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
public class Event implements Serializable {
private static final long serialVersionUID = 1;
private String eventName;
private GregorianCalendar startDate;
private GregorianCalendar endDate;
private Artist artist;
private Stage stage;
private String description;
private int expectedPopularity;
public Event(String eventName, int startYear, int startMonth, int startDay,
int startHour, int startMinute, int endYear, int endMonth,
int endDay, int endHour, int endMinute, Artist artist, Stage stage,
String description, int expectedPopularity) {
this.eventName = eventName;
this.startDate = new GregorianCalendar(startYear, startMonth - 1,
startDay, startHour, startMinute);
this.endDate = new GregorianCalendar(endYear, endMonth - 1, endDay,
endHour, endMinute);
this.stage = stage;
this.artist = artist;
this.description = description;
this.expectedPopularity = expectedPopularity;
}
public Event(String eventName, GregorianCalendar startDate,
GregorianCalendar endDate, Artist artist, Stage stage,
String description, int expectedPopularity) {
this.eventName = eventName;
this.startDate = startDate;
this.endDate = endDate;
this.artist = artist;
this.stage = stage;
this.description = description;
this.expectedPopularity = expectedPopularity;
}
public String getEventName() {
return this.eventName;
}
public GregorianCalendar getStartDate() {
return this.startDate;
}
public GregorianCalendar getEndDate() {
return this.endDate;
}
public Artist getArtist() {
return this.artist;
}
public String getDescription() {
return this.description;
}
public Stage getStage() {
return this.stage;
}
public int getExpectedPopularity() {
return this.expectedPopularity;
}
public void setEventName(String name) {
this.eventName = name;
}
public void setStartDate(int startYear, int startMonth, int startDay,
int startHour, int startMinute) {
startDate.set(startYear, startMonth - 1, startDay, startHour,
startMinute);
}
public void setStartDate(GregorianCalendar startDate) {
this.startDate = startDate;
}
public void setEndDate(int endYear, int endMonth, int endDay, int endHour,
int endMinute) {
endDate.set(endYear, endMonth - 1, endDay, endHour, endMinute);
}
public void setEndDate(GregorianCalendar endDate) {
this.endDate = endDate;
}
public void setArtist(Artist artist) {
this.artist.setName(artist.getName());
this.artist.setGenre(artist.getGenre());
this.artist.setImageIcon(artist.getImage());
this.artist.setDescription(artist.getDescription());
}
public void setDescription(String description) {
this.description = description;
}
public void setExpectedPopularity(int popularity) {
this.expectedPopularity = popularity;
}
public void setStage(Stage stage) {
this.stage = stage;
}
public String toString() {
DateFormat format = new SimpleDateFormat("dd-MM-yyyy");
format.setLenient(false);
return artist.getName() + " plays from "
+ format.format(startDate.getTime()) + " to "
+ format.format(endDate.getTime()) + ".";
}
}
+81
View File
@@ -0,0 +1,81 @@
package nl.kennyboy;
import java.io.Serializable;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
public class Event implements Serializable, Comparable<Event>
{
private static final long serialVersionUID = -8412700922907201793L;
GregorianCalendar startDate;
GregorianCalendar endDate;
String name;
String desc;
public Event(GregorianCalendar startDate, GregorianCalendar endDate, String name, String desc)
{
this.startDate = startDate;
this.endDate = endDate;
this.name = name;
this.desc = desc;
}
public Event(int startYear, int startMonth, int startDay, int endYear, int endMonth, int endDay, String name, String desc)
{
this(new GregorianCalendar(startYear, startMonth-1, startDay), new GregorianCalendar(endYear, endMonth-1, endDay),name, desc);
}
//Getters and Setters
public GregorianCalendar getStartDate() {
return startDate;
}
public void setStartDate(GregorianCalendar startDate) {
this.startDate = startDate;
}
public GregorianCalendar getEndDate() {
return endDate;
}
public void setEndDate(GregorianCalendar endDate) {
this.endDate = endDate;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public int compareTo(Event o) {
if(startDate.before(o.getStartDate()))
{
return -1;
}
if(startDate.after(o.getStartDate()))
{
return 1;
}
if(startDate.equals(o.getStartDate()))
{
return 0;
}
return 0;
}
public String toString()
{
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
formatter.setLenient(false);
return name + " from " + formatter.format(startDate.getTime()) + " to " + formatter.format(endDate.getTime());
}
}
+135
View File
@@ -0,0 +1,135 @@
package nl.kennyboy;
import java.io.Serializable;
import java.util.Comparator;
public class EventSorter implements Serializable, Comparator<Event> {
public enum Mode {
SORT_ASC,
SORT_DESC,
SORT_LENGTH_ASC,
SORT_LENGTH_DESC
}
Mode mode;
public EventSorter(Mode mode)
{
this.mode = mode;
}
public void changeMode(Mode mode)
{
this.mode = mode;
}
public String getModeDesc()
{
switch(mode)
{
default:
case SORT_ASC:
return "alphabetically";
case SORT_DESC:
return "reverse alphabetically";
case SORT_LENGTH_ASC:
return "shortest first";
case SORT_LENGTH_DESC:
return "longstest first";
}
}
@Override
public int compare(Event asp1, Event asp2) {
switch(mode)
{
default:
case SORT_ASC:
return sortAsc(asp1, asp2);
case SORT_DESC:
return sortDesc(asp1, asp2);
case SORT_LENGTH_ASC:
return sortLenAsc(asp1, asp2);
case SORT_LENGTH_DESC:
return sortLenDesc(asp1, asp2);
}
}
public int sortAsc(Event asp1, Event asp2)
{
if(asp1.getStartDate().before(asp2.getStartDate()))
{
return -1;
}
if(asp1.getStartDate().after(asp2.getStartDate()))
{
return 1;
}
if(asp1.getStartDate().equals(asp2.getStartDate()))
{
return 0;
}
return 0;
}
public int sortDesc(Event asp1, Event asp2)
{
if(asp1.getStartDate().after(asp2.getStartDate()))
{
return -1;
}
if(asp1.getStartDate().before(asp2.getStartDate()))
{
return 1;
}
if(asp1.getStartDate().equals(asp2.getStartDate()))
{
return 0;
}
return 0;
}
public int sortLenAsc(Event asp1, Event asp2)
{
long len1 = asp1.getEndDate().getTimeInMillis() - asp1.getStartDate().getTimeInMillis();
long len2 = asp2.getEndDate().getTimeInMillis() - asp2.getStartDate().getTimeInMillis();
if(len1 < len2)
{
return -1;
}
if(len2 < len1)
{
return 1;
}
if(len1 == len2)
{
return 0;
}
return 0;
}
public int sortLenDesc(Event asp1, Event asp2)
{
long len1 = asp1.getEndDate().getTimeInMillis() - asp1.getStartDate().getTimeInMillis();
long len2 = asp2.getEndDate().getTimeInMillis() - asp2.getStartDate().getTimeInMillis();
if(len1 > len2)
{
return -1;
}
if(len2 > len1)
{
return 1;
}
if(len1 == len2)
{
return 0;
}
return 0;
}
}
-5
View File
@@ -1,5 +0,0 @@
public class GUI {
//Leeg
}
+37
View File
@@ -0,0 +1,37 @@
package nl.kennyboy;
import nl.kennyboy.EventSorter.Mode;
public class Main {
public static void main(String[] args) {
new Main();
}
Agenda agenda;
Window window;
public Main()
{
agenda = new Agenda();
window = new Window();
test();
}
public void test()
{
/*
agenda.add(new Event(2014, 12, 1, 2014, 12, 2, "School", "Doe iets op school"));
agenda.add(new Event(2014, 11, 2, 2014, 11, 4, "School2", "Doe nog iets op school"));
agenda.sort(Mode.SORT_LENGTH_DESC);
window.setText(agenda + "");
SaveLoad.saveFile(agenda);
*/
agenda = (Agenda) SaveLoad.loadFile();
window.setText(agenda + "");
}
}
+8
View File
@@ -0,0 +1,8 @@
# FestivalPlanner
Avans - Technische Informatica - Periode 3 - Project Festival Planner
##Project Leden
* Kenneth van Ewijk
##Branch
Deze branch is van Kenneth van Ewijk
+127
View File
@@ -0,0 +1,127 @@
package nl.kennyboy;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileFilter;
public class SaveLoad {
public SaveLoad() {
// TODO Auto-generated constructor stub
}
public static void saveFile(Object obj)
{
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(new FileFilter() {
@Override
public boolean accept(File pathname) {
if(pathname.isFile() && pathname.getName().endsWith(".agn"))
{
return true;
}else if(pathname.isDirectory()){return true;}else{return false;}
}
@Override
public String getDescription() {
return "Agenda (.agn)";
}
});
fileChooser.setDialogTitle("Choose save location");
int userSelection = fileChooser.showSaveDialog(null);
if(userSelection == JFileChooser.APPROVE_OPTION)
{
File file = fileChooser.getSelectedFile();
if(!file.getName().endsWith(".agn"))
{
file = new File(file.getAbsolutePath() + ".agn");
}
if(file.exists())
{
if(JOptionPane.showConfirmDialog(null, "Are you sure you want to overwrite: " + file.getName(), "Overwrite", JOptionPane.YES_NO_OPTION) == JOptionPane.OK_OPTION)
{
save(obj, file);
}
}
else
{
save(obj, file);
}
}
}
public static Object loadFile()
{
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(new FileFilter() {
@Override
public boolean accept(File pathname) {
if(pathname.isFile() && pathname.getName().endsWith(".agn"))
{
return true;
}else if(pathname.isDirectory()){return true;}else{return false;}
}
@Override
public String getDescription() {
return "Agenda (.agn)";
}
});
fileChooser.setDialogTitle("Choose file");
int userSelection = fileChooser.showOpenDialog(null);
if(userSelection == JFileChooser.APPROVE_OPTION)
{
File file = fileChooser.getSelectedFile();
if(!file.exists())
{
JOptionPane.showMessageDialog(null, "This file does not exist: " + file.getName());
}
else
{
return load(file);
}
}
return null;
}
private static void save(Object obj, File file)
{
ObjectOutputStream oostr = null;
try {
oostr = new ObjectOutputStream(new FileOutputStream(file));
oostr.writeObject(obj);
oostr.flush();
oostr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private static Object load(File file)
{
ObjectInputStream oistr = null;
try {
oistr = new ObjectInputStream(new FileInputStream(file));
Object obj = oistr.readObject();
oistr.close();
return obj;
} catch (IOException | ClassNotFoundException e) {
return null;
}
}
}
-35
View File
@@ -1,35 +0,0 @@
import java.io.Serializable;
public class Stage implements Serializable {
private static final long serialVersionUID = 1;
private String name;
private String description;
public Stage(String name, String description)
{
this.name = name;
this.description = description;
}
public String getName()
{
return this.name;
}
public String getDescription()
{
return this.description;
}
public void setDescription(String description)
{
this.description = description;
}
public void setName(String name)
{
this.name = name;
}
}
+33
View File
@@ -0,0 +1,33 @@
package nl.kennyboy;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class Window extends JFrame {
private static final long serialVersionUID = 4468821981332661759L;
JTextArea tarea;
public Window()
{
super("Agenda");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(500,600);
JPanel contentPanel = new JPanel();
tarea = new JTextArea(10,20);
tarea.setEditable(false);
contentPanel.add(tarea);
setContentPane(contentPanel);
setVisible(true);
}
public void setText(String str)
{
tarea.setText(str);
}
}
-16
View File
@@ -1,16 +0,0 @@
Eventuele methode om de Arraylisten mee te vullen.
public void test()
{
Artist artist = new Artist("Paul", "Rock", "null", "description");
Event e = new Event(2015,2,13,15,0,2015,2,13,16,0,artist,"Description",7, 1);
Stage s = new Stage("Main Stage", 1);
addArtist(artist);
addEvent(e);
addStage(s);
saveAll();
fillAll();
System.out.println("Saved All Data!");
}