首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多行JTextPane

多行JTextPane
EN

Stack Overflow用户
提问于 2013-12-13 16:20:40
回答 2查看 2.6K关注 0票数 2

所以我已经开始写一本百科全书,作为大学的一个项目,我要讨论一个问题。我试图导入一个.txt文件来将我的文本打印到我的文本面板上,但问题是,我不能打印段落,它只打印一行。我的textpanel代码如下:

代码语言:javascript
复制
import java.io.*;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JTextArea;


public class GTAIntro extends JPanel {
private static final long serialVersionUID = 1L;

public GTAIntro() {
    setSize(800,800);
    setLayout(null);

    JButton button_1 = new JButton("");
    button_1.setIcon(new ImageIcon("D:\\Facultate\\anul 2\\Java Workspace\\Encyclopedia\\src\\icons\\back.png"));
    button_1.setEnabled(false);
    button_1.setBounds(10, 700, 50, 50);
    add(button_1);

    JButton button = new JButton("");
    button.setIcon(new ImageIcon("D:\\Facultate\\anul 2\\Java Workspace\\Encyclopedia\\src\\icons\\next.png"));
    button.setBounds(740, 700, 50, 50);
    add(button);

    JLabel rockstarlogo = new JLabel("");
    rockstarlogo.setIcon(new ImageIcon("D:\\Facultate\\anul 2\\Java Workspace\\Encyclopedia\\src\\icons\\gta\\rockstar-logo.png"));
    rockstarlogo.setBounds(10, 11, 150, 150);
    add(rockstarlogo);

    JTextArea textpanel = new JTextArea();
    textpanel.setLineWrap(true);
    textpanel.setWrapStyleWord(true);
    textpanel.setEditable(false);
    try{
        FileInputStream fstream = new FileInputStream("D:\\Facultate\\anul 2\\Java Workspace\\Encyclopedia\\src\\text\\gta\\gtaintro.txt");
        DataInputStream in = new DataInputStream(fstream);
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        String strLine;
        while((strLine = br.readLine()) != null) {
            textpanel.setText(strLine);
        }
    in.close();
    }catch(Exception e){System.err.println("Error: " + e.getMessage());}
    textpanel.setBounds(100, 222, 593, 528);
    add(textpanel);

}
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-13 16:35:46

使用JEditorPane.read(InputStream,Object) -要容易得多。也许是这样的:

代码语言:javascript
复制
import java.io.*;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JTextArea;


public class GTAIntro extends JPanel {
private static final long serialVersionUID = 1L;

public GTAIntro() {
    setSize(800,800);
    setLayout(null);

    JTextArea textpanel = new JTextArea();
    textpanel.setLineWrap(true);
    textpanel.setWrapStyleWord(true);
    textpanel.setEditable(false);
    try{
        FileInputStream fstream = new FileInputStream("D:\\Facultate\\anul 2\\Java Workspace\\Encyclopedia\\src\\text\\gta\\gtaintro.txt");
        // do not use DataInputStream to read text
        // DataInputStream in = new DataInputStream(fstream);
        Reader reader = new InputStreamReader(fstream);
        textpanel.read(reader, fstream);
    }catch(Exception e){System.err.println("Error: " + e.getMessage());}
    textpanel.setBounds(100, 222, 593, 528);
    add(textpanel);

    JButton button_1 = new JButton("");
    button_1.setIcon(new ImageIcon("D:\\Facultate\\anul 2\\Java Workspace\\Encyclopedia\\src\\icons\\back.png"));
    button_1.setEnabled(false);
    button_1.setBounds(10, 700, 50, 50);
    add(button_1);

    JButton button = new JButton("");
    button.setIcon(new ImageIcon("D:\\Facultate\\anul 2\\Java Workspace\\Encyclopedia\\src\\icons\\next.png"));
    button.setBounds(740, 700, 50, 50);
    add(button);

    JLabel rockstarlogo = new JLabel("");
    rockstarlogo.setIcon(new ImageIcon("D:\\Facultate\\anul 2\\Java Workspace\\Encyclopedia\\src\\icons\\gta\\rockstar-logo.png"));
    rockstarlogo.setBounds(10, 11, 150, 150);
    add(rockstarlogo);

}
}
票数 3
EN

Stack Overflow用户

发布于 2013-12-13 16:23:20

代码语言:javascript
复制
String newLine = System.getProperty("line.separator");    
textpanel.setText(strLine + newLine);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20571149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档