第一次接触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, "已经是第一页");
// }
// }
}
分享到:
相关推荐
在Java Swing库中,`JToolBar`是一个非常重要的组件,用于创建工具栏,它通常包含一系列按钮和其他交互元素,提供...在实际开发中,还可以根据具体需求添加更多功能,如自定义图标、右键菜单等,以满足不同场景的需求。
Swing提供了丰富的组件库,包括按钮、文本框、菜单、滚动面板等,允许开发者创建功能完备且具有跨平台性的应用程序。在Java中,Swing插件则通常是指支持在Web浏览器中运行Swing组件的技术,这使得基于Swing的应用...
Swing组件包括按钮(JButton)、文本框(JTextField)、面板(JPanel)、滚动窗格(JScrollPane)、菜单(JMenu)以及对话框(JOptionPane)等。 在创建漂亮的Java Swing界面时,有几个关键知识点需要掌握: 1. **...
Swing提供了一套丰富的组件,用于创建桌面应用程序,包括按钮、文本框、菜单、滚动面板等。Swing是完全由Java编写的,因此它具有跨平台的特性,可以在任何支持Java的系统上运行。 在Swing开发中,有几个核心概念和...
Swing 提供了许多基本组件,如按钮(JButton)、文本框(JTextField)、标签(JLabel)、面板(JPanel)等,这些组件可以组合起来构建复杂的用户界面。此外,Swing 还支持布局管理器(如 FlowLayout、GridLayout、...
Java Swing作为一套用于构建客户端(C/S)应用程序的图形用户界面工具包,提供了丰富的组件与自定义选项,使得开发者能够创建出功能强大且外观美观的应用程序。本文将深入探讨Swing中的基本组件及其定制方法,通过...
1. **组件(Components)**:Swing提供了一系列组件,如按钮(JButton)、文本框(JTextField)、标签(JLabel)、面板(JPanel)、滚动面板(JScrollPane)、菜单(JMenu)、菜单项(JMenuItem)等。这些组件可以组合起来构建复杂...
Swing提供了丰富的组件集合,包括按钮、文本框、菜单等,以及自定义组件的能力。 这篇名为“NULL”的博文链接(https://yuancihang.iteye.com/blog/1864849)可能详细介绍了如何使用Swing构建这样一个按键控制台。...
Swing提供了一套丰富的组件,用于创建桌面应用程序,包括按钮、文本框、菜单、滚动面板等。这个“JAVA_Swing小示例”很可能是为了帮助初学者理解和学习如何使用Swing来构建GUI应用。 1. **Swing组件**: Swing包含了...
Swing 提供了丰富的组件集,包括按钮、文本框、标签、滚动面板、菜单、对话框等,这些组件都是基于Java的轻量级体系结构,与早期的重量级AWT组件相比,Swing组件在性能和功能上有所提升。Swing还支持模态和非模态...
Swing提供了许多预定义的组件,如按钮、文本框、标签、菜单等,以及高级组件如表格、树视图和滚动面板。Swing还支持事件处理、布局管理、国际化和可访问性,使得开发者可以构建功能强大的桌面应用程序。 在"精通...
8. **Swing工具包**:Swing还包括一些高级组件,如JTabbedPane(选项卡面板)、JScrollPane(滚动面板)、JSplitPane(分割面板)等,它们为创建复杂布局提供了便利。 9. **异步编程**:Swing是线程安全的,所有的...
通过JRootPane,开发者可以控制组件的布局和行为,比如设置菜单栏或者管理子面板。 **JLayeredPane** 是一个特殊的面板,它允许组件在不同的层次上叠加。JLayeredPane覆盖了整个JFrame,除了标题栏和边框。在这个...
Swing提供了丰富的组件集,包括按钮、文本框、菜单、滚动面板等,允许开发者创建美观且功能强大的应用程序。在"java-swing精通电子书(chm)"中,你将深入学习Swing的各种特性和使用方法。 首先,Swing库是基于...
Swing组件主要由JComponent类及其子类构成,包括按钮(JButton)、文本框(JTextField)、标签(JLabel)、面板(JPanel)、滚动窗格(JScrollPane)、菜单(JMenu)等。这些组件为创建复杂的用户界面提供了基础。 ...
Swing API包含了许多组件,如按钮(Button)、文本框(TextField)、标签(Label)、面板(Panel)、滚动窗格(JScrollPane)、菜单(MenuBar)等,这些组件使得开发者能够构建复杂的用户界面。其中,JFrame是顶级容器,用于承载...
Java Swing 提供了大量的组件,如按钮、文本框、滚动面板、菜单等,这些组件可以用来构建复杂的用户交互。Swing组件是轻量级的,它们运行在Java虚拟机上,这使得跨平台兼容性成为可能。Swing还引入了事件处理模型,...
7. **第五章代码**:这部分可能涉及到Swing的滚动面板(JScrollPane),它允许在窗口内显示超出行或列的内容,常用于文本区域和表格。 8. **第十四章代码**:可能包含Swing的组件容器,如JPanels,以及如何使用组合...
在Swing应用中,可能需要设计一个菜单项或快捷键来触发文件复制,同时需要处理错误,确保文件操作的安全性和稳定性。 接下来,"JSplitPane"是Swing中的一个分割面板组件,用于将GUI区域分为两个或更多部分,用户...
Swing组件主要包括窗口容器(如JFrame)、面板(如JPanel)、按钮(如JButton)、文本输入(如JTextField、JTextArea)、菜单(如JMenu、JMenuBar)、滚动面板(如 JScrollPane)以及各种对话框等。这些组件都支持...