欢迎光临散文网 会员登陆 & 注册

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

2020-04-06 19:53 作者:诗书画唱  | 我要投稿




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);

}

}

}




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

分享到微博请遵守国家法律