我们接着上次的代码继续模仿记事本的文本域
在Java里,我们可以用JTextArea进行仿写,以下为仿写代码和仿写后的效果图。
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
public class GUI extends JFrame implements ActionListener{
JMenuBar jmb1;
JMenu jme1,jme2,jme3;
JMenuItem jmi1,jmi2,jmi3;
JTextArea jta;
JScrollPane js;
public GUI(){
jmb1=new JMenuBar(); //创建菜单栏对象
jme1=new JMenu("文件");
jme2=new JMenu("编辑");
jme3=new JMenu("帮助"); //创建记事本最上面菜单栏中的菜单名称
jmi1=new JMenuItem("新建"); //创建点开菜单栏中的名称时出来的菜单项对象
jmi2=new JMenuItem("保存");
jmi3=new JMenuItem("删除");
jme1.add(jmi1);//将菜单加入到菜单项当中(垂直方向的)
jme1.add(jmi2);
jme1.add(jmi3);
jmb1.add(jme1);//将菜单加入到菜单栏中(水平方向)
jmb1.add(jme2);
jmb1.add(jme3);
jta=new JTextArea();//创建文本域对象
js=new JScrollPane(jta);//创建滚动条对象并将滚动条加入到文本域当中
jta.setLineWrap(true);//文字输入到了一定数量自动换行的功能
this.setJMenuBar(jmb1); //把菜单栏对象添加到窗口的菜单栏中
this.add(js);//
this.setBounds(400,150,700,500);
this.setVisible(true);
}
public static void main(String[]args){
GUI a= new GUI();
}
@Override
public void actionPerformed(ActionEvent e) {
}
}
这段代码有非常的有必要说明几点。
在创建滚动条对象的时候不能这样写
jta=new JTextArea();
js=new JScrollPane();
js.add(jta);
否则会出现如下的效果
这里并没有出现文本域。
在创建滚动条对象的时候只能这样写
jta=new JTextArea();
js=new JScrollPane(jta);