Repository navigation
Expand file tree
/
Copy pathSalesman.java
More file actions
276 lines (254 loc) · 9.17 KB
/
Copy pathSalesman.java
File metadata and controls
276 lines (254 loc) · 9.17 KB
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
package test_programAplikacja;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
//Klasa zarzadzajaca okienkiem sprzedawcy
public class Salesman extends Object{
JFrame ramka;
JPasswordField haslo;
JButton log;
static final String HASLO="kwiaciarnia";
Salesman() {
ramka=new JFrame("Panel sprzedawcy");
ramka.validate();
JLabel etykieta = new JLabel("Podaj haslo: ");
haslo = new JPasswordField(10);
log=new JButton("Zaloguj");
log.addActionListener(new ZalogujListener());
ramka.getContentPane().add(BorderLayout.WEST, etykieta);
ramka.getContentPane().add(BorderLayout.EAST, haslo);
ramka.getContentPane().add(BorderLayout.SOUTH, log);
ramka.pack();
ramka.setVisible(true);
}
//klasa wewnetrzna definiujaca zdarzenie logowania
class ZalogujListener implements ActionListener {
public void actionPerformed(ActionEvent zdarzenie) {
if(haslo.getText().equals(HASLO)) {
new PanelOpcji();
ramka.setVisible(false);
ramka.dispose();
}
else {
blad();
System.out.println("Blad");
}
}
}
//Klasa wewnetrzna zarzadzajaca opcjami wyboru panelu sprzedawcy
class PanelOpcji {
JFrame ramkaO;
PanelOpcji() {
ramkaO=new JFrame("Opcje");
ramkaO.setSize(200,200);
ramkaO.setVisible(true);
ramkaO.setLocationRelativeTo(null);
PanelG panel = new PanelG();
JButton dodac = new JButton("Dodaj kwiatka");
dodac.addActionListener(new DodajListener());
JButton wyswietl = new JButton("Zarzadzaj transakcjami");
wyswietl.addActionListener(new ZarzadzajListener());
panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
panel.add(dodac);
JLabel etykieta = new JLabel("----------------");
etykieta.setFont(new Font(etykieta.getText(),Font.BOLD,20));
panel.add(etykieta);
panel.add(wyswietl);
dodac.setAlignmentX(panel.CENTER_ALIGNMENT);
etykieta.setAlignmentX(panel.CENTER_ALIGNMENT);
wyswietl.setAlignmentX(panel.CENTER_ALIGNMENT);
ramkaO.getContentPane().add(BorderLayout.CENTER, panel);
}
//Klasa wewnetrzna definijaca zdarzenie dodania elementu
class DodajListener implements ActionListener {
public void actionPerformed(ActionEvent zdarzenie) {
new DodajKwiatka();
}
}
//Klasa wewnetrzna definijaca zdarzenie przegladania transakcji
class ZarzadzajListener implements ActionListener {
public void actionPerformed(ActionEvent zdarzenie) {
new PrzegladTransakcji();
}
}
}
//Klasa wewnetrzna zarzadzajaca dostepem do transkacji
class PrzegladTransakcji {
JFrame ramkaP;
JList<Transaction> lista;
PanelG panel;
JTextField poleCzy;
JButton potwierdz;
Transaction opcja;
PrzegladTransakcji() {
ramka.setVisible(false);
ramka.dispose();
ramkaP = new JFrame("Transakcje");
ramkaP.setSize(300,300);
ramka.setLocationRelativeTo(null);
ramkaP.setVisible(true);
potwierdz=new JButton("Zrealizuj");
potwierdz.addActionListener(new ZrealizujListener());
poleCzy = new JTextField(5);
lista= new JList(Application.listaT.toArray(new Transaction[Application.listaT.size()]));
panel = new PanelG();
panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
lista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
lista.setVisibleRowCount(8);
lista.addListSelectionListener( new ListaListener());
lista.setCellRenderer(new ExampleListCellRenderer());
JScrollPane przewi = new JScrollPane(lista);
przewi.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
przewi.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
panel.add(przewi);
przewi.setAlignmentX(panel.CENTER_ALIGNMENT);
JLabel etykieta1 = new JLabel("Czy potiwerdzona:");
panel.add(etykieta1);
etykieta1.setAlignmentX(panel.CENTER_ALIGNMENT);
panel.setLayout(new FlowLayout(FlowLayout.CENTER));
panel.add(poleCzy);
poleCzy.setAlignmentX(panel.CENTER_ALIGNMENT);
panel.add(potwierdz);
potwierdz.setAlignmentX(panel.CENTER_ALIGNMENT);
ramkaP.getContentPane().add(BorderLayout.CENTER, panel);
}
//Klasa wewnetrzna definiujaca zdarzenie wyboru z listy trans
public class ListaListener implements ListSelectionListener {
public void valueChanged(ListSelectionEvent zdarzenie) {
if(!zdarzenie.getValueIsAdjusting()) {
opcja = lista.getSelectedValue();
String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(opcja.data);
System.out.println("Wybrano: "+String.format(date));
if(opcja.czyZrealizowane){
poleCzy.setText("TAK");
}
else{
poleCzy.setText("NIE");
}
}
}
}
//Klasa wewnetrzna definiujaca zdarzenie zatwierdzenia transakcji
public class ZrealizujListener implements ActionListener {
public void actionPerformed(ActionEvent zdarzenie) {
lista.getSelectedValue().czyZrealizowane=true;
System.out.println("Transakcja zostala zrealizowana.");
poleCzy.setText("TAK");
}
}
}
//Klasa wewnetrzna zarzadzajaca opcja dodania
public class DodajKwiatka {
JFrame ramkaK;
JPanel panel1;
JPanel panel2;
JPanel panel3;
JPanel panelg;
JTextField pole1;
JTextField pole2;
JTextField pole3;
DodajKwiatka() {
ramkaK = new JFrame("Nowy Kwiatek");
//ramkaT.setSize(300, 300);
//ramkaK.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ramkaK.setVisible(true);
ramkaK.setLocationRelativeTo(null);
panel1 = new JPanel();
panel2 = new JPanel();
panel3 = new JPanel();
panelg = new JPanel();
JLabel ety1 = new JLabel("Podaj nazwe:");
JLabel ety2 = new JLabel("Podaj cene za sztuke:");
JLabel ety3 = new JLabel("Podaj ilosc:");
pole1 = new JTextField(10);
pole2 = new JTextField(10);
pole3 = new JTextField(10);
JButton przyciskZapisz = new JButton("Zapisz");
przyciskZapisz.addActionListener(new ZapiszKListener());
panel1.add(ety1);
panel1.add(pole1);
panel2.add(ety2);
panel2.add(pole2);
panel3.add(ety3);
panel3.add(pole3);
panelg.setLayout(new BoxLayout(panelg, BoxLayout.Y_AXIS));
panelg.add(panel1);
panelg.add(panel2);
panelg.add(panel3);
ramkaK.getContentPane().add(BorderLayout.SOUTH, przyciskZapisz);
ramkaK.getContentPane().add(BorderLayout.CENTER, panelg);
ramkaK.pack();
}
//Zglaszanie bledu uzytkownikowi
void blad(){
JFrame blad = new JFrame("Error FRAME");
JLabel etyB = new JLabel("Jedno z pol jest puste");
JLabel etyB2 = new JLabel("lub cena jest <= zero!");
etyB.setFont(new Font(etyB.getText(),Font.BOLD,40));
etyB2.setFont(new Font(etyB2.getText(),Font.BOLD,40));
blad.getContentPane().add(BorderLayout.CENTER, etyB);
blad.getContentPane().add(BorderLayout.SOUTH, etyB2);
blad.setLocationRelativeTo(null);
blad.pack();
blad.setVisible(true);
}
//Klasa wewnetrzna definijaca zdarzenie zapisania
public class ZapiszKListener implements ActionListener {
public void actionPerformed(ActionEvent zdarzenie) {
if(((pole1.getText()).equals("")) || ((pole2.getText()).equals("")) || ((pole3.getText()).equals("")) || Double.parseDouble((pole2.getText()))<=0) {
blad();
System.out.println("Blad");
}
else {
Flower kwiatek = new Flower();
kwiatek.setName(pole1.getText());
kwiatek.setPrice(Float.parseFloat(pole2.getText()));
kwiatek.setNumber(Integer.parseInt(pole3.getText()));
try {
Application.listaK.add(kwiatek);
System.out.println("zapisalo sie");
} catch (Exception e) {
System.out.println("Nie zapisalo sie");
}
}
}
}
}
//Klasa wewnetrzna zarzadzajaca opcja wyswietlania elementow lsity
public class ExampleListCellRenderer extends DefaultListCellRenderer
{
public Component getListCellRendererComponent(
JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
{
JLabel label = (JLabel)super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
Transaction pomoc = (Transaction) value;
String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(pomoc.data);
label.setText(date);
return label;
}
}
//Informowanie uzytkownika o bledzie
void blad(){
JFrame blad = new JFrame("Error FRAME");
JLabel etyB = new JLabel("Haslo jest nieprawidlowe!");
etyB.setFont(new Font(etyB.getText(),Font.BOLD,40));
blad.getContentPane().add(BorderLayout.CENTER, etyB);
blad.setLocationRelativeTo(null);
blad.pack();
blad.setVisible(true);
}
//Panel okienka sprzedawcy(tlo)
class PanelG extends JPanel {
@Override
public void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
GradientPaint gradient = new GradientPaint((this.getWidth()/2),this.getHeight(),new Color(124,207,238),(this.getWidth()/2),0,new Color(22,113,222));
g2d.setPaint(gradient);
g2d.fillRect(0, 0, this.getBounds().width, this.getBounds().height);
}
}
}