Java JScrollPane在布局中不滚动
在这段代码中,我试图将一个Java JScrollPane在布局中不滚动,java,jscrollpane,jtextarea,miglayout,Java,Jscrollpane,Jtextarea,Miglayout,在这段代码中,我试图将一个JScrollPane插入正在使用的面板中 但是,当文本到达JTextArea的末尾并继续离开屏幕时,水平或垂直方向上都没有滚动条。我不确定我做错了什么 使用txtSimple.setLineWrap(false) 使用txtSimple.setLineWrap(true) 编辑 我想要的结果是在滚动窗格上有滚动条 提供这些示例的代码是 import java.awt.*; import javax.swing.*; import java.lang.Objec
JScrollPane
插入正在使用的面板中
但是,当文本到达JTextArea
的末尾并继续离开屏幕时,水平或垂直方向上都没有滚动条。我不确定我做错了什么
使用txtSimple.setLineWrap(false)代码>
使用txtSimple.setLineWrap(true)代码>
编辑
我想要的结果是在滚动窗格上有滚动条
提供这些示例的代码是
import java.awt.*;
import javax.swing.*;
import java.lang.Object.*;
import javax.swing.event.*;
import javax.swing.text.*;
import java.awt.event.*;
import java.awt.Checkbox;
public class TextAreaSample extends JFrame implements ActionListener
{
JFrame myMainWindow = new JFrame("This is my title");
JTabbedPane myTabs = new JTabbedPane();
JPanel firstPanel = new JPanel(); //a panel for first tab
//first panel components
JTextArea txtSimple;
JLabel lblSimple;
JScrollPane myScrollTable;
JCheckBox TextWrap;
//end first panel
public void runGUI()
{
myMainWindow.setBounds(10, 10, 800, 800); //set position, then dimensions
myMainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myMainWindow.setLayout(new GridLayout(1,1));
createFirstPanel(); //call method to create each panel
myMainWindow.getContentPane().add(firstPanel); //adds the tabbedpane to mainWindow
myMainWindow.setVisible(true); //make the GUI appear
}
public void createFirstPanel()
{
firstPanel.setLayout(null);
txtSimple = new JTextArea();
txtSimple.setLineWrap(false);
txtSimple.setWrapStyleWord(true);
myScrollTable = new JScrollPane(txtSimple);
myScrollTable.setSize(700,700);
myScrollTable.setLocation(20,20);
firstPanel.add(myScrollTable);
System.out.println("Creating compare table");
lblSimple = new JLabel();
lblSimple.setText("Text Wrap");
lblSimple.setSize(100,25);
lblSimple.setLocation(20,730);
lblSimple.setHorizontalAlignment(JLabel.RIGHT);
firstPanel.add(lblSimple);
TextWrap = new JCheckBox();
TextWrap.setLocation(125,730);
TextWrap.setSize(25,25);
TextWrap.addActionListener(this);
firstPanel.add(TextWrap);
}
public void actionPerformed(ActionEvent e)
{
if(TextWrap.isSelected())
{
txtSimple.setLineWrap(true);
}
else
{
txtSimple.setLineWrap(false);
}
}
public static void main(String[] args)
{
TextAreaSample TSA = new TextAreaSample();
TSA.runGUI();
}
}
问题是:
spSimple = new JScrollPane(txtSimple);
simplePanel.add(txtSimple,"width 100:100:100 , height 100:100:100");
您没有将JScrollPane添加到布局中。你需要这个:
spSimple = new JScrollPane(txtSimple);
simplePanel.add(spSimple,"width 100:100:100 , height 100:100:100");
注意第二行中使用了spSimple
spSimple = new JScrollPane(txtSimple);
simplePanel.add(spSimple,"width 100:100:100 , height 100:100:100");