swing自定义菜单面板

第一次接触swing。。 大家帮忙看看 面板切换监听那里怎么判断当前所在哪个面板,然后隐藏,



package frd;

import java.awt.*;
import java.awt.event.*;
import java.util.List;
import javax.swing.*;

public class FriendInfo implements ActionListener {

private JFrame jFrame;
private JPanel jContentPane, jContentPane1, jContentPane2, jContentPane3;
private JLabel mainText = null;
private JLabel lblName = null;
private JTextField tfName = null;
private JLabel lblSex = null;
private JComboBox cbSex = null;
private JLabel lblPhone = null;
private JTextField tfPhone = null;
private JLabel lblEmail = null;
private JTextField tfEmail = null;
private JLabel lblAddress = null;
private JTextField tfAddress = null;

JMenuBar jMenuBarOne;
JMenu menu1, menu2, menu3;
ButtonGroup buttonEdit;

private JButton btnAdd = null;
private JButton btnDel = null;
private JButton btnModify = null;
private JButton btnQuery = null;
// private JButton btnUpPage = null;
// private JButton btnDownPage = null;
private JTable table = null;
TableModel tm = null;
JScrollPane jsp = null;

private JTextField getTfName() {
if (tfName == null) {
tfName = new JTextField();
tfName.setBounds(new Rectangle(89, 17, 173, 27));
}
return tfName;
}

private JComboBox getCbSex() {
if (cbSex == null) {
String[] str = { "请选择", "男", "女" };
cbSex = new JComboBox(str);
cbSex.setBounds(new Rectangle(360, 17, 229, 28));
}
return cbSex;
}

private JTextField getTfPhone() {
if (tfPhone == null) {
tfPhone = new JTextField();
tfPhone.setBounds(new Rectangle(89, 61, 173, 27));
}
return tfPhone;
}

private JTextField getTfEmail() {
if (tfEmail == null) {
tfEmail = new JTextField();
tfEmail.setBounds(new Rectangle(360, 61, 229, 28));
}
return tfEmail;
}

private JTextField getTfAddress() {
if (tfAddress == null) {
tfAddress = new JTextField();
tfAddress.setBounds(new Rectangle(89, 105, 173, 27));
}
return tfAddress;
}

private JButton getBtnAdd() {
if (btnAdd == null) {
btnAdd = new JButton();
btnAdd.setBounds(new Rectangle(46, 152, 71, 30));
btnAdd.addActionListener(this);
btnAdd.setText("添加");
}
return btnAdd;
}

private JButton getBtnDel() {
if (btnDel == null) {
btnDel = new JButton();
btnDel.setBounds(new Rectangle(189, 152, 71, 30));
btnDel.addActionListener(this);
btnDel.setText("删除");
}
return btnDel;
}

private JButton getBtnModify() {
if (btnModify == null) {
btnModify = new JButton();
btnModify.setBounds(new Rectangle(342, 152, 71, 30));
btnModify.addActionListener(this);
btnModify.setText("更新");
}
return btnModify;
}

private JButton getBtnQuery() {
if (btnQuery == null) {
btnQuery = new JButton();
btnQuery.setBounds(new Rectangle(484, 152, 71, 30));
btnQuery.addActionListener(this);
btnQuery.setText("查找");
}
return btnQuery;
}

// 添加分页选项
// private JButton getBtnUpPage() {
// if (btnUpPage == null) {
// btnUpPage = new JButton("上一页");
// btnUpPage.addActionListener(this);
// btnUpPage.setBounds(200, 390, 80, 30);
// }
// return btnUpPage;
// }
//
// private JButton getBtnDownPage() {
// if (btnDownPage == null) {
// btnDownPage = new JButton("下一页");
// btnDownPage.addActionListener(this);
// btnDownPage.setBounds(300, 390, 80, 30);
// }
// return btnDownPage;
// }

public FriendInfo(final String user) {
init();
this.getJFrame(user, getJContentPane1()).setVisible(true);
}

// public static void main(String[] args) {
// SwingUtilities.invokeLater(new Runnable() {
// public void run() {
// FriendInfo application = new FriendInfo();
// application.getJFrame().setVisible(true);
// }
// });
// }
private void init() {
if (jFrame == null) {
jFrame = new JFrame();
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setBounds(new Rectangle(450, 250, 610, 454));
}
}

JFrame getJFrame(String user, JPanel jContentPane) {
// if (jFrame == null) {
// jFrame = new JFrame();
// jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// jFrame.setBounds(new Rectangle(450, 250, 610, 454));
jFrame.setTitle("人员信息--管理员:" + user);
jFrame.setJMenuBar(getJMenuBar(user));
jFrame.setContentPane(jContentPane);
// }
return jFrame;
}

private JMenuBar getJMenuBar(final String user) {
jMenuBarOne = new JMenuBar();
buttonEdit = new ButtonGroup();

menu1 = new JMenu("基本信息");
menu2 = new JMenu("其他");
menu3 = new JMenu("关于");

jMenuBarOne.add(menu1);
jMenuBarOne.add(menu2);
jMenuBarOne.add(menu3);

menu1.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
System.out.println("点击基本信息选项卡");
if (getJContentPane1().isVisible()) {
getJFrame(user, getJContentPane1()).setVisible(false);
} else if (getJContentPane2().isVisible()) {
getJFrame(user, getJContentPane2()).setVisible(false);
} else if (getJContentPane3().isVisible()) {
getJFrame(user, getJContentPane3()).setVisible(false);
}
getJFrame(user, getJContentPane()).setVisible(true);
}
});
menu2.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
System.out.println("点击其他选项卡");
if (getJContentPane().isVisible()) {
getJContentPane().setVisible(false);
} else if (getJContentPane1().isVisible()) {
getJContentPane1().setVisible(false);
} else if (getJContentPane3().isVisible()) {
getJContentPane3().setVisible(false);
}
getJFrame(user, getJContentPane2()).setVisible(true);
}
});
menu3.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
System.out.println("点击关于选项卡");
if (getJContentPane2().isVisible()) {
getJContentPane2().setVisible(false);
} else if (getJContentPane1().isVisible()) {
getJContentPane1().setVisible(false);
} else if (getJContentPane2().isVisible()) {
getJContentPane2().setVisible(false);
}
getJFrame(user, getJContentPane3()).setVisible(true);
}
});
return jMenuBarOne;
}

private JPanel getJContentPane1() {
if (jContentPane1 == null) {
mainText = new JLabel();
mainText.setBounds(new Rectangle(0, 0, 200, 200));
mainText.setText("主界面");
jContentPane1 = new JPanel();
jContentPane1.setLayout(null);
jContentPane1.add(mainText, null);
}
return jContentPane1;
}

private JPanel getJContentPane2() {
if (jContentPane2 == null) {
mainText = new JLabel();
mainText.setBounds(new Rectangle(0, 0, 200, 200));
mainText.setText("其他待定界面");
jContentPane2 = new JPanel();
jContentPane2.setLayout(null);
jContentPane2.add(mainText, null);
}
return jContentPane2;
}

private JPanel getJContentPane3() {
if (jContentPane3 == null) {
mainText = new JLabel();
mainText.setBounds(new Rectangle(0, 0, 200, 200));
mainText.setText("关于" + System.currentTimeMillis());
jContentPane3 = new JPanel();
jContentPane3.setLayout(null);
jContentPane3.add(mainText, null);
}
return jContentPane3;
}

private JPanel getJContentPane() {
if (jContentPane == null) {
lblAddress = new JLabel();
lblAddress.setBounds(new Rectangle(15, 106, 63, 27));
lblAddress.setText("地址");
lblEmail = new JLabel();
lblEmail.setBounds(new Rectangle(285, 61, 63, 27));
lblEmail.setText("邮箱");
lblPhone = new JLabel();
lblPhone.setBounds(new Rectangle(15, 61, 63, 27));
lblPhone.setText("电话");
lblSex = new JLabel();
lblSex.setBounds(new Rectangle(285, 17, 63, 27));
lblSex.setText("性别");
lblName = new JLabel();
lblName.setBounds(new Rectangle(15, 17, 63, 27));
lblName.setText("姓名");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(lblName, null);
jContentPane.add(getTfName(), null);
jContentPane.add(lblSex, null);
jContentPane.add(getCbSex(), null);
jContentPane.add(lblPhone, null);
jContentPane.add(getTfPhone(), null);
jContentPane.add(lblEmail, null);
jContentPane.add(getTfEmail(), null);
jContentPane.add(lblAddress, null);
jContentPane.add(getTfAddress(), null);
jContentPane.add(getBtnAdd(), null);
jContentPane.add(getBtnDel(), null);
jContentPane.add(getBtnModify(), null);
jContentPane.add(getBtnQuery(), null);
// jContentPane.add(getBtnUpPage(), null);
// jContentPane.add(getBtnDownPage(), null);
}
return jContentPane;
}

@Override
public void actionPerformed(ActionEvent e) {

if (e.getActionCommand().equals("查找")) {
selectAll();
}
// else if (e.getActionCommand().equals("下一页")) {
// selectDownPage();
// } else if (e.getActionCommand().equals("上一页")) {
// selectUpPage();
// }
else if (e.getActionCommand().equals("添加")) {
if (tfName.getText().equals("")
|| cbSex.getSelectedItem().equals("请选择")
|| tfPhone.getText().equals("")
|| tfEmail.getText().equals("")
|| tfAddress.getText().equals("")) {
JOptionPane.showMessageDialog(jFrame, "请填写相关信息");
} else {
Friend fe = new Friend();
fe.setName(tfName.getText());
fe.setSex((String) cbSex.getSelectedItem());
fe.setPhone(tfPhone.getText());
fe.setEmail(tfEmail.getText());
fe.setAddress(tfAddress.getText());
boolean flag = FriendOperate.add(fe);
if (flag) {
JOptionPane.showMessageDialog(jFrame, "添加成功");
} else {
JOptionPane.showMessageDialog(jFrame, "添加失败");
}
}
} else if (e.getActionCommand().equals("删除")) {
if (!tfName.getText().equals("")) {
String key = tfName.getText();
boolean flag = FriendOperate.del(key);
if (flag) {
JOptionPane.showMessageDialog(jFrame, "删除成功");
} else {
JOptionPane.showMessageDialog(jFrame, "删除失败");
}
} else {
JOptionPane.showMessageDialog(jFrame, "请填写姓名");
}
} else if (e.getActionCommand().equals("更新")) {
if (!tfName.getText().equals("")
&& !cbSex.getSelectedItem().equals("请选择")
&& !tfPhone.getText().equals("")
&& !tfEmail.getText().equals("")
&& !tfAddress.getText().equals("")) {
Friend frd = new Friend();
frd.setName(tfName.getText());
frd.setSex((String) cbSex.getSelectedItem());
frd.setPhone(tfPhone.getText());
frd.setEmail(tfEmail.getText());
frd.setAddress(tfAddress.getText());
boolean flag = FriendOperate.modify(frd);
if (flag) {
JOptionPane.showMessageDialog(jFrame, "更新成功");
} else {
JOptionPane.showMessageDialog(jFrame, "更新失败");
}
} else {
JOptionPane.showMessageDialog(jFrame, "请填写相应的信息");
}
}
}

public void setValues(Object[][] obj) {
this.tm.setDatavalues(obj);
}

public void selectAll() {
List<Friend> list = FriendOperate.queryFirst();
Object[][] datavalues = new Object[list.size()][5];
for (int i = 0; i < list.size(); i++) {
Friend fe = list.get(i);
datavalues[i][0] = fe.getName();
datavalues[i][1] = fe.getSex();
datavalues[i][2] = fe.getPhone();
datavalues[i][3] = fe.getEmail();
datavalues[i][4] = fe.getAddress();
}
tm = new TableModel();
this.setValues(datavalues);
table = new JTable(tm);
table.updateUI();
JScrollPane jsp = new JScrollPane(table);
jsp.setBounds(0, 200, 600, 182);
jContentPane.add(jsp);
}

// public void selectDownPage() {
// List<Friend> list = FriendOperate.downPage();
// if (list != null) {
// Object[][] datavalues = new Object[list.size()][5];
// for (int i = 0; i < list.size(); i++) {
// Friend fe = list.get(i);
// datavalues[i][0] = fe.getName();
// datavalues[i][1] = fe.getSex();
// datavalues[i][2] = fe.getPhone();
// datavalues[i][3] = fe.getEmail();
// datavalues[i][4] = fe.getAddress();
// }
// this.setValues(datavalues);
// table.updateUI();
// } else {
// JOptionPane.showMessageDialog(jFrame, "已经是最后一页");
// }
// }
//
// public void selectUpPage() {
// List<Friend> list = FriendOperate.upPage();
// if (list != null) {
// Object[][] datavalues = new Object[list.size()][5];
// for (int i = 0; i < list.size(); i++) {
// Friend fe = list.get(i);
// datavalues[i][0] = fe.getName();
// datavalues[i][1] = fe.getSex();
// datavalues[i][2] = fe.getPhone();
// datavalues[i][3] = fe.getEmail();
// datavalues[i][4] = fe.getAddress();
// }
// this.setValues(datavalues);
// table.updateUI();
// } else {
// JOptionPane.showMessageDialog(jFrame, "已经是第一页");
// }
// }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值