I've been doing some research about Swing in order to build a css editor with Java. I'm stuck trying to export CSS and HTML in JTextArea's ( I'll after create .css document. ) Here is the GridLayout that my main layout calls after clicking "Build" menu item.
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);
}
}
It's pretty straight forward. Just help me adding scroll bars or panes to these textArea's. Any other suggestions in the website do not work.
Kumar Vivek Mitra
Its this way...
JTextArea text = new JTextArea();
JScrollPane scroll = new JScrollPane(text);
Edited part
add(scroll);
Here is one working code for your help :
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();
}
});
}
}
来源:https://stackoverflow.com/questions/11178994/making-the-jtextarea-or-jeditorpane-in-a-jframe-scrollable