Jak pominąć tekst i wczytać tylko cyfry które są mi potrzebne?
package com.company;
public class Main {
public static void main(String[] args) {
Projekt projekt = new Projekt();
projekt.zbudujGUI();
}
}
package com.company;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;
import javax.swing.filechooser.FileNameExtensionFilter;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.math.RoundingMode;
import java.text.NumberFormat;
/**
* Created by Komp on 2016-06-08.
*/
public class Projekt {
JFrame AlaMaKota;
JButton Dodaj;
JButton Usun;
JButton Zapisz;
JButton Wyczysc;
JButton Zamknij;
JButton Wczytaj;
JPanel Przyciski = new JPanel();
JPanel Okno = new JPanel();
Color redColor = new Color(255, 115, 115);
JZamowienie TABlista_wyrobow[] = new JZamowienie[9];
static int liczba_wyrobow = 0;
static int licznik_wyrobow = 1;
static double cena_materialu = 0;
static double suma_m2 = 0;
static double do_zaplaty = 0;
static int iloscpolek = 0;
static double wysokosc;
public double wynagrodzenie=0;
public double praca = 1;
static File wybrany_plik = null;
static PrintWriter PWzapisz_do_pliku = null;
static FileNameExtensionFilter FNEFtylko_tekstowe = null;
static JFileChooser JFCwybierz_lokalizacje = null;
public void zbudujGUI() {
NumberFormat NFzaokraglanie = NumberFormat.getInstance();
NFzaokraglanie.setMaximumFractionDigits(2);
NFzaokraglanie.setRoundingMode(RoundingMode.HALF_UP);
AlaMaKota = new JFrame("Stolarz 2016");
AlaMaKota.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
AlaMaKota.setSize(700, 380);
Okno.setLayout(new BorderLayout());
Okno.setBorder(new EmptyBorder(10, 10, 10, 10));
JLabel Lwynik = new JLabel("Wynik : ");
JLabel Lsuma = new JLabel("0 zl");
JLabel Ldlugos = new JLabel("Długość [cm]");
TextField TFdlugosc = new TextField();
JLabel Lszerokosc = new JLabel("Szerokosc [cm]");
TextField TFszerokosc = new TextField();
JLabel Lwysokosc = new JLabel("Wysokosc [cm]");
TextField TFwysokosc = new TextField();
JLabel Lcena = new JLabel("Cena za m^2 [zl]");
TextField TFcena = new TextField();
JButton Info = new JButton("INFO");
JLabel Lnazwa = new JLabel("Nazwa Produktu");
TextField TFnazwa = new TextField();
JLabel Lpraca = new JLabel("Wynagrodzenie");
TextField TFpraca = new TextField();
Przyciski.setLayout(new BoxLayout(Przyciski, BoxLayout.Y_AXIS));
Przyciski.setBorder(new TitledBorder(new EtchedBorder(), "Wymiary"));
Przyciski.add(Ldlugos);
Przyciski.add(TFdlugosc);
Przyciski.add(Lszerokosc);
Przyciski.add(TFszerokosc);
Przyciski.add(Lwysokosc);
Przyciski.add(TFwysokosc);
Przyciski.add(Lcena);
Przyciski.add(TFcena);
Przyciski.add(Lnazwa);
Przyciski.add(TFnazwa);
Przyciski.add(Lpraca);
Przyciski.add(TFpraca);
Okno.add(Przyciski, BorderLayout.WEST);
Dodaj = new JButton("Dodaj");
Usun = new JButton("Usun");
Zapisz = new JButton("Zapisz");
Wyczysc = new JButton("Wyczysc Dane");
Zamknij = new JButton("Zamknij");
Wczytaj = new JButton("Wczytaj");
Box row = Box.createHorizontalBox();
row.add(Dodaj);
row.add(Usun);
row.add(Zapisz);
row.add(Wczytaj);
row.add(Wyczysc);
row.add(Zamknij);
Okno.add(row, BorderLayout.NORTH);
Box buttonbox = Box.createHorizontalBox();
buttonbox.add(Lwynik);
buttonbox.add(Lsuma);
buttonbox.add(Box.createHorizontalGlue());
buttonbox.add(Info);
Okno.add(buttonbox, BorderLayout.SOUTH);
DefaultListModel DLMlista_wyrobow = new DefaultListModel();
JList Jlista_wyrobow = new JList(DLMlista_wyrobow);
JScrollPane JSPlista_wyrobow = new JScrollPane(Jlista_wyrobow);
Okno.add(JSPlista_wyrobow, BorderLayout.CENTER);
Dodaj.setBackground(Color.cyan);
Usun.setBackground(Color.cyan);
Zapisz.setBackground(Color.cyan);
Wyczysc.setBackground(Color.cyan);
Zamknij.setBackground(Color.cyan);
Wczytaj.setBackground(Color.cyan);
Info.setBackground(Color.cyan);
AlaMaKota.add(Okno);
AlaMaKota.setVisible(true);
/*
TFnazwa.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
super.mouseClicked(e);
if (TFnazwa.getText().contentEquals("Opis wyrobu " + licznik_wyrobow + "..."))
{
TFnazwa.setText("");
}
}
});
*/
Dodaj.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (TFdlugosc.getText().equals("") || TFszerokosc.getText().equals("") || TFwysokosc.getText().equals("") || TFcena.getText().equals("")) {
if (TFdlugosc.getText().equals("")) TFdlugosc.setBackground(redColor);
if (TFszerokosc.getText().equals("")) TFszerokosc.setBackground(redColor);
if (TFwysokosc.getText().equals("")) TFwysokosc.setBackground(redColor);
if (TFcena.getText().equals("")) TFcena.setBackground(redColor);
JOptionPane.showMessageDialog(Okno, "Uzupełnij czerwone pole");
}
else
{
if (liczba_wyrobow < TABlista_wyrobow.length) {
suma_m2 = 0;
do_zaplaty = 0;
String text1 = TFwysokosc.getText();
wysokosc = Integer.parseInt(text1);
iloscpolek =(int)wysokosc / 20;
TABlista_wyrobow[liczba_wyrobow] = new JZamowienie(Double.parseDouble(TFdlugosc.getText()), Double.parseDouble(TFszerokosc.getText()),
Double.parseDouble(TFwysokosc.getText()), TFnazwa.getText(), iloscpolek);
DLMlista_wyrobow.addElement(TABlista_wyrobow[liczba_wyrobow].opis_wyrobu +
" : długość: " + TABlista_wyrobow[liczba_wyrobow].dlugosc +
", szerokość: " + TABlista_wyrobow[liczba_wyrobow].szerokosc +
", wysokość: " + TABlista_wyrobow[liczba_wyrobow].wysokosc +
", ilość półek: " + TABlista_wyrobow[liczba_wyrobow].ilosc_polek);
liczba_wyrobow++;
for (int i = 0; i < liczba_wyrobow; i++) {
suma_m2 = suma_m2 + TABlista_wyrobow[i].ile_m2();
}
licznik_wyrobow++;
cena_materialu = Double.parseDouble(TFcena.getText());
do_zaplaty = cena_materialu * suma_m2;
praca = Double.parseDouble(TFpraca.getText());
wynagrodzenie = praca * suma_m2;
Lsuma.setText(" " + NFzaokraglanie.format(suma_m2) + " m2 / " + NFzaokraglanie.format(do_zaplaty) + " zł. + Wynagrodzenie "+ NFzaokraglanie.format(wynagrodzenie) + " zł.");
TFdlugosc.setText("");
TFszerokosc.setText("");
TFwysokosc.setText("");
TFcena.setText("");
TFnazwa.setText("");
TFpraca.setText("");
}
else
{
JOptionPane.showMessageDialog(Okno, "Baza wyrobów jest pełna, wyczyść listę aby kontynuować.");
}
}
}
});
Usun.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (DLMlista_wyrobow.getSize() > 0 && Jlista_wyrobow.getSelectedIndex() >= 0) {
int potwierdzenie_operacjii = JOptionPane.showConfirmDialog(Okno, "Czy napewno chchesz usunąć wybrany element z listy?");
if (potwierdzenie_operacjii == JOptionPane.YES_OPTION)
{
suma_m2 = 0;
do_zaplaty = 0;
int numer_wyrobu = Jlista_wyrobow.getSelectedIndex();
DLMlista_wyrobow.remove(numer_wyrobu);
for (int i = numer_wyrobu; i < liczba_wyrobow; i++) {
TABlista_wyrobow[i] = TABlista_wyrobow[i + 1];
}
TABlista_wyrobow[liczba_wyrobow] = null;
liczba_wyrobow--;
licznik_wyrobow--;
for (int i = 0; i < liczba_wyrobow; i++) {
suma_m2 = suma_m2 + TABlista_wyrobow[i].ile_m2();
}
do_zaplaty = cena_materialu * suma_m2;
wynagrodzenie = praca * suma_m2;
Lsuma.setText(" " + NFzaokraglanie.format(suma_m2) + " m2 / " + NFzaokraglanie.format(do_zaplaty) + " zł. + Wynagrodzenie "+ NFzaokraglanie.format(wynagrodzenie) + " zł.");
if (DLMlista_wyrobow.getSize() == 0) {
wybrany_plik = null;
}
}
}
else
{
JOptionPane.showMessageDialog(Okno, "Lista jest pósta lub niezaznaczono żadnego elementu.", "Problem z listą...", JOptionPane.ERROR_MESSAGE);
}
}
});
Zapisz.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (DLMlista_wyrobow.getSize() > 0) {
if (wybrany_plik == null) {
JFCwybierz_lokalizacje = new JFileChooser();
FNEFtylko_tekstowe = new FileNameExtensionFilter("Plik tekstowy (*.txt)", "txt", "text");
JFCwybierz_lokalizacje.setFileFilter(FNEFtylko_tekstowe);
JFCwybierz_lokalizacje.showSaveDialog(Okno);
wybrany_plik = JFCwybierz_lokalizacje.getSelectedFile();
JFCwybierz_lokalizacje = null;
FNEFtylko_tekstowe = null;
}
if (wybrany_plik != null) {
try {
PWzapisz_do_pliku = new PrintWriter(wybrany_plik + ".txt");
PWzapisz_do_pliku.println("=================================================================================================");
PWzapisz_do_pliku.println(" 'Stolarz");
PWzapisz_do_pliku.println("=================================================================================================");
PWzapisz_do_pliku.println("");
PWzapisz_do_pliku.println("");
PWzapisz_do_pliku.println("Pełna lista wyrobów wraz z obliczeniami (przyjęta cena materiału: " + cena_materialu + " zł)");
PWzapisz_do_pliku.println("-------------------------------------------------------------------------------------------------");
for (int i = 0; i < liczba_wyrobow; i++) {
PWzapisz_do_pliku.println("Opis wyrobu: " + TABlista_wyrobow[i].opis_wyrobu);
PWzapisz_do_pliku.println("Długość [cm]: " + TABlista_wyrobow[i].dlugosc);
PWzapisz_do_pliku.println("Szerokość [cm]: " + TABlista_wyrobow[i].szerokosc);
PWzapisz_do_pliku.println("Wysokość [cm]: " + TABlista_wyrobow[i].wysokosc);
PWzapisz_do_pliku.println("Ilość półek [szt]: " + TABlista_wyrobow[i].ilosc_polek);
PWzapisz_do_pliku.println("Ilość m^2: " + NFzaokraglanie.format(TABlista_wyrobow[i].ile_m2()));
PWzapisz_do_pliku.println("Cena [zł]: " + NFzaokraglanie.format(TABlista_wyrobow[i].ile_m2() * cena_materialu));
PWzapisz_do_pliku.println("Wynagrodzenie [zł]: " + NFzaokraglanie.format(TABlista_wyrobow[i].ile_m2() * praca));
PWzapisz_do_pliku.println("-------------------------------------------------------------------------------------------------");
}
PWzapisz_do_pliku.println("");
PWzapisz_do_pliku.println("Do wykonania powyższego zestawu mebli potrzeba " + NFzaokraglanie.format(suma_m2) + " metrów kwadratowych, za łączną cenę " + NFzaokraglanie.format(do_zaplaty) + " zł.");
PWzapisz_do_pliku.close();
PWzapisz_do_pliku = null;
JOptionPane.showMessageDialog(Okno, "Plik z raportem został utworzony / zaaktualizowany pomyślnie.", "Zapisz do pliku....", JOptionPane.INFORMATION_MESSAGE);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
}
} else {
JOptionPane.showMessageDialog(Okno, "Dodaj element do listy i spróbuj ponownie.", "Lista jest pósta...", JOptionPane.ERROR_MESSAGE);
}
}
});
Wyczysc.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (DLMlista_wyrobow.getSize() > 0)
{
int potwierdzenie_operacjii = JOptionPane.showConfirmDialog(Okno, "Czy chcesz najpierw zapisać");
if (potwierdzenie_operacjii == JOptionPane.YES_OPTION) {
Zapisz.doClick();
TFdlugosc.setText("");
TFszerokosc.setText("");
TFwysokosc.setText("");
TFnazwa.setText("");
TFcena.setText("");
TFpraca.setText("");
liczba_wyrobow = 0;
licznik_wyrobow = 1;
cena_materialu = 0;
praca = 0;
Lsuma.setText(" ");
DLMlista_wyrobow.clear();
wybrany_plik = null;
for (int i = 0; i < TABlista_wyrobow.length; i++) {
TABlista_wyrobow[i] = null;
}
}
if (potwierdzenie_operacjii == JOptionPane.NO_OPTION) {
TFdlugosc.setText("");
TFszerokosc.setText("");
TFwysokosc.setText("");
TFnazwa.setText("");
TFcena.setText("");
TFpraca.setText("");
liczba_wyrobow = 0;
licznik_wyrobow = 1;
cena_materialu = 0;
praca = 0;
Lsuma.setText(" ");
DLMlista_wyrobow.clear();
wybrany_plik = null;
for (int i = 0; i < TABlista_wyrobow.length; i++) {
TABlista_wyrobow[i] = null;
}
}
}
}
});
Zamknij.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
Wczytaj.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//CZAS NA WCZYTYWANIE :!!!!
}
});
Info.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(Okno, "Wykonal Mateusz Dnia 08.06.2016 / Wersja 0.2b");
}
});
TFdlugosc.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
super.mouseClicked(e);
TFdlugosc.setBackground(Color.WHITE);
}
});
TFszerokosc.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
super.mousePressed(e);
TFszerokosc.setBackground(Color.WHITE);
}
});
TFwysokosc.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
super.mousePressed(e);
TFwysokosc.setBackground(Color.WHITE);
}
});
TFcena.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
super.mousePressed(e);
TFcena.setBackground(Color.WHITE);
}
});
Dodaj.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
super.mouseEntered(e);
Dodaj.setBackground(Color.GREEN);
}
@Override
public void mouseExited(MouseEvent e) {
super.mouseExited(e);
Dodaj.setBackground(Color.cyan);
}
});
Usun.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
super.mouseEntered(e);
Usun.setBackground(Color.GREEN);
}
@Override
public void mouseExited(MouseEvent e) {
super.mouseExited(e);
Usun.setBackground(Color.cyan);
}
});
Zapisz.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
super.mouseEntered(e);
Zapisz.setBackground(Color.GREEN);
}
@Override
public void mouseExited(MouseEvent e) {
super.mouseExited(e);
Zapisz.setBackground(Color.cyan);
}
});
Wczytaj.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
super.mouseEntered(e);
Wczytaj.setBackground(Color.GREEN);
}
@Override
public void mouseExited(MouseEvent e) {
super.mouseExited(e);
Wczytaj.setBackground(Color.cyan);
}
});
Wyczysc.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
super.mouseEntered(e);
Wyczysc.setBackground(Color.GREEN);
}
@Override
public void mouseExited(MouseEvent e) {
super.mouseExited(e);
Wyczysc.setBackground(Color.cyan);
}
});
Zamknij.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
super.mouseEntered(e);
Zamknij.setBackground(Color.GREEN);
}
@Override
public void mouseExited(MouseEvent e) {
super.mouseExited(e);
Zamknij.setBackground(Color.cyan);
}
});
Info.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
super.mouseEntered(e);
Info.setBackground(Color.GREEN);
}
@Override
public void mouseExited(MouseEvent e) {
super.mouseExited(e);
Info.setBackground(Color.cyan);
}
});
TFdlugosc.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
super.keyReleased(e);
if (!TFdlugosc.getText().contentEquals("")) {
try {
double test = Double.parseDouble(TFdlugosc.getText());
} catch (Exception e1) {
JOptionPane.showMessageDialog(Okno, "Wprowadziłeś błędną długość, spróbuj jeszcze raz.", "Niepoprawne dane wejściowe...", JOptionPane.ERROR_MESSAGE);
TFdlugosc.setText("");
}
}
}
});
TFszerokosc.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
super.keyReleased(e);
if (!TFszerokosc.getText().contentEquals("")) {
try {
double test = Double.parseDouble(TFszerokosc.getText());
} catch (Exception e1) {
JOptionPane.showMessageDialog(Okno, "Wprowadziłeś błędną szerokość, spróbuj jeszcze raz.", "Niepoprawne dane wejściowe...", JOptionPane.ERROR_MESSAGE);
TFszerokosc.setText("");
}
}
}
});
TFwysokosc.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
super.keyReleased(e);
if (!TFwysokosc.getText().contentEquals("")) {
try {
double test = Double.parseDouble(TFwysokosc.getText());
} catch (Exception e1) {
JOptionPane.showMessageDialog(Okno, "Wprowadziłeś błędną wysokość, spróbuj jeszcze raz.", "Niepoprawne dane wejściowe...", JOptionPane.ERROR_MESSAGE);
TFwysokosc.setText("");
}
}
}
});
TFcena.addKeyListener(new KeyAdapter() {
@Override
public void keyReleased(KeyEvent e) {
super.keyReleased(e);
if (!TFcena.getText().contentEquals("")) {
try {
double test = Double.parseDouble(TFcena.getText());
} catch (Exception e1) {
JOptionPane.showMessageDialog(Okno, "Wprowadziłeś błędną cenę, spróbuj jeszcze raz.", "Niepoprawne dane wejściowe...", JOptionPane.ERROR_MESSAGE);
TFcena.setText("");
}
}
}
});
}
}
package com.company;
/**
* Created by Komp on 2016-06-10.
*/
public class JZamowienie {
public double dlugosc;
public double szerokosc;
public double wysokosc;
public int ilosc_polek;
public String opis_wyrobu;
JZamowienie(double dlugosc, double szerokosc, double wysokosc, String opis_wyrobu, int ilosc_polek)
{
this.dlugosc=dlugosc;
this.szerokosc=szerokosc;
this.wysokosc=wysokosc;
this.opis_wyrobu=opis_wyrobu;
this.ilosc_polek=ilosc_polek;
}
public double ile_m2()
{
return (((dlugosc*szerokosc)*2)+((wysokosc*szerokosc)*2)+(dlugosc*wysokosc)+(ilosc_polek*(dlugosc*szerokosc)))/10000;
}
}