Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8abe5c0

Browse files
committed
Enhance TestJavaSwing UI with additional components and layout adjustments
1 parent 077b370 commit 8abe5c0

File tree

1 file changed

+254
-3
lines changed
  • Khoá học Java Swing và JDBC T11/01 Các Thành Phần/TestJavaSwing/src/view

1 file changed

+254
-3
lines changed

‎Khoá học Java Swing và JDBC T11/01 Các Thành Phần/TestJavaSwing/src/view/TestJavaSwing.java‎

Lines changed: 254 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,39 @@
55
import javax.swing.JFrame;
66
import javax.swing.JPanel;
77
import javax.swing.border.EmptyBorder;
8+
import javax.swing.table.DefaultTableModel;
9+
import javax.swing.AbstractCellEditor;
10+
import javax.swing.ButtonGroup;
11+
import javax.swing.DefaultComboBoxModel;
812
import javax.swing.JButton;
913
import javax.swing.JLabel;
1014
import java.awt.Color;
1115
import java.awt.Font;
1216
import java.awt.event.ActionListener;
17+
import java.text.NumberFormat;
18+
import java.text.SimpleDateFormat;
1319
import java.util.Vector;
1420
import java.awt.event.ActionEvent;
1521
import javax.swing.JTextField;
1622
import javax.swing.JComboBox;
23+
import javax.swing.JCheckBox;
24+
import javax.swing.JRadioButton;
25+
import javax.swing.JToggleButton;
26+
import javax.swing.SpinnerNumberModel;
27+
import javax.swing.Timer;
28+
import javax.swing.JTextArea;
29+
import javax.swing.JScrollPane;
30+
import javax.swing.JPasswordField;
31+
import javax.swing.JFormattedTextField;
32+
import javax.swing.JTextPane;
33+
import javax.swing.JEditorPane;
34+
import javax.swing.JSpinner;
35+
import javax.swing.JList;
36+
import javax.swing.JTable;
37+
import javax.swing.JProgressBar;
38+
import javax.swing.JScrollBar;
39+
import javax.swing.JSeparator;
40+
import javax.swing.JSlider;
1741

1842
public class TestJavaSwing extends JFrame {
1943

@@ -23,10 +47,20 @@ public class TestJavaSwing extends JFrame {
2347
private JLabel nameLb;
2448
private JTextField text2Tf;
2549
private JLabel nameLb_1;
50+
private JRadioButton namRd;
51+
private JRadioButton nuRd;
52+
private JTextArea textArea;
53+
private JPasswordField passwordField;
54+
private JScrollPane scrollPane_1;
55+
private JList list_1;
56+
private JList list;
57+
private JScrollPane scrollPane_2;
58+
private JTable table;
59+
private JScrollPane scrollPane_3;
2660

2761
public TestJavaSwing() {
2862
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
29-
setBounds(100, 100, 807, 536);
63+
setBounds(100, 100, 1600, 700);
3064
contentPane = new JPanel();
3165
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
3266

@@ -54,7 +88,7 @@ public void actionPerformed(ActionEvent e) {
5488
});
5589
addBt.setForeground(Color.RED);
5690
addBt.setBackground(new Color(0, 255, 255));
57-
addBt.setBounds(86, 194, 148, 49);
91+
addBt.setBounds(86, 168, 148, 49);
5892
contentPane.add(addBt);
5993

6094
textTf = new JTextField();
@@ -81,10 +115,227 @@ public void actionPerformed(ActionEvent e) {
81115
v.add("Bưởi");
82116
v.add("Nho");
83117
JComboBox comboBox = new JComboBox(v);
84-
comboBox.setBounds(387, 198, 141, 41);
118+
comboBox.setBounds(603, 48, 141, 41);
85119
contentPane.add(comboBox);
86120

121+
JCheckBox savePasswordCb = new JCheckBox("Lưu tài khoản");
122+
savePasswordCb.setBounds(763, 57, 156, 23);
123+
contentPane.add(savePasswordCb);
124+
125+
JButton checkBt = new JButton("Kiểm tra");
126+
checkBt.addActionListener(new ActionListener() {
127+
public void actionPerformed(ActionEvent e) {
128+
System.out.println(passwordField.getText());
129+
}
130+
});
131+
checkBt.setBounds(110, 265, 89, 23);
132+
contentPane.add(checkBt);
133+
134+
namRd = new JRadioButton("Nam");
135+
namRd.setBounds(603, 125, 109, 23);
136+
contentPane.add(namRd);
137+
138+
nuRd = new JRadioButton("Nữ");
139+
nuRd.setBounds(770, 125, 109, 23);
140+
contentPane.add(nuRd);
141+
142+
ButtonGroup group = new ButtonGroup();
143+
group.add(namRd);
144+
group.add(nuRd);
145+
namRd.setSelected(true);
146+
147+
JToggleButton tglbtnNewToggleButton = new JToggleButton("New toggle button");
148+
tglbtnNewToggleButton.setBounds(745, 172, 162, 41);
149+
contentPane.add(tglbtnNewToggleButton);
150+
151+
JToggleButton tglbtnNewToggleButton_1 = new JToggleButton("New toggle button");
152+
tglbtnNewToggleButton_1.setBounds(603, 181, 121, 23);
153+
contentPane.add(tglbtnNewToggleButton_1);
154+
155+
ButtonGroup group2 = new ButtonGroup();
156+
group.add(tglbtnNewToggleButton);
157+
group.add(tglbtnNewToggleButton_1);
158+
159+
JScrollPane scrollPane = new JScrollPane();
160+
scrollPane.setBounds(288, 235, 226, 179);
161+
contentPane.add(scrollPane);
162+
163+
textArea = new JTextArea();
164+
scrollPane.setViewportView(textArea);
165+
166+
passwordField = new JPasswordField();
167+
passwordField.setBounds(296, 172, 243, 41);
168+
contentPane.add(passwordField);
169+
170+
// SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-DD");
171+
NumberFormat numberFormat = NumberFormat.getInstance();
172+
JFormattedTextField formattedTextField = new JFormattedTextField(numberFormat);
173+
formattedTextField.setBounds(603, 238, 206, 49);
174+
contentPane.add(formattedTextField);
175+
176+
scrollPane_1 = new JScrollPane();
177+
scrollPane_1.setBounds(54, 333, 145, 118);
178+
contentPane.add(scrollPane_1);
179+
180+
JEditorPane editorPane = new JEditorPane();
181+
scrollPane_1.setViewportView(editorPane);
182+
editorPane.setContentType("text/html");
183+
editorPane.setText("<!DOCTYPE html>\r\n"
184+
+ "<html>\r\n"
185+
+ "<body>\r\n"
186+
+ "\r\n"
187+
+ "<h1>Heading 1</h1>\r\n"
188+
+ "<h2>Heading 2</h2>\r\n"
189+
+ "<h3>Heading 3</h3>\r\n"
190+
+ "<h4>Heading 4</h4>\r\n"
191+
+ "<h5>Heading 5</h5>\r\n"
192+
+ "<h6>Heading 6</h6>\r\n"
193+
+ "\r\n"
194+
+ "</body>\r\n"
195+
+ "</html>\r\n"
196+
+ "\r\n"
197+
+ "");
198+
199+
// JSpinner
200+
SpinnerNumberModel model = new SpinnerNumberModel(10, 0, 100, 1); // value, min, max, step
201+
JSpinner spinner = new JSpinner(model);
202+
spinner.setBounds(537, 303, 79, 49);
203+
contentPane.add(spinner);
204+
205+
206+
Vector v2 = new Vector<>();
207+
v2.add("ABC");
208+
v2.add("ZYA");
209+
v2.add("#$$");
210+
v2.add("444");
211+
v2.add("AB444C");
212+
v2.add("4444");
213+
v2.add("ABC");
214+
v2.add("ZYA");
215+
v2.add("#$$");
216+
v2.add("444");
217+
v2.add("AB444C");
218+
v2.add("4444");
219+
220+
scrollPane_2 = new JScrollPane();
221+
scrollPane_2.setBounds(666, 319, 121, 89);
222+
contentPane.add(scrollPane_2);
223+
list = new JList(v2);
224+
scrollPane_2.setViewportView(list);
225+
226+
227+
228+
Vector vTitle = new Vector<>();
229+
Vector vData = new Vector<>();
230+
231+
vTitle.add("Mã sinh viên");
232+
vTitle.add("Họ tên");
233+
vTitle.add("Ngày sinh");
234+
vTitle.add("Quê quán");
235+
236+
Vector data1 = new Vector<>();
237+
data1.add("24IT213");
238+
data1.add("Hải");
239+
data1.add("23-21-2000");
240+
data1.add("Hà Tĩnh");
241+
242+
Vector data2 = new Vector<>();
243+
data2.add("18IT999");
244+
data2.add("Hùng");
245+
data2.add("23-21-2007");
246+
data2.add("Hà Nội");
247+
248+
vData.add(data1);
249+
vData.add(data2);
250+
vData.add(data1);
251+
vData.add(data2);
252+
vData.add(data1);
253+
vData.add(data2);
254+
vData.add(data1);
255+
vData.add(data2);
256+
vData.add(data1);
257+
vData.add(data2);
258+
vData.add(data1);
259+
vData.add(data2);
260+
vData.add(data1);
261+
vData.add(data2);
262+
vData.add(data1);
263+
vData.add(data2);
264+
vData.add(data2);
265+
vData.add(data1);
266+
vData.add(data2);
267+
vData.add(data1);
268+
vData.add(data2);
269+
vData.add(data1);
270+
vData.add(data2);
271+
vData.add(data1);
272+
vData.add(data2);
273+
274+
275+
DefaultTableModel tableModel = new DefaultTableModel(vData, vTitle);
276+
277+
scrollPane_3 = new JScrollPane();
278+
scrollPane_3.setBounds(928, 140, 417, 325);
279+
contentPane.add(scrollPane_3);
280+
table = new JTable(tableModel);
281+
scrollPane_3.setViewportView(table);
282+
// table.setModel(tableModel);
283+
284+
285+
286+
JProgressBar progressBar = new JProgressBar();
287+
progressBar.setBounds(0, 638, 1370, 23);
288+
progressBar.setMaximum(100);
289+
progressBar.setMinimum(0);
290+
progressBar.setValue(0);
291+
progressBar.setStringPainted(true);
292+
contentPane.add(progressBar);
293+
294+
JScrollBar scrollBar = new JScrollBar();
295+
scrollBar.setBounds(805, 455, 61, 103);
296+
contentPane.add(scrollBar);
297+
298+
JSeparator separator = new JSeparator();
299+
separator.setBounds(54, 591, 757, 13);
300+
contentPane.add(separator);
301+
302+
JSeparator separator_1 = new JSeparator();
303+
separator_1.setBounds(928, 127, 411, 2);
304+
contentPane.add(separator_1);
305+
306+
JLabel lblNewLabel = new JLabel("Danh sách sinh viên");
307+
lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 16));
308+
lblNewLabel.setBounds(928, 102, 375, 14);
309+
contentPane.add(lblNewLabel);
310+
311+
JSlider slider = new JSlider();
312+
slider.setBounds(247, 455, 200, 70);
313+
slider.setMaximum(100);
314+
slider.setMinimum(10);
315+
slider.setMajorTickSpacing(20);
316+
slider.setMinorTickSpacing(1);
317+
slider.setPaintLabels(true);
318+
slider.setPaintTicks(true);
319+
contentPane.add(slider);
320+
321+
87322
setVisible(true);
88323
setTitle("Ứng dụng quản lý");
324+
setLocationRelativeTo(null);
325+
setResizable(false);
326+
327+
328+
Timer timer = new Timer(5, new ActionListener() {
329+
330+
@Override
331+
public void actionPerformed(ActionEvent e) {
332+
// TODO Auto-generated method stub
333+
int value = progressBar.getValue();
334+
progressBar.setValue(value + 1);
335+
if (value == 100)
336+
progressBar.setVisible(false);
337+
}
338+
});
339+
timer.start();
89340
}
90341
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /