标签: jtextarea

使JScrollPane自动向下滚动

我正在尝试使用JTextArea实现JScrollPane.JTextArea被附加到,我希望JScrollPane在添加更多文本时继续向下滚动.怎么能实现这一目标?

java swing awt jscrollpane jtextarea

18
推荐指数
4
解决办法
5万
查看次数

如何将控制台内容重定向到Java中的textArea?

我试图在java中的textArea中获取控制台的内容.

例如,如果我们有这个代码,

class FirstApp {
    public static void main (String[] args){
        System.out.println("Hello World");
    }
}
Run Code Online (Sandbox Code Playgroud)

我想将"Hello World"输出到textArea,我必须选择什么actionPerformed?

java swing jtextarea

14
推荐指数
3
解决办法
5万
查看次数

自动调整大小和滚动的Java JTextArea

我在JPanel中有一个JTextArea.我怎样才能让JTextArea填充整个JPanel并在JPanel调整大小时调整大小并在输入太多文本时滚动?

java swing jpanel jtextarea autoresize

13
推荐指数
2
解决办法
3万
查看次数

自动滚动到文本区域的底部

我有一个带滚动条的文本区域.我会定期添加新的文本行.我希望每当添加新行时,文本区域会自动滚动到最底部的条目(最新的条目).我怎么能做到这一点?

textAreaStatus = new WebTextArea();
scrollPane = new JScrollPane(textAreaStatus);
textAreaStatus.setBackground(Color.black);
textAreaStatus.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
Run Code Online (Sandbox Code Playgroud)

java swing jscrollpane jtextarea jscrollbar

13
推荐指数
2
解决办法
2万
查看次数

Java - 内置边距和JTextArea的JPanel

我想创建这样的东西:

居中的文字区域

主面板的边距(x)和TextArea位于该面板的中心,几乎填满了面板.在底部是另一个具有自定义大小(高度y)的面板,可以通过一些快捷方式切换为可见和不可见.底部面板具有FlowLayout和少量元素.

问题是我不知道该怎么做.

BoxLayout没有边距.

我试过GridBagLayout,但我不工作或我不能理解它:(

我也试过设置JTextArea边距

textMain.setMargin(new Insets(insetTop, insetLeft, insetBottom, insetRight));
Run Code Online (Sandbox Code Playgroud)

但是当有大量文字时,顶部和底部边距消失.所以现在我正在尝试使用Panels.

请有人帮我这个吗?

java swing margins jtextarea insets

13
推荐指数
1
解决办法
3万
查看次数

文本区域(JTextArea)的自动文本滚动,插入位置设置为最后一行的开头

我这里有一个简单的Java问题.我想自动文本滚动到使用JTextArea创建的文本区域的最后一行的开头.文本区域的每行文本量远远长于文本区域的宽度.

这是我用来设置它的代码片段.

JTextArea textArea = new JTextArea();
DefaultCaret caret = (DefaultCaret)textArea.getCaret();
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
Run Code Online (Sandbox Code Playgroud)

现在的问题是,使用上面的代码,默认行为是插入符号自动定位到文档的末尾,因此,整个文本区域的开头部分超出了范围.我更喜欢自动滚动发生在文档最后一行的开头.

为清楚起见,这里有两个屏幕截图,

我想要的是第一个,但正在发生的是第二个.

我想要的是这个 我得到的就是这个

java swing caret jtextarea autoscroll

13
推荐指数
1
解决办法
1万
查看次数

如何将文本添加到textArea而不是替换它

如何将文本添加到a JTextArea而不是替换所有文本?

我知道setText(String)但除此之外我有点失落.

java string swing jtextarea

13
推荐指数
1
解决办法
6万
查看次数

如何创建具有指定宽度的JTextArea以及显示所有文本所需的最小高度?

在我可以找到的所有使用a的例子中JTextArea,高度和宽度在构造之前是已知的JTextArea,如果JTextArea需要更多高度,那么它被放在a中JScrollPane.显然,高度JTextArea取决于宽度和文本内容.

现在,我的情况要求我不使用a JScrollPane,而是JTextArea要足够高以显示所有文本.当我创建时JTextArea,我知道文本内容以及它必须使用的宽度; 我不知道高度 - 我希望在不切断任何文本的情况下尽可能小.这似乎很难实现.

作为旁注,JTextArea将添加到JPanel没有布局管理器的 - 它使用基于添加的组件的首选大小的绝对定位.这要求我JTextArea将返回正确的尺寸getPreferredSize().正确的尺寸应该是我在构造时提供的宽度,以及显示具有所提供宽度的所有文本所需的最小高度.

我发现了一些类似的线程,讨论了有关的奇怪/错误JTextArea,有时通过pack()在父容器上调用两次来解决.这对我来说不是一个选择.我很想基本上创建我自己JTextArea的宽度和字符串,并根据宽度和字体设置计算必要的最小高度,但我想我会先考虑先花费时间才能做到这一点.

希望我的问题很明确.感谢大家的帮助!

java swing jtextarea jtextcomponent

12
推荐指数
2
解决办法
3万
查看次数

如何计算文本在JTextArea中的行数(以及每行中的列数)?

在对问题中提出的问题感兴趣之后, 我试图接近它几次并且失败了,我不喜欢那样:)

我认为如果问题被分成子问题,它可能有助于解决它.

为简单起见,假设JTextArea不会改变其大小,因此我们不需要担心重新评估等.我认为重要的问题是:

1.如何计算某个文本在JTextArea中占用的行数?

2. JTextArea中的列数与它可以放在一行中的字符数之间的关系是什么?所以我们可以计算行长度.

请在下面找到包含要处理的文本区域的示例代码:

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;

public class TextAreaLines
{
    public static void main(String[] args)
    {
        SwingUtilities.invokeLater(new Runnable()
        {
            @Override
            public void run()
            {
                JPanel p = new JPanel();
                JFrame f = new JFrame();
                JTextArea ta = new JTextArea("dadsad sasdasdasdasdasd");
                ta.setWrapStyleWord(true);
                ta.setLineWrap(true);
                ta.setRows(5);
                ta.setColumns(5);
                p.add(ta);
                f.setContentPane(p);
                f.setSize(400, 300);
                f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                f.setVisible(true);             
                //BTW the code below prints 1
                System.out.println("ta.getLineCount()="+ta.getLineCount());
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑1:所以我提出了以下代码,但问题是输出不是你看到的,即

//for input
//JTextArea ta = …
Run Code Online (Sandbox Code Playgroud)

java swing jtextarea

12
推荐指数
3
解决办法
9980
查看次数

Windows中的JTextArea默认字体非常小

我正在使用平台外观和在Linux上我的JTextArea非常易读但在Windows上它使用"Monospaced 9"并且文本非常小.

为什么以及解决这个问题的最佳方法是什么?

为什么默认的Windows外观在JTextArea中使用这么小的字体?

java swing look-and-feel jtextarea

12
推荐指数
2
解决办法
1万
查看次数