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

📄 componentlistpanel.java

📁 些程序用java实现一个装机程序,不过是一个C/S架构,但是在数据库的设计方面与3层架构的构造方案我想对一些朋友还是否有一定的帮助吧
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package pcdiysystem.Panel;

import java.awt.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.BorderLayout;
import java.util.Vector;
import pcdiysystem.Dao.ProcessorsDAO;
import pcdiysystem.Dao.MotherboardsDAO;
import pcdiysystem.Dao.ManuOfMotDAO;
import pcdiysystem.Dao.ManuOfProDAO;
import pcdiysystem.Dao.MemoryDAO;
import pcdiysystem.Dao.ManuOfMemDAO;
import java.awt.Font;
import pcdiysystem.Panel.DIYPanel;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.table.TableColumn;
import javax.swing.table.JTableHeader;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseMotionAdapter;
import pcdiysystem.Dao.DefaultProjectDAO;

/**
 * <p>Title: 自助装机系统</p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author kamiiiyu
 * @version 1.0
 */
public class ComponentListPanel
    extends JPanel {

  BorderLayout borderLayout1 = new BorderLayout();
  JScrollPane scpListOfComponent = new JScrollPane();
  JPanel pnlTitle = new JPanel(new GridLayout(1, 4));
  JPanel pnlBottom = new JPanel(new FlowLayout());
  JPanel pnlBottomContainer = new JPanel(new BorderLayout());
  JTextArea txtDetail = new JTextArea(5, 50);
  JButton btnSelect = new JButton("选用");
  JButton btnCancel = new JButton("取消");
  JLabel lblComponents = new JLabel("电脑配件");
  JLabel lblManufacturer = new JLabel("品牌");
  JComboBox cboComponents = new JComboBox();
  JComboBox cboManufacturer = new JComboBox();
  JTable tabComData;
  DefaultTableModel dtComponent;
  DefaultTableModel dtCellDisEditable;
  Vector selectedRecord;
  ProjectPanel pnlRight;

  public ComponentListPanel() {
    try {
      jbInit();
    }
    catch (Exception exception) {
      exception.printStackTrace();
    }
  }

  public ComponentListPanel(ProjectPanel pnlRight) {
    try {
      this.pnlRight = pnlRight;
      jbInit();
    }
    catch (Exception exception) {
      exception.printStackTrace();
    }
  }

  private void jbInit() throws Exception {
    this.setLayout(borderLayout1);
    txtDetail.setEditable(false);
    lblComponents.setFont(new java.awt.Font("宋体", Font.BOLD, 15));
    lblComponents.setText("电 脑 配 件:");
    lblManufacturer.setFont(new java.awt.Font("宋体", Font.BOLD, 15));
    lblManufacturer.setText("  品  牌:");
    this.insertToCboComponents();
    this.inserToCboManufacturer();
    cboComponents.addItemListener(new
                                  ComponentListPanel_cboComponents_itemAdapter(this));
    cboManufacturer.addItemListener(new
                                    ComponentListPanel_cboManufacturer_itemAdapter(this));
    btnSelect.addActionListener(new ComponentListPanel_btnSelect_actionAdapter(this));
    btnCancel.addActionListener(new ComponentListPanel_btnCancel_actionAdapter(this));
    pnlTitle.add(lblComponents);
    pnlTitle.add(cboComponents);
    pnlTitle.add(lblManufacturer);
    pnlTitle.add(cboManufacturer);
    pnlBottom.add(btnSelect);
    pnlBottom.add(btnCancel);
    pnlBottomContainer.add(pnlBottom, BorderLayout.CENTER);
    pnlBottomContainer.add(txtDetail, BorderLayout.NORTH);
    pnlBottomContainer.add(new JLabel("硬件细节"), BorderLayout.WEST);
    this.add(pnlBottomContainer, BorderLayout.SOUTH);

    this.creatNewComponentTable("Intel");
    this.add(scpListOfComponent, java.awt.BorderLayout.CENTER);
    this.add(pnlTitle, java.awt.BorderLayout.NORTH);
  }

  public void insertToCboComponents() {
    cboComponents.addItem("CPU");
    cboComponents.addItem("散热系统");
    cboComponents.addItem("主板");
    cboComponents.addItem("内存");
    cboComponents.addItem("硬盘");
    cboComponents.addItem("显卡");
    cboComponents.addItem("声卡");
    cboComponents.addItem("光驱");
    cboComponents.addItem("显示器");
    cboComponents.addItem("鼠标");
    cboComponents.addItem("键盘");
    cboComponents.addItem("机箱");
    cboComponents.addItem("PC电源");
    cboComponents.addItem("音箱");
    cboComponents.setSelectedIndex(0);
  }

  public ComponentListPanel getCurrentObject() {
    return this;
  }

  public void inserToCboManufacturer() {
    cboManufacturer.removeAllItems();
    int index = cboComponents.getSelectedIndex();
    switch (index) {
      case 0: {
        Vector temp = (new ManuOfProDAO()).getManufacturer();
        for (int i = 0; i < temp.size(); i++) {
          cboManufacturer.addItem(temp.get(i));
        }
        break;
      }
      case 1: {
        break;
      }
      case 2: {
        Vector temp = (new ManuOfMotDAO()).getManufacturer();
        for (int i = 0; i < temp.size(); i++) {
          cboManufacturer.addItem(temp.get(i));
        }
        break;
      }
      case 3: {
        Vector temp = (new ManuOfMemDAO()).getManufacturer();
        for (int i = 0; i < temp.size(); i++) {
          cboManufacturer.addItem(temp.get(i));
        }
        break;
      }

    }
  }

  void creatNewComponentTable(String manufacturer) {
    int index = cboComponents.getSelectedIndex();
    Vector colName = new Vector();
    Vector cellData = new Vector();
    switch (index) {
      case 0:
        ProcessorsDAO pd = new ProcessorsDAO();
        cellData = pd.getBaseInfomation(manufacturer);
        colName.add("型号");
        colName.add("主频");
        colName.add("前端总线");
        colName.add("接口类型");
        colName.add("库存");
        colName.add("价格");
        break;
      case 1: {
        break;
      }
      case 2: {
        MotherboardsDAO md = new MotherboardsDAO();
        cellData = md.getBaseInfomation(manufacturer,
                                        MotherboardsDAO.COMPONENTLISTPANEL);
        colName.add("型号");
        colName.add("CPU插槽类型");
        colName.add("北桥芯片");
        colName.add("支持CPU类型");
        colName.add("支持显卡标准");
        colName.add("硬件描述");
        colName.add("库存");
        colName.add("价格");
        break;
      }
      case 3: {
        MemoryDAO md = new MemoryDAO();
        cellData = md.getBaseInfomation(manufacturer);
        colName.add("型号");
        colName.add("类型");
        colName.add("容量");
        colName.add("总线频率");
        colName.add("硬件描述");
        colName.add("库存");
        colName.add("价格");
        break;
      }
    }
    /*
     dtComponent=new DefaultTableModel(cellData,colName);
     tabComData=new JTable(dtComponent);
     */
    //构造可编辑单元格的表格
    dtCellDisEditable = new TableModelOfCellDiseditable();
    dtCellDisEditable.setDataVector(cellData, colName);
    tabComData = new JTable(dtCellDisEditable);
    tabComData.addMouseMotionListener(new
                                      ComponentListPanel_tabComData_mouseMotionAdapter(this));
    tabComData.addMouseListener(new ComponentListPanel_tabComData_mouseAdapter(this));
    for (int i = 0; i < colName.size(); i++) {
      tabComData.getColumnModel().getColumn(i).setPreferredWidth(150);
    }
    tabComData.getColumnModel().getColumn(3).setPreferredWidth(200);
    tabComData.setAutoResizeMode(tabComData.AUTO_RESIZE_OFF);
    tabComData.setDragEnabled(false);
    tabComData.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    if(cellData.size()!=0){
      tabComData.setRowSelectionInterval(0, 0);

⌨️ 快捷键说明

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