程序填空题:swing组件的简单应用(JTextField和JTextArea)
本题目要求实现将JTextField中的文本复制到JTextArea中。程序运行结果如下:

c++
程序如下,请按照提示完善程序。
public class Main extends JApplet
{ String s,s1;
JLabel lb1=new JLabel("请按键盘");//初始化lb1标签
JLabel lb2=new JLabel("复制结果");//初始化lb2标签
JTextField tf1=; //初始化tf1,长度为10
JTextArea tf2=new JTextArea(5,10); //初始化tf2,为5行10列的文本
Container cp=getContentPane( );
FlowLayout flow=new FlowLayout(FlowLayout.CENTER,5,5);
@Override
public void init( )
{ ;//设置布局样式为流式布局
cp.add(lb1);
cp.add(tf1);
cp.add(lb2);
cp.add(tf2);
tf1.addKeyListener();//为tf1组件增加监听
}
class koLis extends KeyAdapter
{ @Override
public void keyTyped(KeyEvent e)
{ s=tf1.getText( )+e.getKeyChar( ); //获取文本框的内容及键入的字符
if(e.getKeyChar( )=='\n')
{ s1=tf2.getText( )+s;
tf1.setText("");
; //设置tf2中的文本内容为s1
}
}
}
}
答案:
第1空:new JTextField(10)
第2空:cp.setLayout(flow)
第3空:new koLis( )
第4空:tf2.setText(s1)

c++
程序如下,请按照提示完善程序。
public class Main extends JApplet
{ String s,s1;
JLabel lb1=new JLabel("请按键盘");//初始化lb1标签
JLabel lb2=new JLabel("复制结果");//初始化lb2标签
JTextField tf1=; //初始化tf1,长度为10
JTextArea tf2=new JTextArea(5,10); //初始化tf2,为5行10列的文本
Container cp=getContentPane( );
FlowLayout flow=new FlowLayout(FlowLayout.CENTER,5,5);
@Override
public void init( )
{ ;//设置布局样式为流式布局
cp.add(lb1);
cp.add(tf1);
cp.add(lb2);
cp.add(tf2);
tf1.addKeyListener();//为tf1组件增加监听
}
class koLis extends KeyAdapter
{ @Override
public void keyTyped(KeyEvent e)
{ s=tf1.getText( )+e.getKeyChar( ); //获取文本框的内容及键入的字符
if(e.getKeyChar( )=='\n')
{ s1=tf2.getText( )+s;
tf1.setText("");
; //设置tf2中的文本内容为s1
}
}
}
}
答案:
第1空:new JTextField(10)
第2空:cp.setLayout(flow)
第3空:new koLis( )
第4空:tf2.setText(s1)