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

📄 barcode.java

📁 java barcode
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        }

        rightGuardBar = currentX;
        paintGuardChar(g, "bwb", "nnn", 0);
        endOfCode = currentX;
        if(UPCEANSupplement2)
            paintSup2(g, supplement);
        else
        if(UPCEANSupplement5)
            paintSup5(g, supplement);
    }

    protected void paintEAN13(Graphics g)
    {
        int i = 0;
        boolean flag = false;
        if(code.length() < 12)
            return;
        if(code.length() == 14)
        {
            supplement = code.substring(12, 14);
            UPCEANSupplement2 = true;
        }
        if(code.length() == 15)
        {
            supplement = code.substring(13, 15);
            UPCEANSupplement2 = true;
        }
        if(code.length() == 17)
        {
            supplement = code.substring(12, 17);
            UPCEANSupplement5 = true;
        }
        if(code.length() == 18)
        {
            supplement = code.substring(13, 18);
            UPCEANSupplement5 = true;
        }
        code = code.substring(0, 12);
        code += UPCEANCheck(code);
        paintGuardChar(g, "bwb", "nnn", 0);
        leftGuardBar = currentX;
        String s1 = setEANCode[(new Integer(code.charAt(0))).intValue()];
        i = findChar(setEANLeftA, code.charAt(1)+"");
        paintChar(g, "wbwb", setEANLeftA[i][1]);
        for(int j = 2; j < 12; j++)
        {
            String s = code.charAt(j)+"";
            i = -1;
            if(j <= 6)
            {
                String as[][] = setEANLeftA;
                if(s1.charAt(j - 2) == 'B')
                    as = setEANLeftB;
                i = findChar(as, s);
                paintChar(g, "wbwb", as[i][1]);
            } else
            {
                i = findChar(setEANRight, s);
                paintChar(g, "bwbw", setEANRight[i][1]);
            }
            if(j == 6)
            {
                centerGuardBarStart = currentX;
                paintGuardChar(g, "wbwbw", "nnnnn", 0);
                centerGuardBarEnd = currentX;
            }
        }

        i = findChar(setEANRight, code.charAt(12)+"");
        paintChar(g, "bwbw", setEANRight[i][1]);
        rightGuardBar = currentX;
        paintGuardChar(g, "bwb", "nnn", 0);
        endOfCode = currentX;
        if(UPCEANSupplement2)
            paintSup2(g, supplement);
        else
        if(UPCEANSupplement5)
            paintSup5(g, supplement);
    }

    private int C0(String as[], String s)
    {
        for(int i = 0; i < as.length; i++)
            if(as[i].compareTo(s) == 0)
                return i;

        return -1;
    }

    protected void paintCode128(Graphics g)
    {
        boolean flag = false;
        boolean flag1 = false;
        String s2 = code;
        codeText = code;
        boolean flag2 = false;
        boolean flag3 = false;
        boolean flag5 = false;
        int k1 = code.length();
        String as[] = set128B;
        int l1 = 103;
        if(Code128Set != '0')
        {
            s2 = "";
            codeText = "";
            for(int i2 = 1; i2 <= k1; i2++)
            {
                int l = code.charAt(i2 - 1);
                if(l < 32 && l >= 0)
                {
                    if(Code128Set == 'A')
                        s2 = s2 + (char)(l + 96);
                    if(Code128Set == 'B')
                        if(code.charAt(i2) < ' ')
                        {
                            s2 = s2 + '\311' + (char)(l + 96) + (char)(code.charAt(i2) + 96) + '\310';
                            i2++;
                        } else
                        {
                            s2 = s2 + '\311' + (char)(l + 96) + '\310';
                        }
                    if(Code128Set == 'C')
                        if(code.charAt(i2) < ' ')
                        {
                            s2 = s2 + '\311' + '\311' + (l + 64) + (code.charAt(i2) + 64) + "99";
                            i2++;
                        } else
                        {
                            s2 = s2 + '\311' + '\311' + (l + 64) + "99";
                        }
                    if(l == 13 || l == 9)
                        codeText += "  ";
                } else
                {
                    codeText += (char)l;
                    s2 = s2 + (char)l;
                }
            }

        }
        if(Code128Set == '0')
        {
            as = set128B;
            codeText = "";
            s2 = "";
            char c2 = '\314';
            byte byte0 = 66;
            char c = code.charAt(0);
            if(c < ' ')
                c2 = '\313';
            if(c > '\037' && c < '\177')
                c2 = '\314';
            if(k1 > 3 && c > '/' && c < ':' && code.charAt(1) > '/' && code.charAt(1) < ':' && code.charAt(2) > '/' && code.charAt(2) < ':' && code.charAt(3) > '/' && code.charAt(3) < ':')
                c2 = '\315';
            if(c == '\312' || c > '\323')
                c2 = '\315';
            if(c2 == '\313')
            {
                byte0 = 65;
                l1 = 103;
                paintChar(g, "bwbwbw", "211412");
            }
            if(c2 == '\314')
            {
                byte0 = 66;
                l1 = 104;
                paintChar(g, "bwbwbw", "211214");
            }
            if(c2 == '\315')
            {
                byte0 = 67;
                l1 = 105;
                paintChar(g, "bwbwbw", "211232");
            }
            for(int l2 = 1; l2 <= k1; l2++)
            {
                int i1 = code.charAt(l2 - 1);
                if(l2 < k1 - 1 && (i1 == 202 || i1 > 211))
                    s2 = s2 + '\312';
                else
                if(l2 <= k1 - 3 && i1 > 47 && i1 < 58 && code.charAt(l2) > '/' && code.charAt(l2) < ':' && code.charAt(l2 + 1) > '/' && code.charAt(l2 + 1) < ':' && code.charAt(l2 + 2) > '/' && code.charAt(l2 + 2) < ':' || l2 <= k1 - 1 && i1 > 47 && i1 < 58 && code.charAt(l2) > '/' && code.charAt(l2) < ':' && byte0 == 67)
                {
                    if(byte0 != 67)
                    {
                        s2 = s2 + '\307';
                        byte0 = 67;
                    }
                    i1 = (code.charAt(l2 - 1) - 48) * 10 + (code.charAt(l2) - 48);
                    if(i1 < 95 && i1 >= 0)
                        s2 = s2 + (char)(i1 + 32);
                    else
                    if(i1 > 94)
                        s2 = s2 + (char)(i1 + 100);
                    l2++;
                } else
                if(l2 <= k1 && (i1 < 32 || byte0 == 65 && i1 < 96))
                {
                    if(byte0 != 65)
                    {
                        s2 = s2 + '\311';
                        byte0 = 65;
                    }
                    if(i1 < 32)
                        s2 = s2 + (char)(i1 + 96);
                    else
                    if(i1 > 31)
                        s2 = s2 + (char)i1;
                } else
                if(l2 <= k1 && i1 > 31 && i1 < 127)
                {
                    if(byte0 != 66)
                    {
                        s2 = s2 + '\310';
                        byte0 = 66;
                    }
                    s2 = s2 + (char)i1;
                }
            }

            for(int i3 = 1; i3 <= k1; i3++)
            {
                char c1 = code.charAt(i3 - 1);
                boolean flag4 = false;
                if(i3 < k1 - 1 && (c1 == '\312' || c1 > '\323'))
                {
                    int j1 = (code.charAt(i3) - 48) * 10 + (code.charAt(i3 + 1) - 48);
                    if(code.charAt(i3 - 1) == '\324')
                    {
                        codeText = codeText + " (" + code.charAt(i3) + code.charAt(i3 + 1) + ") ";
                        i3 += 2;
                        flag4 = true;
                    } else
                    if(i3 < k1 - 2 && code.charAt(i3 - 1) == '\325')
                    {
                        codeText = codeText + " (" + code.charAt(i3) + code.charAt(i3 + 1) + code.charAt(i3 + 2) + ") ";
                        i3 += 3;
                        flag4 = true;
                    } else
                    if(i3 < k1 - 3 && code.charAt(i3 - 1) == '\326')
                    {
                        codeText = codeText + " (" + code.charAt(i3) + code.charAt(i3 + 1) + code.charAt(i3 + 2) + code.charAt(i3 + 3) + ") ";
                        i3 += 4;
                        flag4 = true;
                    } else
                    if(i3 < k1 - 4 && code.charAt(i3 - 1) == '\327')
                    {
                        codeText = codeText + " (" + code.charAt(i3) + code.charAt(i3 + 1) + code.charAt(i3 + 2) + code.charAt(i3 + 3) + code.charAt(i3 + 4) + ") ";
                        i3 += 5;
                        flag4 = true;
                    } else
                    if(j1 <= 30 && j1 >= 0 || j1 <= 99 && j1 >= 90)
                    {
                        codeText = codeText + " (" + code.charAt(i3) + code.charAt(i3 + 1) + ") ";
                        i3 += 2;
                        flag4 = true;
                    } else
                    if(i3 < k1 - 2 && (j1 <= 49 && j1 >= 40 || j1 <= 25 && j1 >= 23))
                    {
                        codeText = codeText + " (" + code.charAt(i3) + code.charAt(i3 + 1) + code.charAt(i3 + 2) + ") ";
                        i3 += 3;
                        flag4 = true;
                    } else
                    if(i3 < k1 - 3 && (j1 <= 81 && j1 >= 80 || j1 <= 34 && j1 >= 31))
                    {
                        codeText = codeText + " (" + code.charAt(i3) + code.charAt(i3 + 1) + code.charAt(i3 + 2) + code.charAt(i3 + 3) + ") ";
                        i3 += 4;
                        flag4 = true;
                    } else
                    if(i3 < k1 - 3 && !flag4)
                    {
                        codeText = codeText + " (" + code.charAt(i3) + code.charAt(i3 + 1) + code.charAt(i3 + 2) + code.charAt(i3 + 3) + ") ";
                        i3 += 4;
                    }
                } else
                if(code.charAt(i3 - 1) < ' ')
                    codeText += " ";
                else
                if(code.charAt(i3 - 1) > '\037' && code.charAt(i3 - 1) < '\200')
                    codeText += code.charAt(i3 - 1);
            }

        }
        if(Code128Set == 'B')
        {
            as = set128B;
            l1 = 104;
        }
        if(Code128Set == 'C')
        {
            as = set128C;
            l1 = 105;
            if(s2.length() % 2 == 1)
            {
                s2 = "0" + s2;
                codeText = s2;
            }
        }
        if(Code128Set == 'B')
            paintChar(g, "bwbwbw", "211214");
        if(Code128Set == 'C')
            paintChar(g, "bwbwbw", "211232");
        if(Code128Set == 'A')
            paintChar(g, "bwbwbw", "211412");
        int j2 = 1;
        for(int k2 = 0; k2 < s2.length(); k2++)
        {
            String s = s2.charAt(k2)+"";
            if(Code128Set == 'C')
            {
                String s1 = s;
                if(++k2 < s2.length())
                    s1 = s1 + s2.charAt(k2);
                int i = C0(set128C, s1);
                if(i >= 0)
                {
                    paintChar(g, "bwbwbw", set128[i]);
                    l1 += i * j2;
                }
            } else
            {
                int j = C0(as, s);
                if(j >= 0)
                {
                    paintChar(g, "bwbwbw", set128[j]);
                    l1 += j * j2;
                }
            }
            j2++;
        }

        if(checkCharacter)
        {
            int k = (int)mod(l1, 103D);
            paintChar(g, "bwbwbw", set128[k]);
        }
        paintChar(g, "bwbwbwb", "2331112");
    }

    protected void paintUCC128(Graphics g)
    {
        boolean flag = false;
        boolean flag1 = false;
        String s2 = code;
        codeText = code;
        boolean flag2 = false;
        String as[] = set128C;
        Code128Set = 'C';
        int l = 105;
        if(s2.length() % 2 == 1)
        {
            s2 = "0" + s2;
            codeText = s2;
        }
        if(s2.charAt(0) != '\312' && s2.charAt(1) != '\312')
            s2 = "\312\312" + s2;
        boolean flag3 = false;
        int j1 = s2.length();
        codeText = "";
        for(int k1 = 0; k1 < j1; k1++)
        {
            char c = s2.charAt(k1);
            if(k1 < j1 - 3 && s2.charAt(k1) == '\312' && s2.charAt(k1 + 1) == '\312')
            {
                int i1 = (s2.charAt(k1 + 2) - 48) * 10 + (s2.charAt(k1 + 3) - 48);
                if(k1 < j1 - 5 && (i1 <= 81 && i1 >= 80 || i1 <= 34 && i1 >= 31))
                {
                    codeText = codeText + " (" + s2.charAt(k1 + 2) + s2.charAt(k1 + 3) + s2.charAt(k1 + 4) + s2.charAt(k1 + 5) + ") ";
                    k1 += 5;
                } else
                if(k1 < j1 - 4 && (i1 <= 49 && i1 >= 40 || i1 <= 25 && i1 >= 23))
                {
                    codeText = codeText + " (" + s2.charAt(k1 + 2) + s2.charAt(k1 + 3) + s2.charAt(k1 + 4) + ") ";
                    k1 += 4;
                } else
                if(i1 <= 30 && i1 >= 0 || i1 <= 99 && i1 >= 90)
                {
                    codeText = codeText + " (" + s2.charAt(k1 + 2) + s2.charAt(k1 + 3) + ") ";
                    k1 += 3;
                }
            } else
            {
                codeText += s2.charAt(k1);
            }
        }

        paintChar(g, "bwbwbw", "211232");
        int l1 = 1;
        for(int i2 = 0; i2 < s2.length(); i2++)
        {
            String s = s2.charAt(i2)+"";
            if(Code128Set == 'C')
            {
                String s1 = s;
                if(++i2 < s2.length())
                    s1 = s1 + s2.charAt(i2);
                int i = C0(set128C, s1);
                if(i >= 0)
                {
                    paintChar(g, "bwbwbw", set128[i]);
                    l += i * l1;
                }
            } else
            {
                int j = C0(as, s);
                if(j >= 0)
                {
                    paintChar(g, "bwbwbw", set128[j]);
                    l += j * l1;
                }
            }
            l1++;
        }

        if(checkCharacter)
        {
            int k = (int)mod(l, 103D);
            paintChar(g, "bwbwbw", set128[k]);
        }
        paintChar(g, "bwbwbwb", "2331112");
    }

    protected void paintEAN8(Graphics g)
    {
        boolean flag = false;
        boolean flag1 = false;
        if(code.length() < 7)
            return;
        if(code.length() == 7 && checkCharacter)
            code += UPCEANCheck(code);
        paintGuardChar(g, "bwb", "nnn", 0);
        leftGuardBar = currentX;
        for(int k = 0; k < 8; k++)
        {
            String s = code.charAt(k)+"";
            byte byte0 = -1;
            if(k <= 3)
            {
                int i = findChar(setEANLeftA, s);
                paintChar(g, "wbwb", setEANLeftA[i][1]);
            } else
            {
                int j = findChar(setEANRight, s);
                paintChar(g, "bwbw", setEANRight[j][1]);
            }
            if(k == 3)
            {
                centerGuardBarStart = currentX;
                paintGuardChar(g, "wbwbw", "nnnnn", 0);
                centerGuardBarEnd = currentX;
            }
        }

        rightGuardBar = currentX;
        paintGuardChar(g, "bwb", "nnn", 0);

⌨️ 快捷键说明

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