📄 barcode.java
字号:
endOfCode = currentX;
if(UPCEANSupplement2)
paintSup2(g, supplement);
else
if(UPCEANSupplement5)
paintSup5(g, supplement);
}
protected void paintUPCE(Graphics g)
{
boolean flag = false;
boolean flag1 = false;
int j = 0;
String s1 = "";
if(code.length() == 13)
{
supplement = code.substring(11, 13);
UPCEANSupplement2 = true;
}
if(code.length() == 14)
{
supplement = code.substring(12, 14);
UPCEANSupplement2 = true;
}
if(code.length() == 16)
{
supplement = code.substring(11, 16);
UPCEANSupplement5 = true;
}
if(code.length() == 17)
{
supplement = code.substring(12, 17);
UPCEANSupplement5 = true;
}
if(code.length() < 11)
return;
code = code.substring(0, 11);
code += UPCEANCheck(code);
j = (new Integer(code.charAt(11))).intValue();
if(code.substring(3, 6).compareTo("000") == 0 || code.substring(3, 6).compareTo("100") == 0 || code.substring(3, 6).compareTo("200") == 0)
s1 = code.substring(1, 3) + code.substring(8, 11) + code.charAt(3);
if(code.substring(3, 6).compareTo("300") == 0 || code.substring(3, 6).compareTo("400") == 0 || code.substring(3, 6).compareTo("500") == 0 || code.substring(3, 6).compareTo("600") == 0 || code.substring(3, 6).compareTo("700") == 0 || code.substring(3, 6).compareTo("800") == 0 || code.substring(3, 6).compareTo("900") == 0)
s1 = code.substring(1, 4) + code.substring(9, 11) + "3";
if(code.substring(4, 6).compareTo("10") == 0 || code.substring(4, 6).compareTo("20") == 0 || code.substring(4, 6).compareTo("30") == 0 || code.substring(4, 6).compareTo("40") == 0 || code.substring(4, 6).compareTo("50") == 0 || code.substring(4, 6).compareTo("60") == 0 || code.substring(4, 6).compareTo("70") == 0 || code.substring(4, 6).compareTo("80") == 0 || code.substring(4, 6).compareTo("90") == 0)
s1 = code.substring(1, 5) + code.substring(10, 11) + "4";
if(code.substring(5, 6).compareTo("0") != 0)
s1 = code.substring(1, 6) + code.substring(10, 11);
codeText = "0" + s1 + j;
paintGuardChar(g, "bwb", "nnn", 0);
leftGuardBar = currentX;
String s2 = UPCESystem0[j];
if(UPCESytem == '1')
s2 = UPCESystem1[j];
for(int k = 0; k < s1.length(); k++)
{
String s = s1.charAt(k)+"";
int i = -1;
String as[][] = setUPCEOdd;
if(s2.charAt(k) == 'E')
as = setUPCEEven;
i = findChar(as, s);
paintChar(g, "wbwb", as[i][1]);
}
rightGuardBar = currentX;
paintGuardChar(g, "wbwbwb", "nnnnnn", 0);
endOfCode = currentX;
if(UPCEANSupplement2)
paintSup2(g, supplement);
else
if(UPCEANSupplement5)
paintSup5(g, supplement);
}
protected void paintSup2(Graphics g, String s)
{
if(supplement.length() > 0)
s = supplement;
suplementTopMargin = (int)((double)barHeightPixels * (1.0D - supHeight));
codeSup = s;
if(s.length() != 2)
return;
currentX = (int)((double)currentX + (double)resolution * supSeparationCM);
startSuplement = currentX;
int i;
try
{
i = Integer.valueOf(s).intValue();
}
catch(Exception exception)
{
i = 0;
}
String s1 = "OO";
if(mod(i, 4D) == 1.0D)
s1 = "OE";
if(mod(i, 4D) == 2D)
s1 = "EO";
if(mod(i, 4D) == 3D)
s1 = "EE";
paintGuardChar(g, "bwb", "112", suplementTopMargin);
String as[][] = setUPCEOdd;
if(s1.charAt(0) == 'E')
as = setUPCEEven;
int j = findChar(as, s.charAt(0)+"");
paintGuardChar(g, "wbwb", as[j][1], suplementTopMargin);
paintGuardChar(g, "wb", "11", suplementTopMargin);
as = setUPCEOdd;
if(s1.charAt(1) == 'E')
as = setUPCEEven;
j = findChar(as, s.charAt(1)+"");
paintGuardChar(g, "wbwb", as[j][1], suplementTopMargin);
endSuplement = currentX;
}
protected void paintSup5(Graphics g, String s)
{
if(supplement.length() > 0)
s = supplement;
suplementTopMargin = (int)((double)barHeightPixels * (1.0D - supHeight));
codeSup = s;
if(s.length() != 5)
return;
boolean flag = true;
int i = 0;
int j = 0;
for(int l = s.length() - 1; l >= 0; l--)
{
if(flag)
i += (new Integer(s.charAt(l))).intValue();
else
j += (new Integer(s.charAt(l))).intValue();
flag = !flag;
}
j = i * 3 + j * 9;
String s1 = j+"";
int k = (new Integer(s1.charAt(s1.length() - 1))).intValue();
String s2 = fiveSuplement[k];
currentX = (int)((double)currentX + (double)resolution * supSeparationCM);
startSuplement = currentX;
paintGuardChar(g, "bwb", "112", suplementTopMargin);
Object obj = null;
for(int j1 = 0; j1 < 5; j1++)
{
String as[][] = setUPCEOdd;
if(s2.charAt(j1) == 'E')
as = setUPCEEven;
int i1 = findChar(as, s.charAt(j1)+"");
paintGuardChar(g, "wbwb", as[i1][1], suplementTopMargin);
if(j1 < 4)
paintGuardChar(g, "wb", "11", suplementTopMargin);
}
endSuplement = currentX;
}
protected void paintMAT25(Graphics g)
{
boolean flag = false;
boolean flag1 = false;
String s1 = code;
paintChar(g, "bwbwbw", "wnnnnn");
for(int j = 0; j < s1.length(); j++)
{
String s = code.charAt(j)+"";
int i = findChar(set25, s);
if(i >= 0)
paintChar(g, "bwbwbw", set25[i][1] + "n");
}
paintChar(g, "bwbwbw", "wnnnnn");
}
protected void paintCODE39(Graphics g)
{
boolean flag = false;
int k = 0;
code = code.toUpperCase();
paintChar(g, "bwbwbwbwb", set39[findChar(set39, "*")][1]);
currentX += narrowBarPixels;
for(int l = 0; l < code.length(); l++)
{
String s = code.charAt(l)+"";
int i = findChar(set39, s);
if(i > -1)
{
k += i;
paintChar(g, "bwbwbwbwb", set39[i][1]);
currentX += narrowBarPixels;
}
}
if(checkCharacter)
{
int j = (int)mod(k, 43D);
paintChar(g, "bwbwbwbwb", set39[j][1]);
currentX += narrowBarPixels;
if(checkCharacterInText)
codeText = code + set39[j][0];
else
codeText = code;
}
paintChar(g, "bwbwbwbwb", set39[findChar(set39, "*")][1]);
}
protected void paintCODE11(Graphics g)
{
boolean flag = false;
int l = 0;
paintChar(g, "bwbwbw", "nnwwnn");
int i1 = 1;
l = 0;
for(int j1 = code.length() - 1; j1 >= 0; j1--)
{
l += findChar(set11, code.charAt(j1)+"") * i1;
if(++i1 == 11)
i1 = 1;
}
int j = (int)mod(l, 11D);
i1 = 2;
l = j;
for(int k1 = code.length() - 1; k1 >= 0; k1--)
{
l += findChar(set11, code.charAt(k1)+"") * i1;
if(++i1 == 10)
i1 = 1;
}
int k = (int)mod(l, 11D);
for(int l1 = 0; l1 < code.length(); l1++)
{
String s = code.charAt(l1)+"";
int i = findChar(set11, s);
if(i > -1)
paintChar(g, "bwbwbw", set11[i][1] + "n");
}
if(checkCharacter)
{
paintChar(g, "bwbwbw", set11[j][1] + "n");
if(checkCharacterInText)
codeText = code + set11[j][0];
else
codeText = code;
if(code.length() > 10)
{
paintChar(g, "bwbwbw", set11[k][1] + "n");
if(checkCharacterInText)
codeText += set11[k][0];
else
codeText = code;
}
}
paintChar(g, "bwbwbw", "nnwwnn");
}
protected void paintCODABAR(Graphics g)
{
boolean flag = false;
int k = 0;
paintChar(g, "bwbwbwbw", setCODABAR[findChar(setCODABAR, CODABARStartChar+"")][1] + "n");
k = findChar(setCODABAR, CODABARStartChar+"") + findChar(setCODABAR, CODABARStopChar+"");
for(int l = code.length() - 1; l >= 0; l--)
k += findChar(setCODABAR, code.charAt(l)+"");
int j = (int)mod(k, 16D);
if(j != 0)
j = 16 - j;
for(int i1 = 0; i1 < code.length(); i1++)
{
String s = code.charAt(i1)+"";
int i = findChar(setCODABAR, s);
if(i > -1)
paintChar(g, "bwbwbwbw", setCODABAR[i][1] + "n");
}
if(checkCharacter)
{
if(checkCharacterInText)
codeText = code + setCODABAR[j][0];
else
codeText = code;
paintChar(g, "bwbwbwbw", setCODABAR[j][1] + "n");
}
paintChar(g, "bwbwbwb", setCODABAR[findChar(setCODABAR, CODABARStopChar)][1]);
}
protected void paintMSI(Graphics g)
{
boolean flag = false;
int k = 0;
paintChar(g, "bw", "wn");
k = 0;
String s1 = "";
boolean flag1 = true;
for(int l = code.length() - 1; l >= 0; l--)
{
if(!flag1)
k += findChar(setMSI, code.charAt(l));
if(flag1)
s1 = findChar(setMSI, code.charAt(l)) + s1;
flag1 = !flag1;
}
s1 = (new Long(s1)).longValue() * 2L+"";
for(int i1 = s1.length() - 1; i1 >= 0; i1--)
k += findChar(setMSI, s1.charAt(i1));
int j = (int)mod(k, 10D);
if(j != 0)
j = 10 - j;
for(int j1 = 0; j1 < code.length(); j1++)
{
String s = code.charAt(j1)+"";
int i = findChar(setMSI, s);
if(i > -1)
paintChar(g, "bwbwbwbw", setMSI[i][1]);
}
if(checkCharacter)
{
paintChar(g, "bwbwbwb", setMSI[j][1]);
if(checkCharacterInText)
codeText = code + setMSI[j][0];
else
codeText = code;
}
paintChar(g, "wbwb", "nnwn");
}
protected static double mod(double d1, double d2)
{
double d3 = d1 / d2;
double d4 = Math.round(d3);
if(d4 > d3)
d4--;
return d1 - d2 * d4;
}
protected void paintCODE39Ext(Graphics g)
{
boolean flag = false;
int k = 0;
paintChar(g, "bwbwbwbwb", set39[findChar(set39, "*")][1]);
currentX += narrowBarPixels;
for(int l = 0; l < code.length(); l++)
{
byte byte0 = (byte)code.charAt(l);
if(byte0 <= 128)
{
String s1 = set39Ext[byte0];
for(int i1 = 0; i1 < s1.length(); i1++)
{
String s = s1.charAt(i1)+"";
int i = findChar(set39, s);
if(i > -1)
{
k += i;
paintChar(g, "bwbwbwbwb", set39[i][1]);
currentX += narrowBarPixels;
}
}
}
}
codeText = "";
boolean flag1 = false;
for(int k1 = 1; k1 <= code.length(); k1++)
{
int j1 = code.charAt(k1 - 1);
if(j1 < 32 && j1 >= 0)
{
if(j1 == 13 || j1 == 9)
codeText += " ";
} else
{
codeText += (char)j1;
}
}
if(checkCharacter)
{
int j = (int)mod(k, 43D);
paintChar(g, "bwbwbwbwb", set39[j][1]);
currentX += narrowBarPixels;
if(checkCharacterInText)
codeText = codeText + set39[j][0];
}
paintChar(g, "bwbwbwbwb", set39[findChar(set39, "*")][1]);
}
protected void paintBAR93(Graphics g)
{
boolean flag = false;
int j = 0;
int k = 0;
int l = 0;
paintChar(g, "bwbwbw", "111141");
for(int i1 = 0; i1 < code.length(); i1++)
{
String s = code.charAt(i1)+"";
int i = findChar(set93, s);
if(i > -1)
{
j += i;
paintChar(g, "bwbwbw", set93[i][1]);
}
}
int j1 = 1;
j = 0;
for(int k1 = code.length() - 1; k1 >= 0; k1--)
{
j += findChar(set93, code.charAt(k1)) * j1;
if(++j1 == 21)
j1 = 1;
}
l = (int)mod(j, 47D);
j1 = 2;
j = l;
for(int l1 = code.length() - 1; l1 >= 0; l1--)
{
j += findChar(set93, code.charAt(l1)) * j1;
if(++j1 == 16)
j1 = 1;
}
k = (int)mod(j, 47D);
if(checkCharacter)
{
paintChar(g, "bwbwbw", set93[l][1]);
paintChar(g, "bwbwbw", set93[k][1]);
if(checkCharacterInText)
codeText = code + set93[l][0].charAt(0) + set93[k][0].charAt(0);
else
codeText = code;
}
paintChar(g, "bwbwbwb", "1111411");
}
protected void paintBAR93Ext(Graphics g)
{
boolean flag = false;
int k1 = 0;
int l1 = 0;
int i2 = 0;
paintChar(g, "bwbwbw", "
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -