Witam
mam następujący problem po uruchomieniu programu pojawia mi się aplet z zawartością pliku jest ona w 2 linijkach gdy przepisuje linijki i litera, którą aktualnie wpisuje powtarza się, na początku, którejś linijki jest automatycznie dopisywana do niej np. w 1 linijce jest słowo las i w 2 sad jak wpiszę las to od 2 linijki dodaje s a tego nie chcę. Chciałbym aby po skończeniu pierwszej linijki przeszedł do 2 itp.
ArrayList<Object> teksty = new ArrayList<>();
try {
FileReader fr = new FileReader(nazwa);
BufferedReader br = new BufferedReader(fr);
try {
while ((s = br.readLine()) != null){
teksty.add(new ArrayList<Object>());
((ArrayList<String>)teksty.get(i)).add(s);
i++;
}
for(int i= 0; i < teksty.size();i++){
for(j = 0; j < ((ArrayList<?>)teksty.get(i)).size(); j++){
linijka0=(String)((ArrayList<?>)teksty.get(0)).get(j) +" ";
linijka1=(String)((ArrayList<?>)teksty.get(1)).get(j) +" ";
}
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public void paint(Graphics g)
{
g.setFont(new Font("Tahoma", Font.PLAIN, 25));
g.drawString(linijka0, 35, 50);
g.drawString(linijka1, 35, 100);
g.setColor(Color.blue);
g.drawString(wpisane0, 35, 75);
g.drawString(wpisane1, 35, 125);
}
public static void main(String[] args) throws IOException
{
Lekcje canvas = new Lekcje("c:/1.txt");
JFrame frame = new JFrame();
frame.setSize(400, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(canvas);
frame.setVisible(true);
}
@Override
public void keyTyped(KeyEvent e) {
switch(wybór){
case 1:
pozycja = wpisane0.length();{
if (e.getKeyChar() ==linijka0.charAt(pozycja)){
wpisane0 = wpisane0 + e.getKeyChar( ); // dodaj wbita literke do stringu porownawczego
repaint( );
}
else
repaint();
if(linijka0.equals(wpisane0)== true){
wybór = 2;
break;
}
}
case 2:
pozycja = wpisane1.length();{
if (e.getKeyChar() ==linijka1.charAt(pozycja)){
wpisane1 = wpisane1 + e.getKeyChar( );
repaint( );
}
else
repaint();
}
}
}
}