30/09/2018, 17:39
Hỏi về switch-case trong java
Trong java m có dùng khá nhiều button để làm một bài tập. Nhưng nếu dùng quá nhiều if-else lại không nên, mn giúp m có thể bắt sự kiện cho nó được không, dùng switch-case á.
dưới dây là code của m.
package Swing;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class ClientGui extends JFrame implements ActionListener, ItemListener {
JPanel p;
MenuBar mbar;
JComboBox cbb_p, cbb_q;
Menu menu_file, menu_edit, menu_help;
MenuItem open, save, exit, copy;
// MenuItem tep, sua, help;
JLabel lb_dlnhan, lb_dlgui, lb_ngtoP, lb_ngtoQ, lb_khoaCongkhai, lb_khoack,
lb_khoaBiMat, lb_khoabm, lb_bennhan, lb_bengui, lb_cong, lb_addSer;
JTextArea txta_nhan, txta_gui;
JTextField txt_cong, txt_addSer;
JButton bt_taoKhoa, bt_Open_congKhai, bt_Save_congKhai, bt_Open_biMat,
bt_Save_biMat, bt_nhan_GiaiMa, bt_nhan_Luu, bt_nhan_xoa,
bt_gui_maHoa, bt_gui_Gui, bt_gui_xoa, bt_ketnoi;
public ClientGui() {
JPanel p = new JPanel();
// this.setLayout(null);
mbar = new MenuBar();
this.setMenuBar(mbar);
mbar.add(menu_file = new Menu("Tệp"));
menu_file.addActionListener(this);
menu_file.add(open = new MenuItem("Mở File"));
menu_file.add(save = new MenuItem("Lưu"));
menu_file.add(exit = new MenuItem("Thoát"));
open.addActionListener(this);
save.addActionListener(this);
exit.addActionListener(this);
mbar.add(menu_edit = new Menu("Sửa"));
menu_edit.addActionListener(this);
menu_edit.add(copy = new MenuItem("Chép khóa công khai"));
mbar.add(menu_help = new Menu("Trợ giúp"));
menu_help.addActionListener(this);
p.add(lb_dlnhan = new JLabel("Dữ liệu nhận được"));
lb_dlnhan.setBounds(5, 5, 120, 15);
p.add(txta_nhan = new JTextArea());
txta_nhan.setBounds(5, 25, 300, 300);
txta_nhan.setEditable(false);
p.add(lb_bengui = new JLabel("Dữ liệu gửi đi"));
lb_bengui.setBounds(5, 335, 120, 10);
p.add(txta_gui = new JTextArea());
txta_gui.setBounds(5, 355, 300, 290);
p.add(lb_ngtoP = new JLabel("Chọn số nguyên tố p"));
lb_ngtoP.setBounds(400, 5, 120, 20);
p.add(cbb_p = new JComboBox());
cbb_p.setBounds(400, 25, 200, 20);
p.add(lb_ngtoQ = new JLabel("Chọn số nguyên tố q"));
lb_ngtoQ.setBounds(400, 45, 120, 20);
p.add(cbb_q = new JComboBox());
cbb_q.setBounds(400, 65, 200, 20);
p.add(bt_taoKhoa = new JButton("Tạo khóa"));
bt_taoKhoa.setActionCommand("bt_taoKhoa");
bt_taoKhoa.setBounds(500, 100, 100, 30);
p.add(lb_khoaCongkhai = new JLabel("Khóa công khai"));
lb_khoaCongkhai.setBounds(400, 150, 100, 20);
p.add(lb_khoack = new JLabel("khóa"));
lb_khoack.setBounds(400, 180, 100, 20);
lb_khoack.setForeground(Color.BLUE);
p.add(bt_Open_congKhai = new JButton());
bt_Open_congKhai.setBounds(400, 210, 20, 20);
ImageIcon open_public = new ImageIcon("src\icon\open.png");
bt_Open_congKhai.setIcon(open_public);
bt_Open_congKhai.addActionListener(this);
p.add(bt_Save_congKhai = new JButton());
bt_Save_congKhai.setBounds(430, 210, 20, 20);
ImageIcon save_public = new ImageIcon("src\icon\save.png");
bt_Save_congKhai.setIcon(save_public);
bt_Save_congKhai.addActionListener(this);
p.add(lb_khoaBiMat = new JLabel("Khóa bí mật"));
lb_khoaBiMat.setBounds(400, 250, 100, 20);
p.add(lb_khoabm = new JLabel("khóa"));
lb_khoabm.setBounds(400, 280, 100, 20);
lb_khoabm.setForeground(Color.BLUE);
p.add(bt_Open_biMat = new JButton());
bt_Open_biMat.setBounds(400, 305, 20, 20);
ImageIcon open_private = new ImageIcon("src\icon\open.png");
bt_Open_biMat.setIcon(open_private);
bt_Open_biMat.addActionListener(this);
p.add(bt_Save_biMat = new JButton());
bt_Save_biMat.setBounds(430, 305, 20, 20);
ImageIcon save_private = new ImageIcon("src\icon\save.png");
bt_Save_biMat.setIcon(save_private);
bt_Save_biMat.addActionListener(this);
p.add(lb_bennhan = new JLabel("Bên nhận"));
lb_bennhan.setBounds(400, 400, 100, 20);
p.add(bt_nhan_GiaiMa = new JButton("Giải mã"));
bt_nhan_GiaiMa.setBounds(400, 425, 80, 30);
bt_nhan_GiaiMa.addActionListener(this);
p.add(bt_nhan_Luu = new JButton("Lưu"));
bt_nhan_Luu.setBounds(400, 460, 80, 30);
bt_nhan_Luu.addActionListener(this);
p.add(bt_nhan_xoa = new JButton("Xóa"));
bt_nhan_xoa.setBounds(400, 495, 80, 30);
bt_nhan_xoa.addActionListener(this);
p.add(lb_bengui = new JLabel("Bên gửi"));
lb_bengui.setBounds(520, 400, 100, 20);
p.add(bt_gui_maHoa = new JButton("Mã hóa"));
bt_gui_maHoa.setBounds(520, 425, 80, 30);
bt_gui_maHoa.addActionListener(this);
p.add(bt_gui_Gui = new JButton("Gửi"));
bt_gui_Gui.setBounds(520, 460, 80, 30);
bt_gui_Gui.addActionListener(this);
p.add(bt_gui_xoa = new JButton("Xóa"));
bt_gui_xoa.setBounds(520, 495, 80, 30);
bt_gui_xoa.addActionListener(this);
p.add(lb_addSer = new JLabel("Địa chỉ máy chủ"));
lb_addSer.setBounds(400, 550, 120, 20);
p.add(txt_addSer = new JTextField());
txt_addSer.setBounds(400, 580, 100, 30);
p.add(lb_cong = new JLabel("Cổng"));
lb_cong.setBounds(520, 550, 100, 20);
p.add(txt_cong = new JTextField());
txt_cong.setBounds(520, 580, 80, 30);
p.add(bt_ketnoi = new JButton("Kết nối"));
bt_ketnoi.setBounds(400, 630, 200, 20);
bt_ketnoi.addActionListener(this);
p.setLayout(null);
add(p);
setTitle("CLIENT - RSA");
setSize(610, 740);
setResizable(false);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new ClientGui();
}
});
}
@Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
}
@Override
public void actionPerformed(ActionEvent ex) {
}
}
Bài liên quan
One action listener, two JButtons
cảm ơn b nhiều, tìm mà không thấy ^.^