7

我一直在做一些关于 Swing 的研究,以便用 Java 构建一个 css 编辑器。我一直试图在 JTextArea 中导出 CSS 和 HTML(我将在创建 .css 文档之后。)这是我的主布局在单击“构建”菜单项后调用的 GridLayout。

package csseditor_gui_built;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.JScrollBar;
import javax.swing.text.DefaultCaret;
import java.awt.Font;
import java.awt.Color;


public class ExportGridLayout extends JFrame {
    public ExportGridLayout(String HTML, String CSS){


        GridLayout layout = new GridLayout(1,2,2,2);
        setLayout(layout);

        JTextArea textAreaHtml = new JTextArea();
        JTextArea textAreaCss = new JTextArea();

        //Creating a new font.
        Font fontumuz = new Font("Courier New", Font.PLAIN, 12);

        // Setting constructor strings
        textAreaHtml.setText(HTML);
        textAreaCss.setText(CSS);

        //Additional details..
        textAreaHtml.setEditable(false);
        textAreaCss.setEditable(false);

        //Appending font to the textArea's
        textAreaHtml.setFont(fontumuz);
        textAreaCss.setFont(fontumuz);

        // Adding the objects to JFrame
        add(textAreaHtml);
        add(textAreaCss);

    }
}

这很简单。只需帮我在这些 textArea 中添加滚动条或窗格即可。网站上的任何其他建议都不起作用。

4

1 回答 1

8

就是这样...

JTextArea text = new JTextArea();

JScrollPane scroll = new JScrollPane(text);

编辑部分

add(scroll);

这是一个可以帮助您的工作代码:

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

public class JTextAreaExample
{
    private void createAndDisplayGUI()
    {
        JFrame frame = new JFrame("JTextArea Scrollable");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel contentPane = new JPanel();
        contentPane.setLayout(new GridLayout(1, 2, 2, 2));

        JTextArea tArea1 = new JTextArea();
        tArea1.setLineWrap(true);
        JTextArea tArea2 = new JTextArea();
        tArea2.setLineWrap(true);
        tArea1.setText("I got a long long line of text in my JTextArea");
        tArea2.setText("I got a long long line of text in my JTextArea");

        JScrollPane scroller1 = new JScrollPane();
        JScrollPane scroller2 = new JScrollPane();
        scroller1.setViewportView(tArea1);
        scroller2.setViewportView(tArea2);

        contentPane.add(scroller1);
        contentPane.add(scroller2);

        frame.setContentPane(contentPane);
        frame.setSize(100, 100);
        frame.setLocationByPlatform(true);
        frame.setVisible(true);
    }

    public static void main(String... args)
    {
        SwingUtilities.invokeLater(new Runnable()
        {
            public void run()
            {
                new JTextAreaExample().createAndDisplayGUI();
            }
        });
    }
}
于 2012-06-24T16:22:34.047 回答