我一直在研究Swing,以便用Java构建一个css编辑器。我一直试图在JTextArea中导出CSS和HTML(我将在创建.css文档之后)。 这是我的主要布局在单击“Build”菜单项后调用的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的。网站上的任何其他建议都不起作用。
答案 0 :(得分: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();
}
});
}
}