我想從文本文件填充GUI(包含圖片)。該文本文件有12行文字,並且是這樣寫的: Matthew Smith;澳大利亞; 60,62,58,62,63,70; 50,52,56,57,60,56。目的是讓名字填充jlist,因此當您選擇名稱時,國家將顯示爲'country'旁邊的jlabel,文本字段將填充分數。我一直在嘗試一些東西,但我所得到的只是每次在jList中的java.lang等。有人可以請我指出正確的方向嗎?非常感謝從.txt文件填充jList和文本字段
private static Scanner inGui;
public Stage3() {
initialize();
}
private void readFile() throws IOException {
BufferedReader reader = new BufferedReader(new FileReader("Stage3Scores.txt"));
String line = "";
int iScore = 0;
while((line = reader.readLine()) != null) {
String[] splitLine = line.split(";");
athletes[iScore] = splitLine[0];
countries[iScore] = splitLine[1];
scores[iScore] = splitLine[2];
iScore++;
}
reader.close();
lblDisplayCountry = new JLabel("l");
lblDisplayCountry.setBounds(101, 119, 186, 24);
frame.getContentPane().add(lblDisplayCountry);
listAthlete = new JList();
listAthlete.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
//listAthlete.setText(athletes[listAthlete.getSelectedIndex()]);
lblDisplayCountry.setText(athletes[listAthlete.getSelectedIndex()]);
}
});
listAthlete.setBounds(101, 187, 186, 205);
frame.getContentPane().add(listAthlete);
JButton btnLoadAthlete = new JButton("Load");
btnLoadAthlete.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
DefaultListModel DLM = new DefaultListModel();
DLM.addElement(""+ athletes +"");
DLM.addElement(""+ countries +"");
DLM.addElement("" + scores + "");
listAthlete.setModel (DLM);
}
});
btnLoadAthlete.setBounds(142, 422, 89, 23);
frame.getContentPane().add(btnLoadAthlete);
}
}
歡迎來到Stack Overflow!請在您的文章中加入[MCVE](http://stackoverflow.com/help/mcve)(不是整個程序或網頁)。 – brandaemon
*「我一直在嘗試一些東西,但我每次都在jList中得到的是java.lang等。」*該陳述隱含傳達有用信息的模糊危險。1)始終複製/粘貼錯誤和異常輸出! 2)請參閱[檢測/修復代碼塊的懸掛緊密支架](http://meta.stackexchange.com/q/251795/155831),以解決問題,我不再擔心修復問題。 –
'frame.getContentPane()。setLayout(null);'3)Java GUI必須在不同的語言環境中使用不同的PLAF來使用不同的OS',屏幕大小,屏幕分辨率等。因此,它們不利於像素的完美佈局。請使用佈局管理器或[它們的組合](http://stackoverflow.com/a/5630271/418556)以及[white space]的佈局填充和邊框(http://stackoverflow.com/a/17874718/ 418556)。 –