java - 添加滚动java时文本区域不可见

标签 java swing jscrollpane layout-manager null-layout-manager

当我向文本区域添加滚动时,文本区域在应用程序中不可见:

代码:

    JPanel panel = new JPanel();
    frame.getContentPane().add(panel, BorderLayout.CENTER);
    panel.setLayout(null);

    final JTextArea textArea = new JTextArea(); 
    textArea.setBounds(15, 112, 689, 310);
    JScrollPane scrollPane = new JScrollPane( textArea ); 
    panel.add( scrollPane );

最佳答案

以下是如何执行代码似乎试图执行的操作,使用文本区域、布局和填充的大小调整提示。根据需要调整数字。

查看代码中的更多注释:

import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;

public class ScrollingTextArea {

    private JComponent panel = null;

    ScrollingTextArea() {
        initUI();
    }

    public void initUI() {
        if (panel != null) {
            return;
        }

        panel = new JPanel(new BorderLayout());
        // adjust numbers to need
        panel.setBorder(new EmptyBorder(32, 15, 32, 15));
        // adjust rows & cols to need
        final JTextArea textArea = new JTextArea(20,80); 
        JScrollPane scrollPane = new JScrollPane(textArea);
        panel.add(scrollPane);
    }

    public JComponent getUI() {
        return panel;
    }

    public static void main(String[] args) {
        Runnable r = new Runnable() {
            @Override
            public void run() {
                try {
                    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                } catch (Exception useDefault) {
                }
                ScrollingTextArea o = new ScrollingTextArea();

                JFrame f = new JFrame(o.getClass().getSimpleName());
                f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
                f.setLocationByPlatform(true);

                f.setContentPane(o.getUI());
                f.pack();
                f.setMinimumSize(f.getSize());

                f.setVisible(true);
            }
        };
        SwingUtilities.invokeLater(r);
    }
}

关于java - 添加滚动java时文本区域不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32922711/

相关文章:

java - 如何在 JPanel 中刷新/重新加载图像

java - JLabel 强制文本适合 JLabel 边界(空布局)

java - 排除Spring boot测试中的Configuration

java - 在 JTable 中编辑事件后

java - configuration.yml 出现错误 : * Unrecognized field at: driverClass - DROPWIZARD

java - 组布局 : JScrollPane in TextArea is not working

java - 当文本超出窗口宽度时,JScrollbar 不会激活

java - Java中JTable自动滚动到底部

java - 在 Spring Data JPA 中处理实体继承的最佳方式

java - Android 中的 Parse.com 云代码和 HashMap : How to set an array inside Hashmap?