繁体   English   中英

从文件中读取文本并将其放入JLabel

[英]Reading text from file and putting it to the JLabel

当我单击JButton时,我想更改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);

                                }

(如果括号是错误的,那是因为它不是整个代码。)

所以:

  • 我需要某种类型的阅读器,在“我需要来自文件的文本dialog.txt的地方”在哪里。 最好的一种是逐行读取文本的语言。 我只是找不到如何写它。
  • 我需要将JLabel添加到JPanel

您可以使用以下命令将文件读取为一个字符串

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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM