JAVA JTextArea 和 JScrollPane

2024-12-13 11:00:27
推荐回答(3个)
回答1:

对比一下

package com.test.server;
import java.net.*;
import java.io.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;
public class Server extends JFrame implements ActionListener,KeyListener{

/**
*
*/
private static final long serialVersionUID = 1L;
JPanel jpl = null;
JTextArea jta = null;
JTextField jtf = null;
JScrollPane jsp =null;
JButton openButton,closeButton = null;
JLabel socketLabel = null;
ButtonGroup bg = null;
//将信息发送给 客户端
PrintWriter pw = null;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new Server();
}
public Server(){
jpl = new JPanel();
jta = new JTextArea();
jsp = new JScrollPane(jta);
jtf = new JTextField("9988",10);
jtf.setEditable(false);//端口为只读
openButton = new JButton("开始");
openButton.addActionListener(this);//对打开按钮 添加监听操作
closeButton = new JButton("关闭");
closeButton.setEnabled(false);
bg = new ButtonGroup();
bg.add(openButton);
bg.add(closeButton);
socketLabel = new JLabel("监听端口");
jpl.add(socketLabel);//添加监听端口标签
jpl.add(jtf);//添加端口号
jpl.add(openButton);//添加打开按钮
jpl.add(closeButton);//关闭打开按钮
this.add(jpl,"North");
this.add(jsp,"Center");
//设置框体大小,设置可现实
this.setSize(400, 300);
this.setVisible(true);
this.setTitle("SPServerSocket");

}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//如果用户点击打开按钮
if(e.getSource()==openButton){

}
}
public void keyPressed(KeyEvent arg0) {
// TODO Auto-generated method stub

}
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub

}
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub

}
}

回答2:

换其它的构造函数试试,如JTextArea aJTextArea=new JTextArea(rows, columns);其中rows和columns由自己定义,是正整数

回答3:

看一看API中的JScrollPane类,在new的是后,可以设置滚动条类型!!

之后可以把aJScrollPane放在一个BorderLayout.CENTER中!!