Java - 在滚动文本中插入换行符

标签 java swing

Java新手。我正在尝试使用 Jpanel 和计时器显示滚动文本,并且它可以工作,但我尝试使用系统行分隔符插入行分隔 rune 本显示没有换行符,为什么?

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class Participants extends JPanel
{
     private int x;
     private int y;
     private String text;

     Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

    public Participants  ()
    {
        x = 600;
        y = 1200;
        String eol = System.getProperty("line.separator");  

        text = "Story Director/Producer:"+eol+"Mr. SMith" +
             "Technical Director:" +  eol + 
              "Mr. T" +  eol + eol;

        setSize(1200, 900);
    }

public void paint(Graphics g)
{
    super.paint(g);
    g.setColor(Color.white);
    g.fillRect(0, 0, 1200, 900);
    g.setColor(Color.black);
    g.drawString(text,x, y);


}

public void start() throws InterruptedException
{
    while(true)
    {
        while(y >= 0)
        {
            x = getWidth() / 2;
            y--;
            repaint();
            Thread.sleep(10);
        }
    }
}

public static void main (String [] args) throws InterruptedException
{
    JFrame frame = new JFrame("Participants  ");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Participants participants  = new Participants ();
    frame.getContentPane().add(participants  );
    frame.setSize(1200, 900);
    frame.setVisible(true);
    participants  .start();
}

}

最佳答案

换行符(\n)仅适用于控制台写入。它在 Swing 中不起作用。只需使用单独的 Draw 方法来编写不同的文本即可。

问候, 拉维

关于Java - 在滚动文本中插入换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15940371/

相关文章:

javax.swing.jlabel 错误

java - 处理 JPanel 中生成的形状

java - 使用 Mockito 验证 lambda 上的方法调用

java - JTextField 焦点

java - 在图书馆类(class)中获取用户输入并确保其是积极的

Java 错误 : Could not find or load main class

java - 在 JFrame 中查找鼠标位置

java - 鼠标悬停触发 JXCollapsiblePane

java - Android Studio/LibGDX 游戏内存不足

java - hibernate Spring 事务