2013-06-03 71 views
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
+0

你試過用BufferedReader嗎? – dosdebug

+1

只是搜索「java從文件中讀取文本」,你會在這裏找到很多答案和例子,以及你選擇的任何搜索引擎。這裏是一篇文章。檢查接受的答案http://stackoverflow.com/questions/16104616/using-bufferedreader-to-read-text-file –

+1

你需要用BufferedReader讀取文件br = new BufferedReader(new FileReader(「your_file.txt」 )並逐行閱讀: 字符串行; line = br.readLine(); while(line!= null){line = br.readLine; //並將行添加到您的標籤(更好的是文本區域)} –

回答

1

你可以閱讀您的文件轉換成使用

BufferedReader br = new BufferedReader(new FileReader("your_file.txt")); 
String line = br.readLine(); 
ArrayList<String> listOfStrings = new ArrayList<>(); 
listOfString.add(line); 

while(line != null) 
{ 
    line = br.readLine(); 
    listOfString.add(line); 
} 

只是一個字符串,現在做一個for循環遍歷JList和添加文本的JLabel。更好的是JTextArea。

+0

我更喜歡使用JTextArea或JTextPane! –

相關問題