Witam. Mam wielką prośbę ,chciałbym zmienić kolejność kolumn pliku MAGAZYNP.csv który jest ładowany i wyświetlany
Z takiego:
NRKARTY;DATAD;MASA;JEDN;FIRMA;NR_MAG;NR_ODPADU;NR_KLIENTA
Na taki:
NRKARTY;DATAD;MASA;JEDN;FIRMA;NR_KLIENTA;NR_ODPADU;NR_MAG
Czy mógłby mi ktoś powiedzieć która część kodu za to odpowiada ?
Z góry dziękuję za wszelką pomoc .
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package kowalski;
import java.awt.event.ActionEvent;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.TreeMap;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.table.AbstractTableModel;
class slownik{
String opis;
int NR_KLIENTA;
String typ;
String grupa;
String podgrupa;
String rodzaj;
}
class dostawcy{
int NR_ODPADU;
String nazwa;
String miejscowosc;
String ulica;
}
class magazyn{
int NR_ODPADU;
int NR_KLIENTA;
int firma;
int nr_mag;
String data;
String nr_karty;
String jednostka;
double masa;
}
class comparatorkod implements Comparator{
private int a;
public comparatorkod(String s){
if(s.equals("MW")) a=0;
else a=1;
}
public int compare(Object o1, Object o2) {
switch(a){
case 0: {
return MW.MW.get(o1).NR_KLIENTA-MW.MW.get(o2).NR_KLIENTA;
}
case 1: {
return MP.MP.get(o1).NR_KLIENTA-MP.MP.get(o2).NR_KLIENTA;
}
}
return 0;
}
}
class comparatorfirm implements Comparator{
private int a;
public comparatorfirm(String s){
if(s.equals("MW")) a=0;
else a=1;
}
public int compare(Object o1, Object o2) {
switch(a){
case 0: return (MW.MW.get(o1.toString()).firma)-(MW.MW.get(o2.toString()).firma);
case 1: return (MP.MP.get(o1.toString()).firma)-(MP.MP.get(o2.toString()).firma);
}
return 0;
}
}
class comparatorkart implements Comparator{
private int a;
comparatorkart(String s) {
if(s.equals("MW")) a=0;
else a=1;
}
public int compare(Object o1, Object o2) {
int[] dane = new int[6];
switch(a){
case 0:{
String[] karta=MW.MW.get(o1.toString()).nr_karty.split("/");
String[] karta2=MW.MW.get(o2.toString()).nr_karty.split("/");
for(int b=0,c=1,d=0;d<karta.length;b+=2,c+=2,d++){
dane[b]=Integer.parseInt(karta[d].replace("W", ""));
dane[c]=Integer.parseInt(karta2[d].replace("W", ""));
}
if((dane[4]-dane[5])>0) return 1;
if((dane[4]-dane[5])<0) return -1;
if((dane[4]-dane[5])==0 && (dane[2]-dane[3])>0) return 1;
if((dane[4]-dane[5])==0 && (dane[2]-dane[3])<0) return -1;
if((dane[4]-dane[5])==0 && (dane[2]-dane[3])==0 && (dane[0]-dane[1])>0) return 1;
if((dane[4]-dane[5])==0 && (dane[2]-dane[3])==0 && (dane[0]-dane[1])<0) return -1;
if((dane[4]-dane[5])==0 && (dane[2]-dane[3])==0 && (dane[0]-dane[1])==0) return 0;
}
case 1:{
String[] karta=MP.MP.get(o1.toString()).nr_karty.split("/");
String[] karta2=MP.MP.get(o2.toString()).nr_karty.split("/");
for(int b=0,c=1,d=0;d<karta.length;b+=2,c+=2,d++){
dane[b]=Integer.parseInt(karta[d]);
dane[c]=Integer.parseInt(karta2[d]);
}
if((dane[4]-dane[5])>0) return 1;
if((dane[4]-dane[5])<0) return -1;
if((dane[4]-dane[5])==0 && (dane[2]-dane[3])>0) return 1;
if((dane[4]-dane[5])==0 && (dane[2]-dane[3])<0) return -1;
if((dane[4]-dane[5])==0 && (dane[2]-dane[3])==0 && (dane[0]-dane[1])>0) return 1;
if((dane[4]-dane[5])==0 && (dane[2]-dane[3])==0 && (dane[0]-dane[1])<0) return -1;
if((dane[4]-dane[5])==0 && (dane[2]-dane[3])==0 && (dane[0]-dane[1])==0) return 0;
}
}
return 0;
}
}
class MP{
public static HashMap<String,magazyn> MP = new HashMap<String,magazyn>();
public static ArrayList<String> sortkod;
public static ArrayList<String> sortfirma;
public static ArrayList<String> sortkarta;
public static boolean MPok;
public static TreeMap<Integer,suma> suma=new TreeMap<Integer,suma>();
public static void suma(){
Iterator ii=sortkod.iterator();
while(ii.hasNext()){
magazyn m=(magazyn) MP.get(ii.next().toString());
suma.put(m.NR_ODPADU,new suma(m.NR_KLIENTA));
}
ii=sortkod.iterator();
while(ii.hasNext()){
magazyn m=(magazyn) MP.get(ii.next().toString());
suma.get(m.NR_ODPADU).suma(m.firma, m.masa);
}
}
public static void sortkod(){
sortkod=new ArrayList<String>(MP.keySet());
Collections.sort(sortkod,new comparatorkod("MP"));
}
public static void sortfirma(){
sortfirma=new ArrayList<String>(MP.keySet());
Collections.sort(sortfirma,new comparatorfirm("MP"));
}
public static void sortkarta(){
sortkarta=new ArrayList<String>(MP.keySet());
Collections.sort(sortkarta,new comparatorkart("MP"));
}
public static void wczytajMP(String plik){
try{
BufferedReader czytnik = new BufferedReader(new FileReader(plik));
String bufor;
String[] pola;
bufor = czytnik.readLine();
while((bufor = czytnik.readLine()) != null) {
pola = bufor.split(";");
magazyn karta = new magazyn();
karta.nr_karty=pola[0];
karta.data=pola[1].replaceAll("[^0-9]", "/");
karta.masa=(Double.parseDouble(pola[2].replaceAll("[^0-9]", ""))/1000);
karta.jednostka=pola[3];
karta.firma=Integer.parseInt(pola[4]);
karta.nr_mag=Integer.parseInt(pola[5].replaceAll("[^0-9]", ""));
karta.NR_KLIENTA=Integer.parseInt(pola[6].replaceAll("[^0-9]", ""));
karta.NR_ODPADU=Integer.parseInt(pola[7].replaceAll("[^0-9]", ""));
MP.put(karta.nr_karty, karta);
}
MPok = true;
} catch (IOException ex) {
System.out.println("IOException");
}
}
}
class suma{
public double suma[];
public int NR_KLIENTA;
public suma(){
suma=new double[3];
for(int a=0;a<3;a++) suma[a]=0.0;
}
public suma(int NR_KLIENTA){
this.NR_KLIENTA=NR_KLIENTA;
suma=new double[3];
for(int a=0;a<3;a++) suma[a]=0.0;
}
public void suma(int firma, double masa){
suma[firma]+=masa;
}
}
class MW{
public static HashMap<String,magazyn> MW = new HashMap<String,magazyn>();
public static ArrayList sortkod;
public static ArrayList sortfirma;
public static ArrayList sortkarta;
public static boolean MWok;
public static TreeMap<Integer,suma> suma=new TreeMap<Integer,suma>();
public static void suma(){
Iterator ii=sortkod.iterator();
while(ii.hasNext()){
magazyn m=(magazyn) MW.get(ii.next().toString());
suma.put(m.NR_ODPADU,new suma(m.NR_KLIENTA));
}
ii=sortkod.iterator();
while(ii.hasNext()){
magazyn m=(magazyn) MW.get(ii.next().toString());
suma.get(m.NR_ODPADU).suma(m.firma, m.masa);
}
}
public static void sortkod(){
sortkod=new ArrayList<String>(MW.keySet());
Collections.sort(sortkod,new comparatorkod("MW"));
}
public static void sortfirma(){
sortfirma=new ArrayList<String>(MW.keySet());
Collections.sort(sortfirma,new comparatorfirm("MW"));
}
public static void sortkarta(){
sortkarta=new ArrayList<String>(MW.keySet());
Collections.sort(sortkarta,new comparatorkart("MW"));
}
public static void wczytajMW(String plik){
try{
BufferedReader czytnik = new BufferedReader(new FileReader(plik));
String bufor;
String[] pola;
bufor = czytnik.readLine();
while((bufor = czytnik.readLine()) != null) {
pola = bufor.split(";");
magazyn karta = new magazyn();
karta.nr_karty=pola[0];
karta.data=pola[1].replaceAll("[^0-9]", "/");
karta.masa=(Double.parseDouble(pola[2].replaceAll("[^0-9]", ""))/1000);
karta.jednostka=pola[3];
karta.firma=Integer.parseInt(pola[4]);
karta.NR_ODPADU=Integer.parseInt(pola[5].replaceAll("[^0-9]", ""));
karta.NR_KLIENTA=Integer.parseInt(pola[6].replaceAll("[^0-9]", ""));
karta.nr_mag=Integer.parseInt(pola[7].replaceAll("[^0-9]", ""));
MW.put(karta.nr_karty, karta);
}
MWok = true;
} catch (IOException ex) {
System.out.println("IOException");
}
}
}
class SL{
public static HashMap<Integer,slownik> SL = new HashMap<Integer,slownik>();
public static boolean SLok;
public static void wczytajSL(String plik){
try{
BufferedReader czytnik = new BufferedReader(new FileReader(plik));
String bufor;
String[] pola;
bufor = czytnik.readLine();
while((bufor = czytnik.readLine()) != null) {
pola = bufor.split(";");
slownik odpad=new slownik();
odpad.grupa = pola[0];
odpad.podgrupa = pola[1];
odpad.rodzaj = pola[2];
odpad.typ = pola[3];
odpad.opis= pola[4];
odpad.NR_KLIENTA = Integer.parseInt(pola[5].replace("�", ""));
SL.put(odpad.NR_KLIENTA,odpad);
}
SLok = true;
} catch (IOException ex) {
System.out.println("IOException");
}
}
}
class DY{
public static HashMap<Integer,dostawcy> DY = new HashMap<Integer,dostawcy>();
public static boolean DYok;
public static void wczytajDY(String plik){
try{
BufferedReader czytnik = new BufferedReader(new FileReader(plik));
String bufor;
String[] pola;
bufor = czytnik.readLine();
while((bufor = czytnik.readLine()) != null) {
pola = bufor.split(";");
dostawcy klient= new dostawcy();
klient.nazwa = pola[0];
klient.miejscowosc=pola[1];
klient.ulica=pola[2];
klient.NR_ODPADU=Integer.parseInt(pola[3].replace("�", ""));
DY.put(klient.NR_ODPADU,klient);
}
DYok = true;
} catch (IOException ex) {
System.out.println("IOException");
}
}
}
class zadanie3i4 extends AbstractTableModel{
private int magazyn;
private ArrayList<String> lista;
public zadanie3i4(int magazyn){
this.magazyn=magazyn;
if(magazyn==0)lista=MW.sortkod;
else lista=MP.sortkod;
}
public int getRowCount() {
switch(magazyn){
case 0: return MW.suma.size();
case 1: return MP.suma.size();
}
return 0;
}
@Override
public String getColumnName(int row){
switch(row){
case 0: return "NR_ODPADU";
case 1: return "NR_KLIENTA";
case 2: return "FIRMA 0";
case 3: return "FIRMA 1";
case 4: return "FIRMA 2";
}
return "";
}
public int getColumnCount() {
return 5;
}
public Object getValueAt(int c, int r) {
String nr_k=(String) lista.get(c);
magazyn m;
suma s;
if(magazyn==0) {
m=(magazyn)MW.MW.get(nr_k);
s=(suma)MW.suma.get(m.NR_ODPADU);
}
else { m=(magazyn)MP.MP.get(nr_k);
s=(suma)MP.suma.get(m.NR_ODPADU);
}
switch(r){
case 0: return m.NR_ODPADU;
case 1: return s.NR_KLIENTA;
case 2: return s.suma[0];
case 3: return s.suma[1];
case 4: return s.suma[2];
}
return "";
}
}
class zadanie1i2 extends AbstractTableModel{
private int magazyn;
private int sortowanie;
private ArrayList<String> lista;
public zadanie1i2(int magazyn,int sortowanie){
this.magazyn=magazyn;
this.sortowanie=sortowanie;
lista=null;
if(magazyn==0){
switch(sortowanie){
case 0: lista=MW.sortkod; break;
case 1: lista=MW.sortfirma; break;
case 2: lista=MW.sortkarta; break;
}
}else {
switch(sortowanie){
case 0: lista=MP.sortkod; break;
case 1: lista=MP.sortfirma; break;
case 2: lista=MP.sortkarta; break;
}
}
}
public int getRowCount() {
return lista.size();
}
public int getColumnCount() {
switch(magazyn){
case 0: return 8;
case 1: return 10;
}
return 0;
}
@Override
public String getColumnName(int row){
switch(magazyn){
case 0: {switch(row){
case 0: return "NR_KARTY";
case 1: return "DATAW";
case 2: return "MASA";
case 3: return "KOD";
case 4: return "FIRMA";
case 5: return "NAZWA_SKROCONA";
case 6: return "TYP";
case 7: return "OPIS";
}break;}
case 1:{ switch(row){
case 0: return "NR_KARTY";
case 1: return "DATAD";
case 2: return "MASA";
case 3: return "KOD";
case 4: return "JEDN";
case 5: return "FIRMA";
case 6: return "TYP";
case 7: return "NAZWA_SKR";
case 8: return "NR_MAG";
case 9: return "OPIS";
}break;}
}
return "";
}
public Object getValueAt(int c, int r) {
String nr_k=lista.get(c);
magazyn m;
if(magazyn==0)m=(magazyn) MW.MW.get(nr_k);
else m=(magazyn) MP.MP.get(nr_k);
slownik s=(slownik) SL.SL.get(m.NR_KLIENTA);
dostawcy d=(dostawcy) DY.DY.get(m.NR_ODPADU);
switch(magazyn){
case 0: {
switch(r){
case 0: return nr_k;
case 1: return m.data;
case 2: return m.masa;
case 3: return m.NR_KLIENTA;
case 4: return m.firma;
case 5: if(d!=null) return d.nazwa; break;
case 6: return s.typ;
case 7: return s.opis;
}
break;}
case 1:{ switch(r){
case 0: return nr_k;
case 1: return m.data;
case 2: return m.masa;
case 3: return m.NR_KLIENTA;
case 4: return m.jednostka;
case 5: return m.firma;
case 6: return s.typ;
case 7: if(d!=null) return d.nazwa; break;
case 8: return m.nr_mag;
case 9: return s.opis;
}
break;}
}
return "";
}
}
class panel extends JPanel{
}
public class kowalski extends JFrame{
private javax.swing.ButtonGroup buttonGroup1;
private javax.swing.ButtonGroup buttonGroup2;
private javax.swing.JButton jButton1;
private javax.swing.JComboBox jComboBox1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
private javax.swing.JRadioButton jRadioButton1;
private javax.swing.JRadioButton jRadioButton2;
private javax.swing.JRadioButton jRadioButton3;
private javax.swing.JRadioButton jRadioButton4;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTable jTable1;
private JPanel jPanel2;
public kowalski(){
MP.wczytajMP("MAGAZYNP.csv");
MW.wczytajMW("MAGAZYNW.csv");
DY.wczytajDY("DOSTAWCY.csv");
SL.wczytajSL("SLOWNIK.csv");
MW.sortfirma();
MW.sortkod();
MW.sortkarta();
MW.suma();
MP.sortkod();
MP.sortfirma();
MP.sortkarta();
MP.suma();
init();
}
private void init(){
buttonGroup1 = new javax.swing.ButtonGroup();
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jRadioButton1 = new javax.swing.JRadioButton();
jRadioButton2 = new javax.swing.JRadioButton();
jComboBox1 = new javax.swing.JComboBox();
jScrollPane2 = new javax.swing.JScrollPane();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jRadioButton3 = new javax.swing.JRadioButton();
jRadioButton4 = new javax.swing.JRadioButton();
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setSize(800, 500);
setLocationRelativeTo(null);
setVisible(true);
setResizable(false);
setTitle("Kowalski");
add(jPanel1);
add(jPanel2);
jPanel1.setSize(100, 500);
jPanel2.setSize(700, 500);
jPanel2.add(jScrollPane1);
jPanel2.add(jTable1);
jTable1.setAlignmentX(RIGHT_ALIGNMENT);
jTable1.setModel(new zadanie1i2(0, 0));
jScrollPane1.setViewportView(jTable1);
jScrollPane1.setVisible(true);
jTable1.setVisible(true);
jPanel1.add(jLabel1);
jPanel1.add(jRadioButton1);
jPanel1.add(jRadioButton2);
jRadioButton1.setSelected(true);
jPanel1.add(new JLabel("SORTUJ:"));
jPanel1.add(jComboBox1);
jPanel1.add(jLabel2);
jPanel1.add(jRadioButton3);
jPanel1.add(jRadioButton4);
jPanel1.add(jButton1);
buttonGroup1.add(jRadioButton1);
jRadioButton1.setText("MagazynW");
jRadioButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRadioButton1ActionPerformed(evt);
}
});
buttonGroup1.add(jRadioButton2);
jRadioButton2.setText("MagazynP");
jRadioButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRadioButton2ActionPerformed(evt);
}
});
jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "KOD", "FIRMA", "NRKARTY" }));
jComboBox1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox1ActionPerformed(evt);
}
private void jComboBox1ActionPerformed(ActionEvent evt) {
if(jRadioButton1.isSelected()) jTable1.setModel(new zadanie1i2(0, jComboBox1.getSelectedIndex()));
else jTable1.setModel(new zadanie1i2(1, jComboBox1.getSelectedIndex()));
}
});
String[] model=new String[28];
String[] model2=new String[12];
for(int a=0;a<28;){
model[a]=String.valueOf(++a);
}
for(int a=0;a<12;){
model2[a]=String.valueOf(++a);
}
jLabel1.setText("Zadanie 1 i 2");
jLabel2.setText("Zadanie 3 i 4");
buttonGroup1.add(jRadioButton3);
jRadioButton3.setText("Magazyn W");
jRadioButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRadioButton3ActionPerformed(evt);
}
});
buttonGroup1.add(jRadioButton4);
jRadioButton4.setText("Magazyn P");
jRadioButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jRadioButton4ActionPerformed(evt);
}
});
jButton1.setText("ZESTAW c");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
}
});
}
private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {
jTable1.setModel(new zadanie1i2(0, jComboBox1.getSelectedIndex()));
}
private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) {
jTable1.setModel(new zadanie1i2(1, jComboBox1.getSelectedIndex()));
}
private void jRadioButton3ActionPerformed(java.awt.event.ActionEvent evt) {
jTable1.setModel(new zadanie3i4(0));
}
private void jRadioButton4ActionPerformed(java.awt.event.ActionEvent evt) {
jTable1.setModel(new zadanie3i4(1));
}
public static void main(String[] args) {
new kowalski();
}
}