Package orgainzer

Source Code of orgainzer.Main

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/*
* Main.java
*
* Created on 03/10/2009, 01:29:49 م
*/

package orgainzer;

import java.io.*;

import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.table.DefaultTableModel;
import orgainzer.Tasks;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author AHMED
*/
public class Main extends javax.swing.JFrame {

    /** Creates new form Main */
    public Main() {
        //Map<int,string> m = new
        initComponents();
        T = new Tasks[50];
        Task_Number = 0;
        Read_From_File();
    }
        int Edit_Row = -1;
        Tasks[] T;
        int Task_Number;
        NewTask N = new NewTask(this);
        int Row = -1;
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        Button_NewTask = new javax.swing.JButton();
        Button_Edit = new javax.swing.JButton();
        Button_View = new javax.swing.JButton();
        Button_Delete = new javax.swing.JButton();
        Button_Organizer = new javax.swing.JButton();
        Button_Exit = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        Table_TaskList = new javax.swing.JTable();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jMenuItem1 = new javax.swing.JMenuItem();
        jMenuItem2 = new javax.swing.JMenuItem();
        jMenuItem3 = new javax.swing.JMenuItem();
        jMenu2 = new javax.swing.JMenu();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("OrGainzar");

        Button_NewTask.setText("New Task");
        Button_NewTask.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Button_NewTaskActionPerformed(evt);
            }
        });

        Button_Edit.setText("Edit");
        Button_Edit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Button_EditActionPerformed(evt);
            }
        });

        Button_View.setText("View");
        Button_View.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Button_ViewActionPerformed(evt);
            }
        });

        Button_Delete.setText("Delete");
        Button_Delete.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Button_DeleteActionPerformed(evt);
            }
        });

        Button_Organizer.setText("Organize");
        Button_Organizer.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Button_OrganizerActionPerformed(evt);
            }
        });

        Button_Exit.setText("Exit");
        Button_Exit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Button_ExitActionPerformed(evt);
            }
        });

        Table_TaskList.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Name", "Description", "Periodically", "Once", "Alarm Date", "Alarm Time"
            }
        ) {
            Class[] types = new Class [] {
                java.lang.String.class, java.lang.String.class, java.lang.Boolean.class, java.lang.Boolean.class, java.lang.String.class, java.lang.String.class
            };
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false, false
            };

            public Class getColumnClass(int columnIndex) {
                return types [columnIndex];
            }

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane1.setViewportView(Table_TaskList);

        jMenu1.setText("File");

        jMenuItem1.setText("jMenuItem1");
        jMenu1.add(jMenuItem1);

        jMenuItem2.setText("jMenuItem2");
        jMenu1.add(jMenuItem2);

        jMenuItem3.setText("jMenuItem3");
        jMenu1.add(jMenuItem3);

        jMenuBar1.add(jMenu1);

        jMenu2.setText("Edit");
        jMenuBar1.add(jMenu2);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(Button_Delete)
                    .addComponent(Button_View)
                    .addComponent(Button_Edit)
                    .addComponent(Button_NewTask)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                        .addComponent(Button_Exit, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(Button_Organizer, javax.swing.GroupLayout.Alignment.LEADING)))
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 578, Short.MAX_VALUE)
                .addContainerGap())
        );

        layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {Button_Delete, Button_Edit, Button_Exit, Button_NewTask, Button_Organizer, Button_View});

        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(Button_NewTask)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(Button_Edit)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(Button_View)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(Button_Delete)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(Button_Organizer)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(Button_Exit))
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 308, Short.MAX_VALUE))
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void Button_NewTaskActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Button_NewTaskActionPerformed
        // TODO add your handling code here:
        N.setVisible(true);
    }//GEN-LAST:event_Button_NewTaskActionPerformed

    private void Button_EditActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Button_EditActionPerformed
        // TODO add your handling code here:
        try{
            Edit_Row = Get_Row_Number();
            if(Edit_Row != -1)
            {
                JOptionPane.showMessageDialog(this,"Get_Row_Number" + Edit_Row);
                N.setVisible(true);
            }
            else
            {
                JOptionPane.showMessageDialog(this,"Select a row to be edited");
            }

            }
        catch(Exception E)
            {
                   JOptionPane.showMessageDialog(this, "Please Select A Line In the Table");
                    E = null;
            }
    }//GEN-LAST:event_Button_EditActionPerformed

    private void Button_ViewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Button_ViewActionPerformed
        // TODO add your handling code here:
        Read_From_File();
    }//GEN-LAST:event_Button_ViewActionPerformed

    void Delete_File()
    {
        String fileName = "Database.txt";
        // A File object to represent the filename
        File f = new File(fileName);
        // Make sure the file or directory exists and isn't write protected
        if (!f.exists())
          throw new IllegalArgumentException(
              "Delete: no such file or directory: " + fileName);
        if (!f.canWrite())
          throw new IllegalArgumentException("Delete: write protected: "
              + fileName);
        // If it is a directory, make sure it is empty
        if (f.isDirectory()) {
          String[] files = f.list();
          if (files.length > 0)
            throw new IllegalArgumentException(
                "Delete: directory not empty: " + fileName);
        }
        // Attempt to delete it
        boolean success = f.delete();
        if (!success)
          throw new IllegalArgumentException("Delete: deletion failed");
    }
    private void Button_DeleteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Button_DeleteActionPerformed
        // TODO add your handling code here:
        Delete_TableRow(-10);
        Delete_Class();
        //Delete_FileRow();
        //Delete_File();
        Delete_Row_From_File();
    }//GEN-LAST:event_Button_DeleteActionPerformed

    private void Button_ExitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Button_ExitActionPerformed
        // TODO add your handling code here:
        this.dispose();
    }//GEN-LAST:event_Button_ExitActionPerformed

    private void Button_OrganizerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Button_OrganizerActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_Button_OrganizerActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Main().setVisible(true);
            }
        });
    }

    void Read_From_File()
    {
        try {
           
            File Data_File = new File("Database.txt");
            if(!Data_File.exists())
            {
                boolean New_File = Data_File.createNewFile();
            }

            FileInputStream Input = new FileInputStream(Data_File);
            DataInputStream Datain = new DataInputStream(Input);
            BufferedReader InputBuffer = new BufferedReader(new InputStreamReader(Datain));
            String Input_String;
            while((Input_String = InputBuffer.readLine()) != null)
            {
                Convert_FileTo_Task(Input_String);
            }
            InputBuffer.close();
//            Input.
//            Output.write("\r\n");
//            Output.close();
        } catch (IOException ex) {
            Logger.getLogger(NewTask.class.getName()).log(Level.SEVERE, null, ex);
        }
    }


    void Convert_FileTo_Task(String Input)
    {
        String Swap;
        System.out.println(Input);
        char[] Line_Array = Input.toCharArray();
        int Point = 0;
        int Word_Number =0;
        for(int i=0; i < Line_Array.length ; i++)
        {
            if(Line_Array[i] == ',')
            {
                if(Word_Number == 0)
                {
                    T[Task_Number] = new Tasks();
                    T[Task_Number].setNumber(Integer.parseInt(Input.substring(Point,i)));
                    Word_Number++;
                }else
                if(Word_Number == 1)
                {
                    T[Task_Number].setName(Input.substring(Point, i));
                    Word_Number++;
                }else
                if(Word_Number == 2)
                {
                    T[Task_Number].setDescription(Input.substring(Point, i));
                    Word_Number++;
                }else
                if(Word_Number == 3)
                {
                    T[Task_Number].setDay(Integer.parseInt(Input.substring(Point, i)));
                    Word_Number++;
                }else
                if(Word_Number == 4)
                {
                    T[Task_Number].setMonth(Integer.parseInt(Input.substring(Point, i)));
                    Word_Number++;
                }else
                if(Word_Number == 5)
                {
                    T[Task_Number].setYear(Integer.parseInt(Input.substring(Point, i)));
                    Word_Number++;
                }else
                if(Word_Number == 6)
                {
                    T[Task_Number].setMinute(Integer.parseInt(Input.substring(Point, i)));
                    Word_Number++;
                }else
                if(Word_Number == 7)
                {
                    T[Task_Number].setHour(Integer.parseInt(Input.substring(Point, i)));
                    Word_Number++;
                }else
                if(Word_Number == 8)
                {
                    String Flag = Input.substring(Point, i);
                    String F = "true";
                    String TF = "false";
                    if( Flag.equals(F))
                    {
                        T[Task_Number].setPeriodic(true);
                    }else
                        if(Flag.equals(TF))
                        {
                            T[Task_Number].setPeriodic(false);
                        }
                    Word_Number++;
                }else
                if(Word_Number == 9 )
                {
                    T[Task_Number].setPeriod(Integer.parseInt(Input.substring(Point, i)));
                }
                Point = i+1;
            }
        }
        Word_Number = 0;
        Point = 0;
        Task_Number++;
        View_Task_Table();

    }

    public void Get_Task()
    {
        N.New_Task.setNumber(Task_Number);
        T[Task_Number] = N.New_Task;
        Task_Number++;
        View_Task_Table();
    }

    void View_Task_Table()
    {
        try{
                DefaultTableModel Model = (DefaultTableModel)Table_TaskList.getModel();
                String Time;
                String Date;
                int i = Task_Number-1;
                Time = T[i].getHour()+ ":"+ T[i].getMinute();
                Date = T[i].getDay()+ "/"+T[i].getMonth()+"/"+T[i].getYear();
                //JOptionPane.showMessageDialog(this, T[Task_Number].getName());
                Model.addRow( new Object[] {T[i].getName(),T[i].getDescription(),T[i].getPeriodic(),
                !T[i].getPeriodic(),Date,Time});
                Model = null;
        }catch(Exception E)
        {
            JOptionPane.showMessageDialog(this,"Exeption In the View Task Table");
            E = null;
        }
    }
    int Get_Row_Number()
    {
        int Selected_row = -1;
        try{
                Selected_row = Table_TaskList.getSelectedRow();
            }
        catch(Exception E)
            {
                   JOptionPane.showMessageDialog(this, "Please Select A Line In the Table");
                    E = null;
            }
        return Selected_row;
    }
    void Delete_TableRow( int Row_Num)
    {
        try{
            int Selected_row;
            if(Row_Num == -10)
            {
                Selected_row = Get_Row_Number();
            }else
            {
                Selected_row = Row_Num;
            }
                Row = Selected_row;
                if(Selected_row == -1)
                    JOptionPane.showMessageDialog(this,"Error in row selection");
                else
                {
                    DefaultTableModel Model = (DefaultTableModel)Table_TaskList.getModel();
                    Model.removeRow(Selected_row);
                }
            }
        catch(Exception E)
            {
                   JOptionPane.showMessageDialog(this, "Please Select A Line In the Table");
                    E = null;
            }
    }
    void Delete_Class()
    {
        try{
        for(int i = Row; i < Task_Number -1; i++)
        {
            //JOptionPane.showMessageDialog(this, "Before Swaping " + String.valueOf(T[i+1].getNumber()));
            T[i+1].setNumber((T[i+1].getNumber()-1));
            T[i] = T[i+1];
            //JOptionPane.showMessageDialog(this, "After Swaping " + String.valueOf(T[i+1].getNumber()));
        }
        T[Task_Number-1] = null;
        Task_Number = Task_Number - 1;
        }catch(Exception E)
        {
            JOptionPane.showMessageDialog(this, "Error in Delete Class");
        }
    }
    void Delete_Row_From_File()
    {
        try{
            N.Write_InFile(T[0],false);
            for(int i = 1; i < Task_Number; i++)
            {
                N.Write_InFile(T[i], true);
            }
        }catch(Exception E){
            JOptionPane.showMessageDialog(this, "Error in Updating Database");
        }
    }
    void Delete_FileRow()
    {
        try{
                int Selected_row = Row;
                boolean Row_Deleted = false;
                if(Selected_row == -1)
                    JOptionPane.showMessageDialog(this,"Error in row selection");
                else
                {
                    File Original_File = new File("Database.txt");
                    FileInputStream Input = new FileInputStream(Original_File);
                    DataInputStream Datain = new DataInputStream(Input);
                    BufferedReader InputBuffer = new BufferedReader(new InputStreamReader(Datain));
                    String Input_String;
                    Writer Output = null;
                    File DataBase_File = new File("Data.txt");
                    Output = new BufferedWriter(new FileWriter(DataBase_File,true));
                    while((Input_String = InputBuffer.readLine()) != null)
                    {
                        if(Input_String.substring(0, 1).equals(String.valueOf(Selected_row)))
                        {
                            JOptionPane.showMessageDialog(this,Input_String);
                            Row_Deleted = true;
                        }
                        else
                            if(Row_Deleted == true)
                            {
                                Output.write(Selected_row+ Input_String.substring(1) + "\r\n");
                                Output.flush();
                                Selected_row++;
                            }else
                            {
                                Output.write(Input_String + "\r\n");
                                Output.flush();
                            }
                    }
                    Output.close();
                    InputBuffer.close();
                    if(!Original_File.delete())
                    {
                        JOptionPane.showMessageDialog(this,"Error In Editing Data File Delete");
                    }else
                        if(!DataBase_File.renameTo(Original_File))
                        {
                            JOptionPane.showMessageDialog(this,"Error In Editing Data ");
                        }
                }
            }
        catch(Exception E)
            {
                   JOptionPane.showMessageDialog(this, "Please Select A Line In the Table");
                    E = null;
            }

    }
    void Clear_Viewing_Table()
    {
        DefaultTableModel Model = (DefaultTableModel)Table_TaskList.getModel();
        //Model.removeRow(Selected_row);
        while (Model.getRowCount()>0)
        {
            Model.removeRow(0);
        }
    }
    void Delete_File_Row_New(String Delete_Or_Edit_String)
    {
        try{
                int Selected_row = Row;
                boolean Row_Deleted_Or_Edited = false;
                if(Selected_row == -1)
                    JOptionPane.showMessageDialog(this,"Error in row selection");
                else
                {
                    File Original_File = new File("Database.txt");
                    FileInputStream Input = new FileInputStream(Original_File);
                    DataInputStream Datain = new DataInputStream(Input);
                    BufferedReader InputBuffer = new BufferedReader(new InputStreamReader(Datain));
                    String Input_String;
                    Writer Output = null;
                    File DataBase_File = new File("Data.txt");
                    Output = new BufferedWriter(new FileWriter(DataBase_File,true));
                    while((Input_String = InputBuffer.readLine()) != null)
                    {
                        if(Input_String.substring(0, 1).equals(String.valueOf(Selected_row)))
                        {
                            JOptionPane.showMessageDialog(this,Input_String);
                            Row_Deleted_Or_Edited = true;
                            if(Delete_Or_Edit_String != null)
                            {
                                Output.write(Delete_Or_Edit_String + "\r\n");
                            }
                        }
                        else
                            if(Row_Deleted_Or_Edited == true)
                            {
                                Output.write(Selected_row+ Input_String.substring(1) + "\r\n");
                                Output.flush();
                                Selected_row++;
                            }else
                            {
                                Output.write(Input_String + "\r\n");
                                Output.flush();
                            }
                    }
                    Output.close();
                    InputBuffer.close();
                    if(!Original_File.delete())
                    {
                        JOptionPane.showMessageDialog(this,"Error In Editing Data File Delete");
                    }else
                        if(!DataBase_File.renameTo(Original_File))
                        {
                            JOptionPane.showMessageDialog(this,"Error In Editing Data ");
                        }
                }
            }
        catch(Exception E)
            {
                   JOptionPane.showMessageDialog(this, "Please Select A Line In the Table");
                    E = null;
            }

    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton Button_Delete;
    private javax.swing.JButton Button_Edit;
    private javax.swing.JButton Button_Exit;
    private javax.swing.JButton Button_NewTask;
    private javax.swing.JButton Button_Organizer;
    private javax.swing.JButton Button_View;
    private javax.swing.JTable Table_TaskList;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem1;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JMenuItem jMenuItem3;
    private javax.swing.JScrollPane jScrollPane1;
    // End of variables declaration//GEN-END:variables

}

/* Add Clock to Check On the Tasks */
/* Function the Edit button */
TOP

Related Classes of orgainzer.Main

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.