[英]JScrollPane on a TextArea
好的,我已经阅读了本网站上有关该主题的几乎所有主题,但老实说,它们看上去都让我感到困惑,而且它们都不适合我的代码。 我创建了一个简单的TextArea
JTextArea ttt=new JTextArea("");
ttt.setSize(500, 300);
ttt.setLocation(10, 100);
ttt.setEditable(false);
然后使用此行创建Scrollpane并将其添加到TextArea
JScrollPane sp=new JScrollPane(ttt,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
然后将其添加到我的JFrame中
myForm.add(sp);
正如我在大多数线程上所读到的那样,此代码应该有效,但事实并非如此。 在尝试添加ScrollPane之前,TextArea已显示在框架上,但是现在整个TextArea甚至都没有显示。 谢谢。
编辑; 例如,这是我的主要功能,无法正常工作
public class Test2 {
public static void main(String[] args) {
JFrame myForm=new JFrame("Connect-4");
myForm.setLayout(new GridLayout(4,2)); // assign layout
myForm.setSize(new Dimension(500,400)); // size
JTextArea ttt = new JTextArea (3,3 );
ttt.setEditable(false);
//ttt.setSize(500, 300);
//ttt.setLocation(10, 100);
JScrollPane sp=new JScrollPane(ttt,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
myForm.add(sp);
myForm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myForm.setLayout(null);
myForm.setVisible(true);
}
}
编辑2; 2个Jlabel,2个文本字段,按钮和一个文本区域图像
编辑3;
public class Test2 {
public static void main(String[] args) {
JButton button=new JButton("Add");
//button.setSize(100, 50);
//button.setLocation(450, 40);
JTextField tf1=new JTextField();
tf1.setSize(150, 30);
tf1.setLocation(70, 52);
JLabel l1=new JLabel("Name");
//l1.setSize(51, 50);
//l1.setLocation(10, 40);
l1.setFont(new Font("", Font.PLAIN, 20));
JTextField tf2=new JTextField();
tf2.setSize(150, 30);
tf2.setLocation(285, 52);
JLabel l2=new JLabel("Phone");
l2.setSize(55, 50);
l2.setLocation(225, 40);
l2.setFont(new Font("", Font.PLAIN, 20));
//////
JTextArea ttt=new JTextArea("");
ttt.setSize(500, 300);
ttt.setLocation(10, 100);
JPanel panel1=new JPanel(new FlowLayout());
panel1.add(l1);
panel1.add(tf1);
panel1.add(l2);
panel1.add(tf2);
panel1.add(button);
JPanel panel2=new JPanel();
panel2.add(new JButton("FSFSD"));
panel2.add(new JButton("RIGHT"));
JPanel all=new JPanel(new BorderLayout());
all.add(panel1, BorderLayout.NORTH);
all.add(ttt, BorderLayout.CENTER);
JFrame frame=new JFrame();
frame.setContentPane(all);
//frame.add(all);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 500);
frame.setVisible(true);
}
}
实例化TextArea之后
JTextArea ttt = new JTextArea (3,3 );
ttt.setEditable(false);
JScrollPane sp=new JScrollPane(ttt,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
myJFrame.add(sp);
验证您的JFrame是否包含合适的裁缝以及宽度和高度,例如
myJFrame.setLayout(new GridLayout(4,2)); // assign layout
myJFrame.setSize(new Dimension(500,400)); // size
您正在设置布局
myForm.setLayout(new GridLayout(4,2));
然后用
myForm.setLayout(null);
删除此行,您将看到您的文本区域。
您可能还想在显示框架之前调用myFrame.pack()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.