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

📄 code39.java~6~

📁 会议名片管理程序 3/9条形码生成
💻 JAVA~6~
字号:
package cal;import java.awt.BorderLayout;import java.awt.Dimension;import java.awt.Font;import java.awt.FontMetrics;import java.awt.Graphics;import java.awt.Toolkit;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.UIManager;import cal.*;/** * Powered by zms * \u00C7\u00EB\u00B2\u00BB\u00D2\u00AA\u00D3\u00C3\u00D3\u00DA\u00C9\u00CC\u00D2\u00B5\u00D3\u00C3\u00CD\u00BE * \u00C7\u00EB±\u00A3\u00C1\u00F4\u00C9\u00CF\u00C3\u00E6\u00B5\u00C4±ê\u00D6\u00BE */public class Code39 extends JLabel {        public void paint(Graphics g) {                super.paint(g);                  FontMetrics metrics=g.getFontMetrics();                  int ha=metrics.getAscent()-metrics.getDescent();                  int hb=ha/2;                  int hc=line.height;                  int hd=line.width;                  int he=metrics.getAscent()-metrics.getDescent();                  int totalheight=ha+hb+hc+hd+he;                  int wb=line.width*95;                  int wc=line.width;                  int totalwidth=wb+wc;                  Dimension dim=new Dimension(totalwidth,totalheight);                  this.setMinimumSize(dim);                  int x=(this.getWidth()-totalwidth)/2;                  int y=(this.getHeight()-totalheight)/2;                  drawUpc(g,x,y+ha+hb,hd+he/2);                  g.drawString("*"+upc+"*",x+43,y+totalheight);          }         private static String[] CODEA                                 =new String[]{                                         "1010001110111010",                                         "1110100010101110",                                         "1011100010101110",                                         "1110111000101010",                                         "1010001110101110",                                         "1110100011101010",                                         "1011100011101010",                                         "1010001011101110",                                         "1110100010111010",                                         "1011100010111010"                                         };         private void drawUpc(Graphics g,int x,int y,int t) {                  int x1=x;                  int one=line.width;                  int height=line.height;                  String s="";                  for(int i=0;i<13;i++) {                           s+=CODEA[upc.charAt(i)-'0'];                  }                  s="1000101110111010"+s+"1000101110111010";                  int n=s.length();                  for(int i=0;i<n;i++) {                           if(s.charAt(i)=='1') {                                    g.fillRect(x,y,one,height);                          }                           x+=one;                  }         }        private String upc="3102104000001";        public void setCode39(String s) {                  if(s!=null && s.length()==13) {                           boolean valid=true;                           for(int i=0;i<13;i++) {                            if(!Character.isDigit(s.charAt(i))) {                                     valid=false;                                     break;                            }                           }                           if(valid) {                            this.upc=s;                            this.repaint();                           }                  }         }        public String getUpc() {                  return this.upc;         }         private Dimension line=new Dimension(2,100);         public void setLineDimension(Dimension dim) {                  if(dim.width>0 && dim.height>0) {                           this.line=new Dimension(dim.width,dim.height);                           this.repaint();                  }         }         public Dimension getLineDimension() {                  return new Dimension(line.width,line.height);         }         //for test use         public static void main(String[] args) {                 try                 {                           UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());                  }                  catch (Exception e) {}                  JFrame frame=new JFrame("UPC Test");                frame.setSize(500,500);                  frame.getContentPane().setLayout(new BorderLayout());                  //<usage>                  Code39 upc=new Code39();                  upc.setFont(new Font("Dialog",Font.PLAIN,16)); //×\u00D6\u00CC\u00E5                  upc.setUpc("3102104000005");   //upc                  upc.setLineDimension(new Dimension(1,50)); //×\u00EE\u00D0\u00A1\u00BA\u00DA\u00CF\u00DF\u00B5\u00C4size                  frame.getContentPane().add(upc,BorderLayout.CENTER);                  //</usage>                  frame.addWindowListener(new WindowAdapter() {                   public void windowClosing(WindowEvent e) {                    System.exit(0);                           }                  });                  Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();                  Dimension one=frame.getSize();                  frame.setLocation((screen.width-one.width)/2,(screen.height-one.height)/2);                  frame.setVisible(true);         }}

⌨️ 快捷键说明

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