如何在 Java 中的 JTextArea class 中添加滚动条?
How to add a scroll bar in my JTextArea class in Java?
首先,我知道如何在 JTextArea 中添加滚动条。
JTextArea textarea = new JTextArea();
JScrollPane scrollbar = new JScrollPane(textarea);
但是在下面的JTextAreaclass代码下面
public class MyTextArea extends JTextArea
{
public MyTextArea()
{
setEditable(true);
setSize(500, 500);
//JScrollPane scroll = new JScrollPane(this);
// ...
}
}
如何添加滚动条?我尝试使用 JScrollPane,但没有用。我尝试了一种新方法,但它也没有用。
这是我的 JFrame class。
public class MyFrame extends JFrame
{
MyFrame()
{
setLayout(null);
setTitle("Frame Title");
setSize(600, 600);
MyTextArea mytextarea = new MyTextArea();
add(mytextarea);
setVisible(true);
setDefaultCloseOperation(MyFrame.EXIT_ON_CLOSE);
}
}
还有我的主力
public static void main(String[] args)
{
new MyFrame();
}
在您发布的示例中,您没有添加 "a scrollbar in a JTextArea",而是将 JTextArea
添加到 JScrollPanel
此外,如果您实际上并未扩展 class(向其添加新功能),则最好创建该 class 的实例并修改它们,但是,如果您开始这样做,你可以这样做:
public class MyTextArea extends JScrollPanel{
public JTextArea ta = new JTextArea();
public MyTextArea(){
ta.setEditable(true);
ta.setSize(500, 500);
setViewPortView(ta);
}
}
只需将 JTextArea
包装在 JScrollPane
...
中
add(new JScrollPane(mytextarea));
当组件的内容大于滚动窗格的可视区域时将显示滚动条
您真正需要问的问题是,为什么要延长 JTextArea
?查看Prefer composition over inheritance更多详情
首先,我知道如何在 JTextArea 中添加滚动条。
JTextArea textarea = new JTextArea();
JScrollPane scrollbar = new JScrollPane(textarea);
但是在下面的JTextAreaclass代码下面
public class MyTextArea extends JTextArea
{
public MyTextArea()
{
setEditable(true);
setSize(500, 500);
//JScrollPane scroll = new JScrollPane(this);
// ...
}
}
如何添加滚动条?我尝试使用 JScrollPane,但没有用。我尝试了一种新方法,但它也没有用。
这是我的 JFrame class。
public class MyFrame extends JFrame
{
MyFrame()
{
setLayout(null);
setTitle("Frame Title");
setSize(600, 600);
MyTextArea mytextarea = new MyTextArea();
add(mytextarea);
setVisible(true);
setDefaultCloseOperation(MyFrame.EXIT_ON_CLOSE);
}
}
还有我的主力
public static void main(String[] args)
{
new MyFrame();
}
在您发布的示例中,您没有添加 "a scrollbar in a JTextArea",而是将 JTextArea
添加到 JScrollPanel
此外,如果您实际上并未扩展 class(向其添加新功能),则最好创建该 class 的实例并修改它们,但是,如果您开始这样做,你可以这样做:
public class MyTextArea extends JScrollPanel{
public JTextArea ta = new JTextArea();
public MyTextArea(){
ta.setEditable(true);
ta.setSize(500, 500);
setViewPortView(ta);
}
}
只需将 JTextArea
包装在 JScrollPane
...
add(new JScrollPane(mytextarea));
当组件的内容大于滚动窗格的可视区域时将显示滚动条
您真正需要问的问题是,为什么要延长 JTextArea
?查看Prefer composition over inheritance更多详情