Package ringdb.ui

Source Code of ringdb.ui.TowersScreen

package ringdb.ui;

import java.awt.BorderLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.beans.PropertyVetoException;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.swing.JInternalFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;

import ringdb.database.Database;
import ringdb.database.Tower;

public class TowersScreen extends JInternalFrame {

  /** Version ID */
    private static final long serialVersionUID = 8498217752258805827L;
   
    /** Logger */
    private static Logger s_Logger = Logger.getLogger(Database.class.getPackage().getName());

    private static final int FRAME_WIDTH = 400;
    private static final int FRAME_HEIGHT = 300;

  private MainWindow m_MainWindow;

  public TowersScreen(final MainWindow pr_MainWindow) {
   
    super("Towers", true, true, true);
    setSize(FRAME_WIDTH, FRAME_HEIGHT);
    m_MainWindow = pr_MainWindow;
    createContents();
   
  }
 
  private void createContents() {
   
    final TowersScreen thisScreen = this;
    final TowersTableModel model = new TowersTableModel();
    final JTable table = new JTable(model);
    table.setFillsViewportHeight(true);
    add(new JScrollPane(table), BorderLayout.CENTER);
   
    table.addMouseListener(new MouseListener() {
     
      @Override
      public void mouseReleased(final MouseEvent pr_Event) { }
     
      @Override
      public void mousePressed(final MouseEvent pr_Event) { }
     
      @Override
      public void mouseExited(final MouseEvent pr_Event) { }
     
      @Override
      public void mouseEntered(final MouseEvent pr_Event) { }
     
      @Override
      public void mouseClicked(final MouseEvent pr_Event) {
        if (pr_Event.getClickCount() == 2) {
         
          final Tower selectedTower;
          try {
            selectedTower = new Tower(model.getID(table.getSelectedRow()));
          } catch (SQLException e) {
            s_Logger.log(Level.SEVERE, "Database error getting currently selected Tower.", e);
            return;
          }
         
          final TowerScreen screen = new TowerScreen(m_MainWindow, selectedTower);
          screen.setVisible(true);
          try {
            screen.setSelected(true);
          } catch (PropertyVetoException e) {
            s_Logger.log(Level.SEVERE, "Unable to open Towers screen.", e);
            return;
          }
         
          m_MainWindow.addFrame(screen);
          m_MainWindow.removeFrame(thisScreen);
          thisScreen.dispose();
        }
      }
    });
   
  }
}
TOP

Related Classes of ringdb.ui.TowersScreen

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.