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

📄 jcatalogcom.java

📁 是一个专门设计用于触摸屏的POS(point of sales)应用软件
💻 JAVA
字号:
/*
 * JCatalogCom.java
 *
 * Created on April 14, 2006, 12:46 PM
 */

package net.adrianromero.tpv.panels;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Insets;
import java.awt.event.ActionListener;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingConstants;
import net.adrianromero.beans.JFlowPanel;
import net.adrianromero.tpv.ticket.ProductInfoExt;
import net.adrianromero.tpv.util.ThumbNailBuilder;

/**
 *
 * @author  adrianromero
 */
public class JCatalogCom extends javax.swing.JPanel {
    
    private static ThumbNailBuilder tnbprod = null;
    
    private JFlowPanel flowpanel;    
    
    /** Creates new form JCatalogCom */
    public JCatalogCom(ProductInfoExt prod, ActionListener backaction) {
        
        initComponents();
     
        if (tnbprod == null) {
            Image defimg;
            try {
                defimg = ImageIO.read(getClass().getClassLoader().getResourceAsStream("net/adrianromero/images/colorize.png"));               
            } catch (Exception fnfe) {
                defimg = null;
            }            
            tnbprod = new ThumbNailBuilder(64, 32, defimg);        
        }
        
        m_jproduct.setIcon(new ImageIcon(tnbprod.getThumbNail(prod.getImage())));
        m_jproduct.setText(prod.getName());
        m_jBack.addActionListener(backaction);
        
        flowpanel = new JFlowPanel();
        JScrollPane scroll = new JScrollPane(flowpanel);
        scroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        scroll.getVerticalScrollBar().setPreferredSize(new Dimension(35, 35));
        
        add(scroll, BorderLayout.CENTER);
    }
    
    public void addProduct(Image img, String name, ActionListener al) {
        JButton btn = new JButton();
        btn.setText(name);
        btn.setIcon(new ImageIcon(img));
        btn.setFocusPainted(false);
        btn.setFocusable(false);
        btn.setRequestFocusEnabled(false);
        btn.setHorizontalTextPosition(SwingConstants.CENTER);
        btn.setVerticalTextPosition(SwingConstants.BOTTOM);
        btn.setMargin(new Insets(2, 2, 2, 2));
        btn.setMaximumSize(new Dimension(80, 70));
        btn.setPreferredSize(new Dimension(80, 70));
        btn.setMinimumSize(new Dimension(80, 70));
        btn.addActionListener(al);
        flowpanel.add(btn);        
    }
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
    private void initComponents() {
        jPanel1 = new javax.swing.JPanel();
        jPanel2 = new javax.swing.JPanel();
        m_jBack = new javax.swing.JButton();
        m_jproduct = new javax.swing.JLabel();

        setLayout(new java.awt.BorderLayout());

        jPanel1.setLayout(new java.awt.BorderLayout());

        jPanel1.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 5));
        m_jBack.setText("Back");
        jPanel2.add(m_jBack);

        jPanel1.add(jPanel2, java.awt.BorderLayout.CENTER);

        m_jproduct.setText("Pizza");
        jPanel1.add(m_jproduct, java.awt.BorderLayout.NORTH);

        add(jPanel1, java.awt.BorderLayout.WEST);

    }// </editor-fold>//GEN-END:initComponents
    
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JButton m_jBack;
    private javax.swing.JLabel m_jproduct;
    // End of variables declaration//GEN-END:variables
    
}

⌨️ 快捷键说明

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