returndialog.java

来自「本人写的一个简单VCD租赁系统」· Java 代码 · 共 235 行

JAVA
235
字号
//************************************************//ReturnDialog.java//This class is used to create an GUI dialog for//returning videos to the stock.//Created by Xiaobin Lin               3/Dec/2004//************************************************package Main;import javax.swing.*;import javax.swing.WindowConstants.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*;public class ReturnDialog extends JDialog {        //Constructor: automatically invoked when a new instance of ReturnDialog is created    public ReturnDialog(Frame parent, boolean modal, MemberSet mSet, VideoSet vSet, LendingSet lSet) {        super(parent, modal);        memberSet = mSet;        videoSet = vSet;        lendingSet = lSet;        tableHandlerMember = new TableHandler(memberSet);        rowSelected = -1;        initComponents();    }        // This method is called from within the constructor to    // initialize the dialog    private void initComponents() {        labelTableName = new JLabel();        scrollPaneMember = new JScrollPane();        tableMember = new JTable();        panelMessage = new JPanel();        textAreaStep = new JTextArea();        labelSteps = new JLabel();        labelHints = new JLabel();        textAreaHints = new JTextArea();        labelVideoHeld = new JLabel();        scrollPaneVideo = new JScrollPane();        tableVideoHeld = new JTable();        buttonReturn = new JButton();        buttonCancel = new JButton();        getContentPane().setLayout(null);        setDefaultCloseOperation(DISPOSE_ON_CLOSE);        setTitle("Return a Video");        setModal(true);        setName("dialogReturn");        setResizable(false);        labelTableName.setFont(new Font("Times New Roman", 1, 14));        labelTableName.setText("Member Table");        getContentPane().add(labelTableName);        labelTableName.setBounds(180, 10, 130, 20);        scrollPaneMember.setFont(new Font("Times New Roman", 0, 12));        tableMember.setFont(new Font("Times New Roman", 0, 12));        tableMember.setModel(tableHandlerMember);        tableMember.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);        ListSelectionModel rowSM = tableMember.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()) {                    buttonReturn.setEnabled(false);                } else {                    rowSelected = lsm.getMinSelectionIndex();                    memberNo = memberSet.getMemberNo(rowSelected);                    //whether the member currently holds a video                    int hasVideo = lendingSet.findMember(memberNo);                    if (hasVideo == -1){ //the member currently holds no video                        textAreaHints.setText("The member currently holds\n no video.");                        for(int i=0; i<5; i++){                            tableVideoHeld.setValueAt("",0,i);                        }                        buttonReturn.setEnabled(false);                    }else{                        lendingIndex = hasVideo;                        textAreaHints.setText("");                        int videoIndex = lendingSet.getVideoIndex(hasVideo);                        tableVideoHeld.setValueAt(videoSet.getClassNo(videoIndex), 0, 0);                        tableVideoHeld.setValueAt(videoSet.getVideoTitle(videoIndex), 0, 1);                        tableVideoHeld.setValueAt(videoSet.getVideoDirector(videoIndex), 0, 2);                        tableVideoHeld.setValueAt(videoSet.getVideoLangClass(videoIndex), 0, 3);                        tableVideoHeld.setValueAt(videoSet.getVideoSpecificLang(videoIndex), 0, 4);                        buttonReturn.setEnabled(true);                    }                }            }        });        scrollPaneMember.setViewportView(tableMember);        getContentPane().add(scrollPaneMember);        scrollPaneMember.setBounds(180, 40, 380, 190);        panelMessage.setLayout(null);        panelMessage.setFont(new Font("Times New Roman", 0, 12));        textAreaStep.setEditable(false);        textAreaStep.setFont(new Font("Times New Roman", 1, 12));        textAreaStep.setText("Select the member who wants to\nreturn a video, then click\n\"Return\" button at the right\nbuttom.");        textAreaStep.setFocusable(false);        textAreaStep.setOpaque(false);        panelMessage.add(textAreaStep);        textAreaStep.setBounds(10, 40, 160, 60);        labelSteps.setFont(new Font("Times New Roman", 1, 14));        labelSteps.setText("Steps");        panelMessage.add(labelSteps);        labelSteps.setBounds(10, 10, 60, 20);        labelHints.setFont(new Font("Times New Roman", 1, 14));        labelHints.setText("Hints");        panelMessage.add(labelHints);        labelHints.setBounds(10, 230, 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, 260, 160, 60);        getContentPane().add(panelMessage);        panelMessage.setBounds(0, 0, 180, 330);        labelVideoHeld.setFont(new Font("Times New Roman", 1, 14));        labelVideoHeld.setText("Video Held by Current Member");        getContentPane().add(labelVideoHeld);        labelVideoHeld.setBounds(180, 230, 200, 30);        scrollPaneVideo.setFont(new Font("Times New Roman", 0, 12));        tableVideoHeld.setFont(new Font("Times New Roman", 0, 12));        tableVideoHeld.setModel(new javax.swing.table.DefaultTableModel(            new Object [][] {                {null, null, null, null, null}            },            new String [] {                "Class#", "Title", "Director", "Lang Class", "Specific Language"            }        ) {            Class[] types = new Class [] {                java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class            };            boolean[] canEdit = new boolean [] {                false, false, false, false, false            };            public Class getColumnClass(int columnIndex) {                return types [columnIndex];            }            public boolean isCellEditable(int rowIndex, int columnIndex) {                return canEdit [columnIndex];            }        });        tableVideoHeld.setEnabled(false);        scrollPaneVideo.setViewportView(tableVideoHeld);        getContentPane().add(scrollPaneVideo);        scrollPaneVideo.setBounds(180, 260, 380, 70);        buttonReturn.setFont(new Font("Times New Roman", 0, 12));        buttonReturn.setText("Return");        buttonReturn.setEnabled(false);        buttonReturn.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent evt) {                buttonReturnActionPerformed(evt);            }        });        getContentPane().add(buttonReturn);        buttonReturn.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);        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();        setBounds((screenSize.width-570)/2, (screenSize.height-420)/2, 570, 420);    }//the end of initComponents	//when "return" button is pressed    private void buttonReturnActionPerformed(ActionEvent evt) {        lendingSet.removeLending(lendingIndex);        exitDialog();    }        //when "cancel" button is pressed    private void buttonCancelActionPerformed(ActionEvent evt) {        exitDialog();    }        //exit dialog        private void exitDialog(){        setVisible(false);        dispose();            }        // Variables declaration - GUI-related    private JButton buttonCancel;    private JButton buttonReturn;    private JLabel labelHints;    private JLabel labelSteps;    private JLabel labelTableName;    private JLabel labelVideoHeld;    private JPanel panelMessage;    private JScrollPane scrollPaneMember;    private JScrollPane scrollPaneVideo;    private JTable tableMember;    private JTable tableVideoHeld;    private JTextArea textAreaHints;    private JTextArea textAreaStep;    // Variables declaration - non-GUI-related    private MemberSet memberSet;    private VideoSet videoSet;    private LendingSet lendingSet;    private TableHandler tableHandlerMember;    private int rowSelected;    private int lendingIndex;    private int memberNo;}

⌨️ 快捷键说明

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