1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Code39 {
public static void main(String[] args){
System.out.println("It's run!");
CodeBarre("0110", g);
}
enum Epaisseur {LARGE, ETROIT};
Epaisseur epaisseur;
enum Nature {BARRE, ESPACE};
Nature nature;
public Code39(){this(Epaisseur.ETROIT,Nature.ESPACE);}
public Code39(Epaisseur E, Nature N){
this.setE(E);
this.setN(N);
}
public void setE(Epaisseur epaisseur){
this.epaisseur=epaisseur;
}
public void setN(Nature nature){
this.nature=nature;
}
public Epaisseur getE(){return this.epaisseur;}
public Nature getN(){return this.nature;}
//Dessiner le code barre : 0 une barre étroite; 1 un espace large
public void CodeBarre(String CB, Graphics g){
int i=0;
int n=CB.length();
Epaisseur E=Epaisseur.ETROIT;
Nature N=Nature.ESPACE;
for(i=0; i<n; i++){
if (CB.charAt(i)==0){
E=Epaisseur.ETROIT;
N=Nature.BARRE;
}
else{
E=Epaisseur.LARGE;
N=Nature.ESPACE;
}
}
draw(E,N,g);
}
public void draw(Epaisseur E, Nature N, Graphics g){
int espace=0;
if (E==Epaisseur.ETROIT && N==Nature.BARRE){
//Dessiner une barre étroite
g.drawLine(10+espace,10+espace,100,100);
}
else if(E==Epaisseur.LARGE && N==Nature.BARRE){
//Dessiner une barre large
g.drawLine(25+espace,25+espace,100,100);
}
else if(E==Epaisseur.ETROIT && N==Nature.ESPACE){
//Un espace petit
espace=espace+10;
}
else if(E==Epaisseur.LARGE && N==Nature.BARRE){
//Dessiner un grand espace
espace=espace+24;
}
}
public String toString(){
StringBuilder builder=new StringBuilder();
toString(builder, this);
return builder.toString(); }
private static void toString(StringBuilder builder, Code39 v){
builder.append('(');
builder.append(v);
builder.append(' ');
builder.append(' ');
builder.append(')');
}
} |
Partager