-
Notifications
You must be signed in to change notification settings - Fork 1
/
Item_Categories.java
141 lines (105 loc) · 4.06 KB
/
Item_Categories.java
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
/**
* Write a description of class Item_Categories here.
*
* Dalton Lee
* 1.0 4/5/2016
*/
import java.awt.*;
import java.awt.event.*;
import java.util.HashSet;
import javax.swing.*;
import POS_DAO.Inventory_DAO;
@SuppressWarnings("serial")
public class Item_Categories extends JFrame implements ActionListener
{
private String ID;
private JPanel results = new JPanel();
private JButton newCat = new JButton ("New");
private JLabel items = new JLabel ("# Items");
private JLabel discount = new JLabel ("Discount %");
@SuppressWarnings("unused")
public static void main (String [] args) /**For Testing*/
{
Item_Categories test = new Item_Categories ("5067759");
}
/**
* Constructor for objects of class Item_Categories
*/
public Item_Categories(String emp)
{
ID = emp;
this.setTitle ("ID: " + ID);
this.setPreferredSize(new Dimension(800, 700));
this.setLayout(null);
this.setResizable (false);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.pack(); /**Opens in the middle of the screen*/
this.setLocationRelativeTo(null); /**Opens in the middle of the screen*/
this.setVisible(true);
/**Absolute Positioning of the components*/
Insets insets = this.getInsets(); /**The dimensions of the JFrame*/
newCat.addActionListener (this);
this.add (newCat);
newCat.setBounds (50 + insets.left, 0 + insets.top,
100, 30);
this.add (items);
items.setBounds (280 + insets.left, 5 + insets.top,
100, 25);
this.add (discount);
discount.setBounds (470 + insets.left, 5 + insets.top,
100, 30);
this.add (results);
results.setBounds (35 + insets.left, 40 + insets.top,
700, 550);
results.setBorder (BorderFactory.createLineBorder(Color.black)); /** Puts a boarder on the JPanel*/
while (true)
{
//always check the database to see if the count has changed
//if changed repaint
break;
}
}
private void refresh () /**Refreshes the results JPanel*/
{
Inventory_DAO inv = new Inventory_DAO();
HashSet cats = new HashSet();
this.remove (results);
results = new JPanel();
results.setLayout (new BoxLayout (results, BoxLayout.Y_AXIS));
Insets insets = this.getInsets(); /**The dimensions of the JFrame*/
this.add (results);
results.setBounds (40 + insets.left, 95 + insets.top,
700, 550);
results.setBorder (BorderFactory.createLineBorder(Color.black)); /** Puts a boarder on the JPanel*/
results.add(Box.createVerticalStrut(10));
//TODO
//get count of categories
//get the array of names
//populate them into this loop
for (int x = 0; x < inv.CountOfCategories(); x++)
{
results.add (new Category ());
results.add(Box.createVerticalStrut(20));
}
this.revalidate(); /**Need both revalidate and repaint*/
this.repaint();
}
public void actionPerformed (ActionEvent e)
{
String action = e.getActionCommand();
if (action.equals ("New"))
{
//TODO
/**Option panel pops up with a textbox and an OK and Cancel buttons
* On OK it adds it to that database and refreshes the results JPanel
*/
System.out.println ("NEW CATEGORY");
refresh();
}
}
/** SCROLL BAR
* limit each thing to a set number of panels
* throw into an array of JPanels
* move the pointer to a up one based on the scale of the scroll bar
*/
}