Java Swing解析版:图书管理系统(2)实战项目开发


package swingPackage;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTree;
import javax.swing.UIManager;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
//extends
//
//延伸
public class ChengGongDengLuHouDejiemian extends JFrame {
static JButton JButton1, JButton2, JButton3, JButton4 = null;
static JLabel JLabel1, JLabel2, JLabel3, JLabel4 = null;
static JPanel JPanel1, JPanel2, JPanel3, JPanel4, JPanel5, JPanel6 = null;
JTree JTree1 = null;/* 声明一个树控件,JTree为树形控件,即像树一样的按钮等的控件等 */
public ChengGongDengLuHouDejiemian() {
this.setTitle("登录后的主界面");
/* layout:布局 */
/* setLayout()设置用户界面上的屏幕组件的格式布局,是java图形界面编程的常用方法。默认为流式布局。 */
this.setLayout(null);
this.setSize(700, 700);
/*
* location:地点.relative:亲属。 public void setLocationRelativeTo(Component
* c)设置窗口相对于指定组件的位置。 如果组件当前未显示,或者 c 为 null,则此窗口将置于屏幕的中央。
*/
this.setLocationRelativeTo(null);
/* JPanel:面板 */
JPanel1 = new JPanel(null);
/* image:形象。icon:图标 */
JButton1 = new JButton("切换用户", new ImageIcon("img//1.png"));
/*
* vertical:垂直的。position:位置。
* JButton1.setVerticalTextPosition(JButton.TOP)定义标签中垂直方向的文字以顶端对齐
*/
JButton1.setVerticalTextPosition(JButton.TOP);
/* horizontal:水平的 */
JButton1.setHorizontalTextPosition(JButton.CENTER);
/* bounds:范围 */
JButton1.setBounds(100, 20, 100, 60);
JButton2 = new JButton("借阅排行榜", new ImageIcon("img//2.png"));
JButton2.setVerticalTextPosition(JButton.TOP);
JButton2.setHorizontalTextPosition(JButton.CENTER);
JButton2.setBounds(250, 20, 100, 60);
JButton3 = new JButton("系统管理", new ImageIcon("img//3.png"));
JButton3.setVerticalTextPosition(JButton.TOP);
JButton3.setHorizontalTextPosition(JButton.CENTER);
JButton3.setBounds(400, 20, 100, 60);
JButton4 = new JButton("退出系统", new ImageIcon("img//4.png"));
JButton4.setVerticalTextPosition(JButton.TOP);
JButton4.setHorizontalTextPosition(JButton.CENTER);
JButton4.setBounds(550, 20, 100, 60);
JPanel1.add(JButton1);
JPanel1.add(JButton2);
JPanel1.add(JButton3);
JPanel1.add(JButton4);
JPanel2 = new JPanel(null);
JPanel3 = new JPanel(null);
JPanel4 = new JPanel(null);
JPanel5 = new JPanel(null);
JPanel6 = new JPanel(null);
/* 给所有的JTree控件设置统一的图标, 所以一定要在实例化JTree之前使用,否则没有效果 */
/*
* collapsed:倒塌。expanded:被扩大的。open:开着的。
* closed是形容词“关闭的”,也是close的过去式和过去分词。 leaf:叶子
*/
/*
* 用户界面(User Interface,简称UI,亦称使用者界面)是指对软件的人机交互、操作逻辑、界面美观的整体设计,
* 是系统和用户之间进行交互和信息交换的介质。Manager(经理;管理委员;主教练;经纪人;总管;)管理程序
* put,(英文单词,动词,翻译为)放置(,写,实施,使(人或物)处于(某种状态)等,在句中可作谓语。)
*/
UIManager.put("Tree.collapsedIcon", new ImageIcon("img//1.png"));// 默认打开图标
UIManager.put("Tree.expandedIcon", new ImageIcon("img//2.png"));// 打开后图标
UIManager.put("Tree.openIcon", new ImageIcon("img//3.png"));// 打开
UIManager.put("Tree.closedIcon", new ImageIcon("img//4.png"));// 关闭
UIManager.put("Tree.leafIcon", new ImageIcon("img//5.png"));// 打开后小图标
/* Default:(不履行; 违约; 拖欠; 未到庭;) 默认值 */
/* Mutable易变的;很可能改变的;反复无常的;用情不专的 */
/*
* DefaultMutableTreeNode:节点。 new DefaultMutableTreeNode:新节点
*/
/* node:节点 */
DefaultMutableTreeNode dmtn1 = new DefaultMutableTreeNode("图书管理");
DefaultMutableTreeNode dmtn_yonghu = new DefaultMutableTreeNode("用户管理");
DefaultMutableTreeNode dmtn_yonghu_insert = new DefaultMutableTreeNode(
"增加用户");
DefaultMutableTreeNode dmtn_yonghu_update = new DefaultMutableTreeNode(
"修改用户");
DefaultMutableTreeNode dmtn_yonghu_delete = new DefaultMutableTreeNode(
"删除用户");
DefaultMutableTreeNode dmtn_yonghu_select = new DefaultMutableTreeNode(
"查询用户");
DefaultMutableTreeNode dmtn_jieyue = new DefaultMutableTreeNode("借阅管理");
DefaultMutableTreeNode dmtn_jieyue_insert = new DefaultMutableTreeNode(
"增加借阅信息");
DefaultMutableTreeNode dmtn_jieyue_update = new DefaultMutableTreeNode(
"修改借阅信息");
DefaultMutableTreeNode dmtn_jieyue_delete = new DefaultMutableTreeNode(
"删除借阅信息");
DefaultMutableTreeNode dmtn_jieyue_select = new DefaultMutableTreeNode(
"查询借阅信息");
// 从小到大的方向进行添加呢内容
dmtn_yonghu.add(dmtn_yonghu_insert);
dmtn_yonghu.add(dmtn_yonghu_update);
dmtn_yonghu.add(dmtn_yonghu_delete);
dmtn_yonghu.add(dmtn_yonghu_select);
dmtn_jieyue.add(dmtn_jieyue_insert);
dmtn_jieyue.add(dmtn_jieyue_update);
dmtn_jieyue.add(dmtn_jieyue_delete);
dmtn_jieyue.add(dmtn_jieyue_select);
dmtn1.add(dmtn_yonghu);
dmtn1.add(dmtn_jieyue);
JTree1 = new JTree(dmtn1);
JTree1.addTreeSelectionListener(new shijian_zc(this));
JTree1.setBounds(10, 10, 150, 300);
JPanel2.add(JTree1);
JLabel1 = new JLabel();
JLabel2 = new JLabel();
JLabel3 = new JLabel();
JLabel4 = new JLabel();
JLabel1.setBounds(0, 0, 534, 564);
/* setBounds(x,y,size_x,size_y) */
JLabel2.setBounds(0, 0, 534, 564);
JLabel3.setBounds(0, 0, 534, 564);
JLabel4.setBounds(0, 0, 534, 564);
JLabel1.setIcon(new ImageIcon("img//11.png"));
JLabel2.setIcon(new ImageIcon("img//22.png"));
JLabel3.setIcon(new ImageIcon("img//33.png"));
JLabel4.setIcon(new ImageIcon("img//44.png"));
JPanel3.add(JLabel1);
JPanel4.add(JLabel2);
JPanel5.add(JLabel3);
JPanel6.add(JLabel4);
JButton1.addActionListener(new shijian_zc(this));
JButton2.addActionListener(new shijian_zc(this));
JButton3.addActionListener(new shijian_zc(this));
JButton4.addActionListener(new shijian_zc(this));
JPanel1.setBounds(0, 0, 700, 100);
JPanel2.setBounds(0, 100, 150, 600);
JPanel3.setBounds(150, 100, 550, 600);
JPanel4.setBounds(150, 100, 550, 600);
JPanel5.setBounds(150, 100, 550, 600);
JPanel6.setBounds(150, 100, 550, 600);
JPanel1.setBorder(BorderFactory.createLineBorder(Color.red));
JPanel2.setBorder(BorderFactory.createLineBorder(Color.green));
JPanel3.setBorder(BorderFactory.createLineBorder(Color.blue));
JPanel4.setBorder(BorderFactory.createLineBorder(Color.red));
JPanel5.setBorder(BorderFactory.createLineBorder(Color.green));
JPanel6.setBorder(BorderFactory.createLineBorder(Color.blue));
this.add(JPanel1);
this.add(JPanel2);
this.add(JPanel3);
this.add(JPanel4);
this.add(JPanel5);
this.add(JPanel6);
/* operation,中文意思是手术、运行。 */
/* EXIT:(出口; 通道; 太平门; 安全门; 离去; 出去; )(退出; 死亡; 退场) */
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/* visible:可见的。set:设置 */
this.setVisible(true);
// this.setTitle("登录后的界面");
// this.setLayout(null);
// this.setSize(800, 800);
// this.setLocationRelativeTo(null);
// this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// this.setVisible(true);
}
}
/* implements:实现 */
class shijian_zc implements ActionListener, TreeSelectionListener {
public ChengGongDengLuHouDejiemian dd = null;
public shijian_zc(ChengGongDengLuHouDejiemian d) {
dd = d;
}
/* actionPerformed:按钮单击方法。ActionEvent:动作事件 */
@Override
public void actionPerformed(ActionEvent arg0) {
if (arg0.getSource() == dd.JButton1) {
dd.JPanel3.setVisible(true);// 让jp3的区域显示,其他的区域隐藏
dd.JPanel4.setVisible(false);
dd.JPanel5.setVisible(false);
dd.JPanel6.setVisible(false);
} else if (arg0.getSource() == dd.JButton2) {
dd.JPanel4.setVisible(true);// 让jp4的区域显示,其他的区域隐藏
dd.JPanel3.setVisible(false);
dd.JPanel5.setVisible(false);
dd.JPanel6.setVisible(false);
} else if (arg0.getSource() == dd.JButton3) {
dd.JPanel5.setVisible(true);// 让jp5的区域显示,其他的区域隐藏
dd.JPanel4.setVisible(false);
dd.JPanel3.setVisible(false);
dd.JPanel6.setVisible(false);
} else if (arg0.getSource() == dd.JButton4) {
dd.JPanel6.setVisible(true);// 让jp6的区域显示,其他的区域隐藏
dd.JPanel4.setVisible(false);
dd.JPanel5.setVisible(false);
dd.JPanel3.setVisible(false);
}
}
// 点击Tree中的子节点会执行的方法
@Override
/* value(值)Changed(被改变) */
public void valueChanged(TreeSelectionEvent arg0) {
// 获取最后一次点击的那个节点
DefaultMutableTreeNode str = (DefaultMutableTreeNode) dd.JTree1
.getLastSelectedPathComponent();
// JOptionPane.showMessageDialog(null, str.toString());
if (str.toString().equals("增加用户")) {
// Visible:可见的(;看得见的;有形商品的;明显的;易察觉的;公众场合出现多的)
dd.JPanel3.setVisible(true);// 让jp3的区域显示,其他的区域隐藏
dd.JPanel4.setVisible(false);
dd.JPanel5.setVisible(false);
dd.JPanel6.setVisible(false);
} else if (str.toString().equals("修改用户")) {
dd.JPanel4.setVisible(true);// 让jp4的区域显示,其他的区域隐藏
dd.JPanel3.setVisible(false);
dd.JPanel5.setVisible(false);
dd.JPanel6.setVisible(false);
} else if (str.toString().equals("删除用户")) {
dd.JPanel5.setVisible(true);// 让jp5的区域显示,其他的区域隐藏
dd.JPanel4.setVisible(false);
dd.JPanel3.setVisible(false);
dd.JPanel6.setVisible(false);
} else if (str.toString().equals("查询用户")) {
dd.JPanel6.setVisible(true);// 让jp6的区域显示,其他的区域隐藏
dd.JPanel4.setVisible(false);
dd.JPanel5.setVisible(false);
dd.JPanel3.setVisible(false);
}
}
}
