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

📄 videorental.java

📁 This is a complete but simple application of Video rental system written in java. It uses GUI and MS
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class VideoRental extends JDialog
{ 
  // Class attributes
  private JLabel      labelClient          = new JLabel("Client code:");
  private JLabel      labelClientName      = new JLabel("[ Client name ]");
  private JTextField  textFieldClientCode  = new JTextField("");
  private JLabel      labelVideo           = new JLabel("Video Code:");
  private JLabel      labelVideoName       = new JLabel("[ Video name ]");
  private JTextField  textFieldVideoCode   = new JTextField("");
  private JLabel      labelPressTab1       = new JLabel("Press <TAB>");
  private JLabel      labelPressTab2       = new JLabel("after typing the video code");
  private JButton     btnRent              = new JButton("Rent");
  private JButton     btnClear             = new JButton("Clear");
  private boolean     clientExists         = false;
  private boolean     movieExists          = false;
  
  public VideoRental()
  {
    // Window layout definition
    this.getContentPane().setLayout(null);
    this.setSize(420, 132);
    this.setTitle("Video Rental");
    this.setResizable(false);
    this.setModal(true);
      
    labelClient.setBounds(new Rectangle(10, 15, 100, 13));
    this.getContentPane().add(labelClient, null);

    labelClientName.setBounds(new Rectangle(188, 14, 230, 13));
    this.getContentPane().add(labelClientName, null);

    textFieldClientCode.setBounds(new Rectangle(82, 12, 100, 21));
    this.getContentPane().add(textFieldClientCode, null);

    labelVideo.setBounds(new Rectangle(10, 41, 100, 13));
    this.getContentPane().add(labelVideo, null);

    btnRent.setBounds(new Rectangle(304, 70, 100, 30));
    this.getContentPane().add(btnRent, null);

    textFieldVideoCode.setBounds(new Rectangle(82, 36, 100, 21));
    this.getContentPane().add(textFieldVideoCode, null);

    labelVideoName.setBounds(new Rectangle(188, 39, 230, 13));
    this.getContentPane().add(labelVideoName, null);

    labelPressTab1.setBounds(new Rectangle(18, 65, 200, 13));
    this.getContentPane().add(labelPressTab1, null);

    labelPressTab2.setBounds(new Rectangle(18, 83, 200, 13));
    this.getContentPane().add(labelPressTab2, null);

    btnClear.setBounds(new Rectangle(200, 70, 100, 30));
    this.getContentPane().add(btnClear, null);

    // JTextField textFieldClientCode event
    textFieldClientCode.addFocusListener (new FocusAdapter()
    {
      public void focusLost(FocusEvent e)
      {
        textFieldClientCodeOnExit();
      }
    });

    // JButton btnRent event
    btnRent.addActionListener (new ActionListener()
    { public void actionPerformed(ActionEvent e)
      {
        rentButtonAction();
      }
    });

    // JTextField textFieldVideoCode event
    textFieldVideoCode.addFocusListener (new FocusAdapter()
    { 
      public void focusLost(FocusEvent e)
      {
        textFieldVideoCodeOnExit();
      }
    });

    // JButton btnClear event
    btnClear.addActionListener (new ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
        clearButtonAction();
      }
    });

    // Window close button event
    this.addWindowListener(new WindowAdapter()
    {
      public void windowClosing(WindowEvent e)
      {
        onExit();
      }
    });
  }

  // Called methods

  // JTextField textFieldClientCode event
  private void textFieldClientCodeOnExit()
  {
    DatabaseAccess ac = new DatabaseAccess();
    
    if(ac.connect())
    {
      clientExists = (ac.checkExist("CLIENT where (CLIENT_CODE = '"
                   + textFieldClientCode.getText() + "')") > 0);
      
      textFieldClientCode.setEnabled(((clientExists) ? false : true));
      
      if(clientExists)
      { // Search rest
        String[] rCampos = new String[1];
        
        ac.retFields(rCampos, "CLIENT_NAME", 
                     "CLIENT where (CLIENT_CODE = '"
                     + textFieldClientCode.getText() + "')");
        
        labelClientName.setText(rCampos[0]);
      }
      else
        labelClientName.setText("Client does not exist.");
      
       
      ac.disconnect();
    }
      
    btnRent.setEnabled(((clientExists) && (movieExists)));  
  }

  // JTextField textFieldVideoCode exit event
  private void textFieldVideoCodeOnExit()
  {
    DatabaseAccess ac = new DatabaseAccess();
    
    if(ac.connect())
    {
      movieExists = (ac.checkExist("VIDEO where (VIDEO_CODE = '"
                             + textFieldVideoCode.getText()
                             + "') and (VIDEO_SITUATION = 'F')") > 0);
      
      textFieldVideoCode.setEnabled(((movieExists) ? false : true));
      
      if(movieExists)
      { // Search the rest
        String[] rCampos = new String[1];
        
        ac.retFields(rCampos, "VIDEO_NAME", 
                     "VIDEO where (VIDEO_CODE = '"
                     + textFieldVideoCode.getText() + "')");
        
        labelVideoName.setText(rCampos[0]);
      }
      else
         labelVideoName.setText("Video isn't available.");

      ac.disconnect();
    }
    
    btnRent.setEnabled(((clientExists) && (movieExists)));  
  }
  
  // Button Clear
  private void clearButtonAction()
  {
    btnRent.setEnabled(false);
    clientExists = false;
    movieExists = false;
    textFieldClientCode.setEnabled(true);
    textFieldVideoCode.setEnabled(true);
    textFieldClientCode.setText("");
    textFieldVideoCode.setText("");
    labelClientName.setText("");
    labelVideoName.setText("");
    textFieldClientCode.requestFocus();
  }

  // Button Rent
  private void rentButtonAction()
  {
    DatabaseAccess ac = new DatabaseAccess();
    
    if(ac.connect())
    {
      ac.executeSQL("insert into RENTAL (CLIENT_CODE, VIDEO_CODE) "
                 + "values ('" + textFieldClientCode.getText() + "', '"
                 + textFieldVideoCode.getText() + "')");
      
      ac.executeSQL("update VIDEO set VIDEO_SITUATION = 'R' "
                 + " where VIDEO_CODE ='" + textFieldVideoCode.getText() + "'");
      
      ac.disconnect();
      
      btnRent.setEnabled(false);
      movieExists = false;
      labelVideoName.setText("");
      textFieldVideoCode.setText("");
      textFieldVideoCode.setEnabled(true);
      textFieldVideoCode.requestFocus();
    }
  }

  // Window close button
  private void onExit()
  {
    dispose();
  }

}

⌨️ 快捷键说明

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