2
我想在單擊JButton時更改我的JLabel。這聽起來很簡單,但無法真正找到一段好的代碼。 這裏是我的代碼部分:從文件中讀取文本並將其放到JLabel
final JButton continueGame = new JButton();
continueGame.setPreferredSize(new Dimension(1000, 30));
continueGame.setLocation(95, 45);
continueGame.setText("<html>Continue</html>");
continueGame.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent ev) {
panel.remove(continueGame);
SwingUtilities.updateComponentTreeUI(frameKontrastGame);
if(RandomNrJeden <= 50)
{
JOptionPane.showMessageDialog(frameKontrastGame, "Eggs are not supposed to be green.");
frameKontrastGame.setVisible(false);
JFrame frameScenario2 = new JFrame();
frameScenario2.setTitle("Scenario2");
frameScenario2.setSize(1000,700);
frameScenario2.setLocationRelativeTo(null);
frameScenario2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panelScenario = new JPanel();
panel.setLayout(new GridLayout(2, 1));
final JLabel tekst = new JLabel();
tekst.setText("<html>Część dialogu numer 1</html>");
//JTextField dialog = new JTextField(20);
//dialog.setText("<html>Eggs are not supposed to be green.</html>");
JButton OdpPierwsza = new JButton();
OdpPierwsza.setText("<html>Opowiedź pierwsza</html>");
OdpPierwsza.addActionListener (new ActionListener(){
@Override
public void actionPerformed(ActionEvent ev) {
tekst.setText("<html>HERE I NEED A TEXT FROM FILE dialog.txt</html>");
}
});
//panelScenario.add(dialog);
panelScenario.add(tekst);
panelScenario.add(OdpPierwsza);
frameScenario2.getContentPane().add(panelScenario);
frameScenario2.setVisible(true);
}
(如果括號內是錯誤那是因爲它不是整個代碼。)
所以:
- 在哪裏「在這裏我需要一個TEXT FROM FILE dialog.txt「我需要某種閱讀器。最好的將是逐行讀取文本。我只是無法找到如何寫它。
- 我需要將
JLabel
添加到JPanel
。
你試過用BufferedReader嗎? – dosdebug
只是搜索「java從文件中讀取文本」,你會在這裏找到很多答案和例子,以及你選擇的任何搜索引擎。這裏是一篇文章。檢查接受的答案http://stackoverflow.com/questions/16104616/using-bufferedreader-to-read-text-file –
你需要用BufferedReader讀取文件br = new BufferedReader(new FileReader(「your_file.txt」 )並逐行閱讀: 字符串行; line = br.readLine(); while(line!= null){line = br.readLine; //並將行添加到您的標籤(更好的是文本區域)} –