⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 borrowdialog.java

📁 本人写的一个简单VCD租赁系统
💻 JAVA
字号:
//************************************************//BorrowDialog.java//This class is used to create an GUI dialog for//borrowing videos from the stock.//Created by Xiaobin Lin               3/Dec/2004//************************************************package Main;import javax.swing.*;import javax.swing.event.*;import java.awt.*;import javax.swing.WindowConstants.*;import java.awt.event.*;public class BorrowDialog extends JDialog {        //Constructor: automatically invoked when a new instance of BorrowDialog is created    public BorrowDialog(Frame parent, boolean modal, MemberSet mSet, VideoSet vSet, LendingSet lSet) {        super(parent, modal);        memberSet = mSet;        videoSet = vSet;        lendingSet = lSet;        tableHandlerMember = new TableHandler(memberSet);        tableHandlerVideo = new TableHandler(videoSet);        step = 1;        rowSelected = -1;        initComponents();        setComponents();    }            // This method is called from within the constructor to    // initialize the GUI for the borrow-video dialog.    private void initComponents() {        scrollPaneBorrow = new JScrollPane();        tableBorrow = new JTable();        buttonBack = new JButton();        buttonNext = new JButton();        buttonBorrow = new JButton();        buttonCancel = new JButton();        panelMessage = new JPanel();        textAreaStep1 = new JTextArea();        textAreaStep2 = new JTextArea();        labelSteps = new JLabel();        labelHints = new JLabel();        textAreaHints = new JTextArea();        labelTableName = new JLabel();        getContentPane().setLayout(null);        setDefaultCloseOperation(DISPOSE_ON_CLOSE);        setTitle("Borrow a Video");        setModal(true);        setName("dialogBorrow");        setResizable(false);        scrollPaneBorrow.setFont(new Font("Times New Roman", 0, 12));        tableBorrow.setFont(new Font("Times New Roman", 0, 12));        tableBorrow.setModel(tableHandlerMember);        tableBorrow.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);        ListSelectionModel rowSM = tableBorrow.getSelectionModel();        rowSM.addListSelectionListener(new ListSelectionListener() {            public void valueChanged(ListSelectionEvent e) {                //Ignore extra messages.                if (e.getValueIsAdjusting()) return;                ListSelectionModel lsm = (ListSelectionModel)e.getSource();                if (lsm.isSelectionEmpty()) {                    if (step == 1){                        buttonNext.setEnabled(false);                    }else if (step == 2){                        buttonBorrow.setEnabled(false);                    }                } else {                    rowSelected = lsm.getMinSelectionIndex();                    if (step == 1){                        memberNo = memberSet.getMemberNo(rowSelected);                        //check if the member is already in the lendingset database                        int hasVideo = lendingSet.findMember(memberNo);                        if (hasVideo == -1){ //the member hasn't borrowed                            membershipClass = memberSet.getMembershipClass(rowSelected);                            textAreaHints.setText("");                            buttonNext.setEnabled(true);                        }else{                            textAreaHints.setText("This member has a\n video unreturned.");                            buttonNext.setEnabled(false);                        }                    }else if (step == 2){                        videoIndex = rowSelected;                        //check if the video is already in the lendingset database                        int beBorrowed = lendingSet.findVideo(videoIndex);                        if (beBorrowed == -1){                            videoLangClass = videoSet.getVideoLangClass(videoIndex);                            if (membershipClass >= videoLangClass){//the member is allowed to borrow the video                                textAreaHints.setText("");                                buttonBorrow.setEnabled(true);                            }else{                                textAreaHints.setText("The member's\n membership-class is not\n enough for borrowing this\n video.");                                buttonBorrow.setEnabled(false);                            }                        }else{                            textAreaHints.setText("This video has already been\n lent out.");                            buttonBorrow.setEnabled(false);                        }                    }                }            }        });        scrollPaneBorrow.setViewportView(tableBorrow);        getContentPane().add(scrollPaneBorrow);        scrollPaneBorrow.setBounds(180, 40, 380, 290);        buttonBack.setFont(new Font("Times New Roman", 0, 12));        buttonBack.setText("Back");        buttonBack.setEnabled(false);        buttonBack.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent evt) {                buttonBackActionPerformed(evt);            }        });        getContentPane().add(buttonBack);        buttonBack.setBounds(200, 350, 80, 23);        buttonNext.setFont(new Font("Times New Roman", 0, 12));        buttonNext.setText("Next");        buttonNext.setEnabled(false);        buttonNext.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent evt) {                buttonNextActionPerformed(evt);            }        });        getContentPane().add(buttonNext);        buttonNext.setBounds(290, 350, 80, 23);        buttonBorrow.setFont(new Font("Times New Roman", 0, 12));        buttonBorrow.setText("Borrow");        buttonBorrow.setEnabled(false);        buttonBorrow.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent evt) {                buttonBorrowActionPerformed(evt);            }        });        getContentPane().add(buttonBorrow);        buttonBorrow.setBounds(380, 350, 80, 23);        buttonCancel.setFont(new Font("Times New Roman", 0, 12));        buttonCancel.setText("Cancel");        buttonCancel.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent evt) {                buttonCancelActionPerformed(evt);            }        });        getContentPane().add(buttonCancel);        buttonCancel.setBounds(470, 350, 80, 23);        panelMessage.setLayout(null);        panelMessage.setFont(new Font("Times New Roman", 0, 12));        textAreaStep1.setEditable(false);        textAreaStep1.setFont(new Font("Times New Roman", 1, 12));        textAreaStep1.setFocusable(false);        textAreaStep1.setOpaque(false);        panelMessage.add(textAreaStep1);        textAreaStep1.setBounds(10, 50, 160, 60);        textAreaStep2.setEditable(false);        textAreaStep2.setFont(new Font("Times New Roman", 0, 12));        textAreaStep2.setFocusable(false);        textAreaStep2.setOpaque(false);        panelMessage.add(textAreaStep2);        textAreaStep2.setBounds(10, 120, 160, 40);        labelSteps.setFont(new Font("Times New Roman", 1, 14));        labelSteps.setText("Steps");        panelMessage.add(labelSteps);        labelSteps.setBounds(10, 10, 40, 20);        labelHints.setFont(new Font("Times New Roman", 1, 14));        labelHints.setText("Hints");        panelMessage.add(labelHints);        labelHints.setBounds(10, 200, 40, 20);        textAreaHints.setEditable(false);        textAreaHints.setFont(new Font("Times New Roman", 1, 12));        textAreaHints.setFocusable(false);        textAreaHints.setOpaque(false);        panelMessage.add(textAreaHints);        textAreaHints.setBounds(10, 240, 160, 80);        getContentPane().add(panelMessage);        panelMessage.setBounds(0, 0, 180, 330);        labelTableName.setFont(new Font("Times New Roman", 1, 14));        labelTableName.setText("Member Table");        getContentPane().add(labelTableName);        labelTableName.setBounds(180, 10, 130, 20);        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();        setBounds((screenSize.width-570)/2, (screenSize.height-420)/2, 570, 420);    }//the end of initComponents            //this method set the states for components such as enabling a button    //or disabling a button    private void setComponents(){        String textTableNames[] = {"Memble Tables", "Video Tables"};        String textStep1 = "1. Choose a member from the\n    member table on the\n    right-hand side, then\n    click the Next button.";        String textStep2[] = {"2. ...", "2. Choose the video you want\n    to borrow, then click the\n    Borrow button."};        if (step == 1){            buttonBack.setEnabled(false);            buttonBorrow.setEnabled(false);            buttonCancel.setEnabled(true);                                 textAreaStep1.setText(textStep1);            textAreaStep1.setFont(new java.awt.Font("Times New Roman", 1, 12));            textAreaStep2.setText(textStep2[0]);            textAreaStep2.setFont(new java.awt.Font("Times New Roman", 0, 12));        }else if(step == 2){            buttonBack.setEnabled(true);            buttonNext.setEnabled(false);            buttonCancel.setEnabled(true);                        labelTableName.setText(textTableNames[1]);            textAreaStep1.setFont(new java.awt.Font("Times New Roman", 0, 12));            textAreaStep2.setText(textStep2[1]);            textAreaStep2.setFont(new java.awt.Font("Times New Roman", 1, 12));        }    }        //when borrow button is pressed    private void buttonBorrowActionPerformed(ActionEvent evt) {        Lending lending = new Lending(memberNo, videoIndex);        lendingSet.addNewLending(lending);        exitDialog();    }    //when back button is pressed    private void buttonBackActionPerformed(ActionEvent evt) {        step = 1;        textAreaHints.setText("");        setComponents();        tableBorrow.setModel(tableHandlerMember);            }    //when next button is pressed    private void buttonNextActionPerformed(ActionEvent evt) {        step = 2;        setComponents();        tableBorrow.setModel(tableHandlerVideo);    }        //when cancel button is pressed    private void buttonCancelActionPerformed(ActionEvent evt) {        exitDialog();    }        private void exitDialog(){        setVisible(false);        dispose();            }             //Variables declaration - GUI-related    private JButton buttonBack;    private JButton buttonBorrow;    private JButton buttonCancel;    private JButton buttonNext;    private JLabel labelHints;    private JLabel labelSteps;    private JLabel labelTableName;    private JPanel panelMessage;    private JScrollPane scrollPaneBorrow;    private JTable tableBorrow;    private JTextArea textAreaHints;    private JTextArea textAreaStep1;    private JTextArea textAreaStep2;    //variables declaration - non-GUI-related    private MemberSet memberSet;    private VideoSet videoSet;    private LendingSet lendingSet;    private TableHandler tableHandlerMember;    private TableHandler tableHandlerVideo;    private int step;    private int rowSelected;    private int memberNo;    private int membershipClass;    private int videoIndex;    private int videoLangClass;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -