/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package SwingPacket;
import java.awt.Button;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;
/**
*
* @author AM
*/
public class DemoSwing
extends JFrame {
public DemoSwing
(String title
) throws HeadlessException
{ super(title);
this.setSize(400,250);
this.
setDefaultCloseOperation(JFrame.
EXIT_ON_CLOSE); this.setLocationRelativeTo(null);
this.setVisible(true);
creatAndShow();
}
private void creatAndShow() {
//Tạo panle cha , thiết lập bố cục theo dòng
//Tạo panel chứa các ô nhập liệu và label
//Tạo border
jpnthongtin.setBorder(borderTitle);
jlbten
= new JLabel("Nhập tên :"); jlbten.
setForeground(Color.
yellow); jlbdiachi
= new JLabel("Nhập ý kiến : "); jlbdiachi.
setForeground(Color.
YELLOW); Font font
= new Font("Font.BOLD",
20,
20); jlbten.setFont(font);
jlbdiachi.setFont(font);
jlbten.setOpaque(true);
jlbdiachi.setOpaque(true);
jlbten.
setBackground(Color.
red); jlbdiachi.
setBackground(Color.
red);
jpnthongtin.add(jlbten);
jpnthongtin.add(jtxten);
jpnthongtin.add(jlbdiachi);
jpnthongtin.add(jsc);
jpn.add(jpnthongtin);
//Tạo panel thứ 3 chứa ô submit
jbt.setFont(font);
jpndefine.add(jbt);
jpn.add(jpndefine);
//Gán sự kiện
jbt.addActionListener(new action());
//Check box đánh giá chất lượng dịch vụ
jpncheck1.setBorder(title);
jcb1.setFont(font);
jcb2.setFont(font);
jcb3.setFont(font);
jcb4.setFont(font);
btg.add(jcb1);
btg.add(jcb2);
btg.add(jcb3);
btg.add(jcb4);
jpncheck1.add(jcb1);
jpncheck1.add(jcb2);
jpncheck1.add(jcb3);
jpncheck1.add(jcb4);
//checkbox sở thích
jpncheck2.setBorder(title2);
jcba.setFont(font);
jcbb.setFont(font);
jcbc.setFont(font);
jcbd.setFont(font);
jpncheck2.add(jcba);
jpncheck2.add(jcbb);
jpncheck2.add(jcbc);
jpncheck2.add(jcbd);
jpn.add(jpncheck1);
jpn.add(jpncheck2);
this.getContentPane().add(jpn);
}
{
@Override
JOptionPane.
showConfirmDialog(rootPane,
"Thông tin bạn đã được gửi đến chúng tôi"); }
}
public static void main
(String[] args
) { new DemoSwing("My window");
}
}
LyoKICogVG8gY2hhbmdlIHRoaXMgbGljZW5zZSBoZWFkZXIsIGNob29zZSBMaWNlbnNlIEhlYWRlcnMgaW4gUHJvamVjdCBQcm9wZXJ0aWVzLgogKiBUbyBjaGFuZ2UgdGhpcyB0ZW1wbGF0ZSBmaWxlLCBjaG9vc2UgVG9vbHMgfCBUZW1wbGF0ZXMKICogYW5kIG9wZW4gdGhlIHRlbXBsYXRlIGluIHRoZSBlZGl0b3IuCiAqLwpwYWNrYWdlIFN3aW5nUGFja2V0OwoKaW1wb3J0IGphdmEuYXd0LkJ1dHRvbjsKaW1wb3J0IGphdmEuYXd0LkNvbG9yOwppbXBvcnQgamF2YS5hd3QuRmxvd0xheW91dDsKaW1wb3J0IGphdmEuYXd0LkZvbnQ7CmltcG9ydCBqYXZhLmF3dC5HcmlkTGF5b3V0OwppbXBvcnQgamF2YS5hd3QuSGVhZGxlc3NFeGNlcHRpb247CmltcG9ydCBqYXZhLmF3dC5ldmVudC5BY3Rpb25FdmVudDsKaW1wb3J0IGphdmEuYXd0LmV2ZW50LkFjdGlvbkxpc3RlbmVyOwppbXBvcnQgamF2YXguc3dpbmcuQm9yZGVyRmFjdG9yeTsKaW1wb3J0IGphdmF4LnN3aW5nLkJveExheW91dDsKaW1wb3J0IGphdmF4LnN3aW5nLkJ1dHRvbkdyb3VwOwppbXBvcnQgamF2YXguc3dpbmcuSkJ1dHRvbjsKaW1wb3J0IGphdmF4LnN3aW5nLkpDaGVja0JveDsKaW1wb3J0IGphdmF4LnN3aW5nLkpGcmFtZTsKaW1wb3J0IGphdmF4LnN3aW5nLkpMYWJlbDsKaW1wb3J0IGphdmF4LnN3aW5nLkpPcHRpb25QYW5lOwppbXBvcnQgamF2YXguc3dpbmcuSlBhbmVsOwppbXBvcnQgamF2YXguc3dpbmcuSlJhZGlvQnV0dG9uOwppbXBvcnQgamF2YXguc3dpbmcuSlNjcm9sbFBhbmU7CmltcG9ydCBqYXZheC5zd2luZy5KVGV4dEFyZWE7CmltcG9ydCBqYXZheC5zd2luZy5KVGV4dEZpZWxkOwppbXBvcnQgamF2YXguc3dpbmcuYm9yZGVyLkJvcmRlcjsKaW1wb3J0IGphdmF4LnN3aW5nLmJvcmRlci5UaXRsZWRCb3JkZXI7CgovKioKICoKICogQGF1dGhvciBBTQogKi8KcHVibGljIGNsYXNzIERlbW9Td2luZyBleHRlbmRzIEpGcmFtZSB7CgogICAgSkxhYmVsIGpsYnRlbixqbGJkaWFjaGk7CiAgICAKICAgIEpUZXh0RmllbGQganR4dGVuOwogICAgCiAgICBKVGV4dEFyZWEganRhZGlhY2hpOwogICAgCiAgICBKQnV0dG9uIGpidDsKICAgIAogICAgICBKUmFkaW9CdXR0b24gamNiMSxqY2IyLGpjYjMsamNiNDsKICAgICAgCiAgICAgICBKQ2hlY2tCb3ggamNiYSxqY2JiLGpjYmMsamNiZDsKICAgICBwdWJsaWMgRGVtb1N3aW5nKFN0cmluZyB0aXRsZSkgdGhyb3dzIEhlYWRsZXNzRXhjZXB0aW9uIHsKICAgICAgICAgICBzdXBlcih0aXRsZSk7CiAgICAgICAgdGhpcy5zZXRTaXplKDQwMCwyNTApOwogICAgICAKICAgICAgICB0aGlzLnNldERlZmF1bHRDbG9zZU9wZXJhdGlvbihKRnJhbWUuRVhJVF9PTl9DTE9TRSk7CiAgICAgICAgdGhpcy5zZXRMb2NhdGlvblJlbGF0aXZlVG8obnVsbCk7CiAgICAgICAgdGhpcy5zZXRWaXNpYmxlKHRydWUpOwogICAgICAgIGNyZWF0QW5kU2hvdygpOwogICAgICAgIAogICAgfQoKICAgIHByaXZhdGUgdm9pZCBjcmVhdEFuZFNob3coKSB7CiAgICAgICAgCiAgICAgICAgLy9U4bqhbyBwYW5sZSBjaGEgLCB0aGnhur90IGzhuq1wIGLhu5EgY+G7pWMgdGhlbyBkw7JuZwogICAgICAgIEpQYW5lbCBqcG4gPSBuZXcgSlBhbmVsKCk7CiAgICAgICAganBuLnNldExheW91dChuZXcgRmxvd0xheW91dCgpKTsKICAgICAgICAKICAgICAgICAvL1ThuqFvIHBhbmVsIGNo4bupYSBjw6FjIMO0IG5o4bqtcCBsaeG7h3UgdsOgIGxhYmVsCiAgICAgICAgSlBhbmVsIGpwbnRob25ndGluID0gbmV3IEpQYW5lbChuZXcgR3JpZExheW91dCgzLDIsMTAsMTApKTsKICAgICAgICBCb3JkZXIgYm9yZGVyID0gQm9yZGVyRmFjdG9yeS5jcmVhdGVMaW5lQm9yZGVyKENvbG9yLlJFRCk7CiAgICAgICAgCiAgICAgICAgLy9U4bqhbyBib3JkZXIgCiAgICAgICAgVGl0bGVkQm9yZGVyIGJvcmRlclRpdGxlID0gQm9yZGVyRmFjdG9yeS5jcmVhdGVUaXRsZWRCb3JkZXIoYm9yZGVyLCJUSMOUTkcgVElOIik7CiAgICAgICAganBudGhvbmd0aW4uc2V0Qm9yZGVyKGJvcmRlclRpdGxlKTsKICAgICAgICAgICAgICAgIAogICAgICAgIGpsYnRlbiA9IG5ldyBKTGFiZWwoIk5o4bqtcCB0w6puIDoiKTsKICAgICAgICBqbGJ0ZW4uc2V0Rm9yZWdyb3VuZChDb2xvci55ZWxsb3cpOwogICAgICAgIGpsYmRpYWNoaSA9IG5ldyBKTGFiZWwoIk5o4bqtcCDDvSBraeG6v24gOiAiKTsKICAgICAgICBqbGJkaWFjaGkuc2V0Rm9yZWdyb3VuZChDb2xvci5ZRUxMT1cpOwogICAgICAgIEZvbnQgZm9udCA9IG5ldyBGb250KCJGb250LkJPTEQiLDIwLDIwKTsKICAgICAgICBqbGJ0ZW4uc2V0Rm9udChmb250KTsKICAgICAgICBqbGJkaWFjaGkuc2V0Rm9udChmb250KTsKICAgICAgICBqbGJ0ZW4uc2V0T3BhcXVlKHRydWUpOwogICAgICAgIGpsYmRpYWNoaS5zZXRPcGFxdWUodHJ1ZSk7CiAgICAgICAgamxidGVuLnNldEJhY2tncm91bmQoQ29sb3IucmVkKTsKICAgICAgICBqbGJkaWFjaGkuc2V0QmFja2dyb3VuZChDb2xvci5yZWQpOwogICAgICAgIAogICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICBqdHh0ZW4gPSBuZXcgSlRleHRGaWVsZCgxNSk7CiAgICAgICAganRhZGlhY2hpID0gbmV3IEpUZXh0QXJlYSg0LDEwKTsKICAgICAgICBKU2Nyb2xsUGFuZSBqc2MgPSBuZXcgSlNjcm9sbFBhbmUoanRhZGlhY2hpLEpTY3JvbGxQYW5lLlZFUlRJQ0FMX1NDUk9MTEJBUl9BTFdBWVMsSlNjcm9sbFBhbmUuSE9SSVpPTlRBTF9TQ1JPTExCQVJfQUxXQVlTKTsKICAgICAgICAKICAgICAgICBqcG50aG9uZ3Rpbi5hZGQoamxidGVuKTsKICAgICAgICBqcG50aG9uZ3Rpbi5hZGQoanR4dGVuKTsKICAgICAgICAKICAgICAgICBqcG50aG9uZ3Rpbi5hZGQoamxiZGlhY2hpKTsKICAgICAgICBqcG50aG9uZ3Rpbi5hZGQoanNjKTsKICAgICAgICAKICAgICAgICAKICAgICAgICBqcG4uYWRkKGpwbnRob25ndGluKTsKICAgICAgICAKICAgICAgICAKICAgICAgICAvL1ThuqFvIHBhbmVsIHRo4bupIDMgY2jhu6lhIMO0IHN1Ym1pdAogICAgICAgIEpQYW5lbCBqcG5kZWZpbmUgPSBuZXcgSlBhbmVsKG5ldyBGbG93TGF5b3V0KCkpOwogICAgICAgIGpidCA9IG5ldyBKQnV0dG9uKCJTVUJNSVQiKTsKICAgICAgICBqYnQuc2V0Rm9udChmb250KTsKICAgICAgICBqcG5kZWZpbmUuYWRkKGpidCk7CiAgICAgICAgCiAgICAgICAganBuLmFkZChqcG5kZWZpbmUpOwogICAgICAgIAogICAgICAgIAogICAgICAgIC8vR8OhbiBz4buxIGtp4buHbgogICAgICAgIGpidC5hZGRBY3Rpb25MaXN0ZW5lcihuZXcgYWN0aW9uKCkpOwogICAgICAgIAogICAgICAgIC8vQ2hlY2sgYm94IMSRw6FuaCBnacOhIGNo4bqldCBsxrDhu6NuZyBk4buLY2ggduG7pQogICAgICAgIEpQYW5lbCBqcG5jaGVjazEgPSBuZXcgSlBhbmVsKG5ldyBHcmlkTGF5b3V0KDIsIDIpKTsKICAgICAgICBCb3JkZXIgYm9yZGVyMSA9IEJvcmRlckZhY3RvcnkuY3JlYXRlTGluZUJvcmRlcihDb2xvci5CTFVFKTsKICAgICAgICBUaXRsZWRCb3JkZXIgdGl0bGUgPSBCb3JkZXJGYWN0b3J5LmNyZWF0ZVRpdGxlZEJvcmRlcihib3JkZXIxLCLEkMOhbmggZ2nDoSBjaOG6pXQgbMaw4bujbmcgZOG7i2NoIHbhu6UiKTsKICAgICAgICBqcG5jaGVjazEuc2V0Qm9yZGVyKHRpdGxlKTsKICAgICAgICAKICAgICAgICBqY2IxID0gbmV3IEpSYWRpb0J1dHRvbigiUuG6pXQgaMOgaSBsw7JuZyIpOwogICAgICAgIGpjYjEuc2V0Rm9udChmb250KTsKICAgICAgICBqY2IyID0gbmV3IEpSYWRpb0J1dHRvbigiSMOgaSBsw7JuZyIpOwogICAgICAgIGpjYjIuc2V0Rm9udChmb250KTsKICAgICAgICBqY2IzID0gbmV3IEpSYWRpb0J1dHRvbigiVOG6oW0gY2jhuqVwIG5o4bqtbiIpOwogICAgICAgIGpjYjMuc2V0Rm9udChmb250KTsKICAgICAgICBqY2I0ID0gbmV3IEpSYWRpb0J1dHRvbigiS2jDtG5nIMSRxrDhu6NjIHThu5F0Iik7CiAgICAgICAgamNiNC5zZXRGb250KGZvbnQpOwogICAgICAgIAogICAgICAgIEJ1dHRvbkdyb3VwIGJ0ZyA9IG5ldyBCdXR0b25Hcm91cCgpOwogICAgICAgIGJ0Zy5hZGQoamNiMSk7CiAgICAgICAgYnRnLmFkZChqY2IyKTsKICAgICAgICBidGcuYWRkKGpjYjMpOwogICAgICAgIGJ0Zy5hZGQoamNiNCk7CiAgICAgICAgCiAgICAgICAganBuY2hlY2sxLmFkZChqY2IxKTsKICAgICAgICBqcG5jaGVjazEuYWRkKGpjYjIpOwogICAgICAgIGpwbmNoZWNrMS5hZGQoamNiMyk7CiAgICAgICAganBuY2hlY2sxLmFkZChqY2I0KTsKICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgICAvL2NoZWNrYm94IHPhu58gdGjDrWNoCiAgICAgICAgSlBhbmVsIGpwbmNoZWNrMiA9IG5ldyBKUGFuZWwobmV3IEdyaWRMYXlvdXQoMiwgMikpOwogICAgICAgIEJvcmRlciBib3JkZXIyID0gQm9yZGVyRmFjdG9yeS5jcmVhdGVMaW5lQm9yZGVyKENvbG9yLkJMVUUpOwogICAgICAgIFRpdGxlZEJvcmRlciB0aXRsZTIgPSBCb3JkZXJGYWN0b3J5LmNyZWF0ZVRpdGxlZEJvcmRlcihib3JkZXIyLCJT4bufIHRow61jaCIpOwogICAgICAgIGpwbmNoZWNrMi5zZXRCb3JkZXIodGl0bGUyKTsKICAgICAgICAKICAgICAgICBqY2JhID0gbmV3IEpDaGVja0JveCgiQsahaSBs4buZaSIpOwogICAgICAgIGpjYmEuc2V0Rm9udChmb250KTsKICAgICAgICBqY2JiID0gbmV3IEpDaGVja0JveCgixJDDoSBiw7NuZyIpOwogICAgICAgIGpjYmIuc2V0Rm9udChmb250KTsKICAgICAgICBqY2JjID0gbmV3IEpDaGVja0JveCgiWGVtIHBoaW0iKTsKICAgICAgICBqY2JjLnNldEZvbnQoZm9udCk7CiAgICAgICBqY2JkID0gbmV3IEpDaGVja0JveCgiRHUgbOG7i2NoIik7CiAgICAgICAgamNiZC5zZXRGb250KGZvbnQpOwogICAgICAgIAogICAgICAgCiAgICAgICAgCiAgICAgICAganBuY2hlY2syLmFkZChqY2JhKTsKICAgICAgICBqcG5jaGVjazIuYWRkKGpjYmIpOwogICAgICAgIGpwbmNoZWNrMi5hZGQoamNiYyk7CiAgICAgICAganBuY2hlY2syLmFkZChqY2JkKTsKICAgICAgICAKICAgICAgICAKICAgICAgICBqcG4uYWRkKGpwbmNoZWNrMSk7CiAgICAgICAganBuLmFkZChqcG5jaGVjazIpOwogICAgICAgIHRoaXMuZ2V0Q29udGVudFBhbmUoKS5hZGQoanBuKTsKICAgICAgIH0KICAgIAogICAgY2xhc3MgYWN0aW9uIGltcGxlbWVudHMgQWN0aW9uTGlzdGVuZXIKICAgIHsKCiAgICAgICAgQE92ZXJyaWRlCiAgICAgICAgcHVibGljIHZvaWQgYWN0aW9uUGVyZm9ybWVkKEFjdGlvbkV2ZW50IGUpIHsKICAgICAgICAgICAgSk9wdGlvblBhbmUuc2hvd0NvbmZpcm1EaWFsb2cocm9vdFBhbmUsIlRow7RuZyB0aW4gYuG6oW4gxJHDoyDEkcaw4bujYyBn4butaSDEkeG6v24gY2jDum5nIHTDtGkiKTsKICAgICAgICB9CiAgICAgICAgCiAgICB9CiAgICAKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBuZXcgRGVtb1N3aW5nKCJNeSB3aW5kb3ciKTsKICAgIH0KICAgIAogICAgCn0K