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) {
	
	}
}
Nguyễn Hữu Nghĩa viết 19:48 ngày 30/09/2018
stackoverflow.com
CodyBugstein

One action listener, two JButtons

java, swing, awt, jbutton
asked by CodyBugstein on 04:41PM - 21 Jan 13
Lê Trường viết 19:53 ngày 30/09/2018

cảm ơn b nhiều, tìm mà không thấy ^.^

Bài liên quan
0