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 + -
显示快捷键?