📄 jcatalogcom.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 + -