gpt4 book ai didi

Java Swing JTextArea 滚动条未显示在内部

转载 作者:行者123 更新时间:2023-12-01 07:21:17 25 4
gpt4 key购买 nike

我正在尝试在 JTextArea 中添加滚动条,但滚动条未显示在文本区域中..

这是我的代码,

import java.awt.Color;
import java.awt.Dimension;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class Test {

public static void main(String[] args) {
JFrame frame = new JFrame("MySql Console");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel panel = new JPanel();
frame.add(panel);
panel.setLayout(null);

JTextArea txtQuery = new JTextArea ();
txtQuery.setBounds(10, 10, 365, 45);
JScrollPane scroll = new JScrollPane (txtQuery,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
//scroll.setPreferredSize(new Dimension(100, 50));
panel.add(scroll);
panel.add(txtQuery);

frame.setVisible(true);
}

}

尝试了互联网上的一些替代方案,但仍然不起作用。

最佳答案

   panel.setLayout(null);

JTextArea txtQuery = new JTextArea ();
txtQuery.setBounds(10, 10, 365, 45);
JScrollPane scroll = new JScrollPane (txtQuery,
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
//scroll.setPreferredSize(new Dimension(100, 50));
panel.add(scroll);
panel.add(txtQuery);
  1. 不要使用空布局。布局管理器将确定组件的首选大小,然后滚动 Pane 可以确定何时需要滚动条。当您向文本区域添加文本时,滚动条将自动出现。

  2. 不要将文本区域添加到面板中。一个组件只能有一个父组件。您已经将文本区域添加到滚动 Pane 中。

  3. 通过指定文本区域的行/列为文本区域指定首选大小。

所以你修改后的代码应该是这样的:

   //panel.setLayout(null);

JTextArea txtQuery = new JTextArea (5, 20);
//txtQuery.setBounds(10, 10, 365, 45);
JScrollPane scroll = new JScrollPane (txtQuery);
//scroll.setPreferredSize(new Dimension(100, 50));
panel.add(scroll);
//panel.add(txtQuery);

关于Java Swing JTextArea 滚动条未显示在内部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36491640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com