我的代码会读取人员列表并在互联网上搜索他们。 出于某种原因,我无法以正确的顺序导航回来。我第一次按下"回去"按钮它总是走得更远,而只有第二个klick才能达到应有的效果。
已编辑的代码
抱歉英语不好,这是我的全部代码:import java.awt.BorderLayout;
import java.awt.event.*;
import java.io.*;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.*;
import javax.swing.*;
public class MainGui {
private JTextField counter;
private JFrame frame;
private ArrayList<Gast> gastListe;
private int aktuellerGastIndex;
String vorname;
String nachname;
String city;
String firma;
public static void main(String[] args) {
MainGui gui = new MainGui();
gui.los();
}
public void los() {
frame = new JFrame("Arrival LookAPP v1.2");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel mainPanel = new JPanel();
JPanel textPanel = new JPanel();
counter = new JTextField();
counter.setText("00/00");
JButton vorherigerGast = new JButton("<");
vorherigerGast.addActionListener(new VorherigerGastListener());
JButton nächsterGast = new JButton(">");
nächsterGast.addActionListener(new NächsterGastListener());
gastListe = new ArrayList<Gast>();
textPanel.add(counter);
textPanel.add(vorherigerGast);
textPanel.add(nächsterGast);
JMenuBar menüleiste = new JMenuBar();
JMenu menüDatei = new JMenu("Datei");
JMenuItem menüPunktLaden = new JMenuItem("Laden");
menüPunktLaden.addActionListener(new MenüLadenListener());
menüDatei.add(menüPunktLaden);
menüleiste.add(menüDatei);
frame.setJMenuBar(menüleiste);
frame.getContentPane().add(BorderLayout.CENTER, mainPanel);
frame.getContentPane().add(BorderLayout.SOUTH, textPanel);
frame.setSize(750,130);
frame.setAlwaysOnTop(true);
frame.setVisible(true);
}
public String countIt() {
String c1 = String.valueOf(aktuellerGastIndex);
String c2 = String.valueOf(gastListe.size());
String c = c1 + "/" + c2;
return c;
}
public class MenüLadenListener implements ActionListener {
public void actionPerformed(ActionEvent ev) {
JFileChooser dateiÖffnen = new JFileChooser();
dateiÖffnen.setCurrentDirectory(new File("//T:/Rezeption/Night Auditor/Arrival LookApp/export"));
dateiÖffnen.showOpenDialog(frame);
try {
dateiLaden(dateiÖffnen.getSelectedFile());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public class VorherigerGastListener implements ActionListener {
public void actionPerformed(ActionEvent ev) {
vorherigenGastZeigen();
counter.setText(countIt());
}
}
public class NächsterGastListener implements ActionListener {
public void actionPerformed(ActionEvent ev) {
nächstenGastZeigen();
counter.setText(countIt());
}
}
public void nächstenGastZeigen() {
if (aktuellerGastIndex < gastListe.size()){
aktuellerGast = gastListe.get(aktuellerGastIndex);
aktuellerGastIndex++;
System.out.println(aktuellerGastIndex + "/" + gastListe.size());
}
}
public void vorherigenGastZeigen() {
if (aktuellerGastIndex < gastListe.size()){
aktuellerGast = gastListe.get(aktuellerGastIndex);
System.out.println(aktuellerGastIndex);
aktuellerGastIndex--;
}
}
private void dateiLaden(File datei) {
aktuellerGastIndex = 0;
gastListe = new ArrayList<Gast>();
try {
BufferedReader reader = new BufferedReader(new FileReader(datei));
String zeile = null;
while ((zeile = reader.readLine()) != null) {
gastErstellen(zeile);
}
reader.close();
} catch(Exception ex) {
System.out.println("konnte Karte nicht lesen");
ex.printStackTrace();
}
nächstenGastZeigen();
counter.setText(countIt());
}
private void gastErstellen(String zuParsendeZeile) {
String[] ergebnis = zuParsendeZeile.split("\"");
vorname= "";
nachname="";
city="";
firma="";
try {
vorname = ergebnis[1].toString();
if (vorname.indexOf(" ") == -1) {
} else {
int io;
while(vorname.indexOf(" ") != -1) {
io = vorname.indexOf(" ");
vorname = vorname.substring(0,io) +"+"+ vorname.substring(io+1, vorname.length());
}
}
} catch (Exception e1) {}
try {
nachname = ergebnis[3].toString();
if (nachname.indexOf(" ") == -1) {
} else {
int io;
while(nachname.indexOf(" ") != -1) {
io = nachname.indexOf(" ");
nachname = nachname.substring(0,io) +"+"+ nachname.substring(io+1, nachname.length());
}
}
} catch (Exception e1) {}
try {
city = ergebnis[5].toString();
if (city.indexOf(" ") == -1) {
} else {
int io;
while(city.indexOf(" ") != -1) {
io = city.indexOf(" ");
city = city.substring(0,io) +"+"+ city.substring(io+1, city.length());
}
}
} catch (Exception e) {}
try {
firma = ergebnis[7].toString();
if (firma.indexOf(" ") == -1) {
} else {
int io;
while(firma.indexOf(" ") != -1) {
io = firma.indexOf(" ");
firma = firma.substring(0,io) +"+"+ firma.substring(io+1, firma.length());
}
}
} catch (Exception e) {}
Gast gast = new Gast(vorname, nachname, city, firma);
gastListe.add(gast);
}
}
答案 0 :(得分:0)
当调用 openWebpage()时, aktuellerGast 的内容为空值。