【java的组件和事件处理JAVA实现简单的文本文件】实现简单的窗口
java提供的类的实例就是一个底层的容器,类是类的间接子类 。当需要一个窗口是可以使用类或其子类创建一个对象 。窗口也是一个容器,可以往容器里面添加一些组件(例如:文本框,单选按钮,下滑列表等等) 。需要注意的是,窗口默认被系统添加到显示器的屏幕上,所以不能把窗口添加到另外一个容器当中
话不多说,上一个实现简单窗口的代码 。
package JFrame;import java.awt.*;import javax.swing.*;public class Test1 {public static void main(String[] args) {JFrame window1 = new JFrame("夏提的窗口");window1.setBounds(500,100,400, 300);//设置窗口的初始位置以及窗口的大小;Container con = window1.getContentPane();//创建一个容器类对象;con.setBackground(Color.pink);//设置背景颜色;window1.setVisible(true);//显示窗口是可见的;这个方法默认是不可见的;window1.setResizable(true);//设置窗口可随意调整大小;window1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}}
上一个骚气的粉色窗口
文章插图
往窗口添加菜单
类负责创建一个菜单条,也就是用来放置菜单,JMenu类负责创建菜单,类负责创建一个菜单项 。话不多说,直接上代码 。
package JFrame;import java.awt.*;import javax.swing.*;class WindowMenu extends JFrame{JMenuBar menubar;//菜单条JMenu menuSports;//体育菜单;JMenuItem soccerItem,BasketballItem;//在体育菜单里面创建菜单项;JMenu menuChinaBall;//中国球类菜单;JMenuItem PingPangItem,VolleyBallItem;//在中国球类菜单里面创建一个乒乓球和排球菜单项;public WindowMenu(){};public WindowMenu(String s,int x,int y,int w,int h) {setLocation(x,y);//设置默认位置;setSize(w,h);//设置默认大小;setVisible(true);//设置成可见类型的;setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setBackground(Color.pink);//设置背景颜色;init(s);}void init(String s) {setTitle(s);//设置窗口的标题;menubar = new JMenuBar();menuSports = new JMenu("体育菜单");//用menuSports做一个根菜单;menuSports.setIcon(new ImageIcon("sport.png"));soccerItem = new JMenuItem("足球");soccerItem.setIcon(new ImageIcon("soccer2.png"));//设置菜单项的图标;BasketballItem = new JMenuItem("篮球");BasketballItem.setIcon(new ImageIcon("basketball.png"));menuChinaBall = new JMenu("中国国球类");PingPangItem = new JMenuItem("乒乓球");PingPangItem.setIcon(new ImageIcon("pingpang.png"));VolleyBallItem = new JMenuItem("排球");VolleyBallItem.setIcon(new ImageIcon("volleyball.png"));menuSports.add(soccerItem);//在体育菜单里面放置足球菜单项;menuSports.add(BasketballItem);//在体育菜单里面放置篮球菜单项;menuSports.addSeparator();//添加分割线;menuSports.add(menuChinaBall);//在菜单里面在放置一个菜单;menuChinaBall.add(PingPangItem); //在中国球类菜单里面放置乒乓球菜单项;menuChinaBall.add(VolleyBallItem);//在中国球类菜单里面放置排球菜单项;menubar.add(menuSports);//在菜单条里面放置体育菜单;setJMenuBar(menubar);//在窗口里面放置menubar菜单条;}}public class Test2 {public static void main(String[] args) {WindowMenu menu = new WindowMenu("夏提的菜单窗口",200,100,600,500);}}
文本文件的实现
在这些的基础上,我们只需要往容器里面添加一个文本框用来输入文本,然后就可以实现一个简单的记事文本 。
package JFrame;import java.awt.*;import javax.swing.*;//设置一个简单的文本文件;菜单条里放置 文件 编辑 查看 三个菜单;//文件菜单包括 新建 打开 保存 退出 等菜单项;//编辑菜单包括 复制 粘贴 删除 撤销;//查看菜单包括 缩放菜单,它的菜单项为(放大,缩小),状态栏,自动换行菜单项;//还有就是文本框;class Text extends JFrame{JMenuBar menubar;//菜单条 它是用来放置菜单;JMenu file /*文件菜单*/,edit /*编辑菜单*/,check /*查看菜单*/;JMenu zoom;//查看菜单的子菜单 缩放菜单;JMenuItem newfile,openfile,savefile,exitfile;//这是文件菜单的菜单项;JMenuItem copy,stick,delete,rovoke;//这是编辑菜单的菜单项;JMenuItem max,min,status,shifter;//缩放菜单的菜单项,依次别为 放大,缩小,状态栏,自动换行;JTextArea text;//文本框;public Text() {setVisible(true);//设置成可见;setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出功能;init();}void init(){menubar = new JMenuBar();//首先放置文本文件的三个最基本的菜单;file = new JMenu("文件");edit = new JMenu("编辑");check = new JMenu("查看");//然后往菜单里面放置菜单项;//首先放置文件菜单的菜单项;newfile = new JMenuItem("新建");openfile = new JMenuItem("打开");savefile = new JMenuItem("保存");exitfile = new JMenuItem("退出");file.add(newfile);file.add(openfile);file.add(savefile);file.add(exitfile);//然后开始放置编辑菜单的菜单项;copy = new JMenuItem("复制");stick = new JMenuItem("粘贴");rovoke = new JMenuItem("撤销");delete = new JMenuItem("删除");edit.add(copy);edit.add(stick);edit.add(rovoke);edit.add(delete);//然后开始放置查看菜单的菜单项;zoom = new JMenu("缩放");//这里是查看菜单的子菜单缩放;max = new JMenuItem("放大"); //这是子菜单缩放的放大菜单项;min = new JMenuItem("缩小"); //这是子菜单缩放的缩小菜单项;zoom.add(max);zoom.add(min);status = new JMenuItem("状态栏");//查看菜单的菜单项;shifter = new JMenuItem("自动换行");check.add(zoom);//把子菜单缩放放到查看菜单里面;check.add(status); //放置菜单项 状态栏;check.add(shifter);//放置菜单项 自动换行;//最后把三个菜单放到菜单条里面;menubar.add(file);menubar.add(check);menubar.add(edit);//然后把菜单条放到窗口里面;setJMenuBar(menubar);//然后放置文本框;text = new JTextArea();add(text);}}public class Test4 {public static void main(String[] args) {Text text = new Text(); text.setTitle("夏提的记事本");Container con = text.getContentPane();text.setBounds(200, 300, 600, 500);//设置记事本的初始位置以及大小;}}
- NB-Iot的应用领域、覆盖范围,是什么
- 游戏等音乐用什么制作的?编曲神器Studio One Mac介绍
- 介质中的平面电磁波与色散效应
- [架构设计]由面试引发的思考:B/S与C/S究竟是何物
- 如何批量更改图片的名称
- 来来往往的解释来来往往的出处及用法
- 了然于心的解释了然于心的出处及用法
- 力不从愿的解释力不从愿的出处及用法
- 碳循环饮食法怎么吃,碳循环饮食,真的能够减脂吗
- 龙凤呈祥的解释龙凤呈祥的出处及用法