Eclipse 实现 Java 编辑器【一】(制作GUI界面)
建立项目并完成 GUI 界面的编程实现。在本次实验中,我们完成了项目的创建以及 GUI 界面实现界面组件事件响应逻辑和 Java 文件的编辑、编译及运行。
Eclipse 实现 Java 编辑器【一】(制作GUI界面)
1. 实验介绍
1. 实验内容
建立项目并完成 GUI 界面的编程实现。
2. 实验知识点
Java Swing
3. 完整代码
这里是引用
2. 项目文件结构
3. 实验步骤
1. 新建项目
首先请双击打开桌面上的 Eclipse
,等待它启动完成后,在文件菜单 File
中选择 New -> Project
来创建项目。
在弹出的新建项目对话框中选择 Java Project
,并点击 Next
按钮进入下一步。
在弹出的窗口里填写项目的名称 MyEdit
,然后点击 Finish
按钮。
如果遇到下图所示的对话框,点击 Open Perspective
按钮确认即可。
2. 创建包和类
本项目一共有两个类:
- FileWindow:主要方法类,用作 GUI 界面以及逻辑功能的实现
- Main:测试类
因此我们首先需要创建一个名为 com.shiyanlou.myedit 的包。
请在创建好的项目目录 src 文件夹上右键点击,然后选择 New -> Package
。
在弹出的 New Java Package
对话框中填写包名com.shiyanlou.myedit
,并点击 Finish
按钮。
最后,在新建好的包下新建FileWindow和Main类。这里只演示创建 FileWindow 的过程。
3. GUI 界面的实现
GUI 界面的效果图如下:
界面的设计采用卡片布局(CardLayout),白色文本域为程序输入区,粉红色文本域为编译结果显示区,浅蓝色文本域为程序运行结果区。点击上方不同的功能按钮显示对应的文本域。
在 FileWindow 类中编写实现 GUI 的代码,相关的代码如下,代码的讲解将会以注释的形式进行,请在编写代码的同时留意相关的注释。
package com.shiyanlou.myedit;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class FileWindow extends JFrame implements ActionListener, Runnable {
/*注意:因为实现了ActionListener 和Runnable接口,所以必须要实现这两个接口的方法。这里我们先把这两个方法简单实现以下。下节课将彻底完成这两个方法。*/
Thread compiler = null;
Thread run_prom = null;
boolean bn = true;
CardLayout mycard; //声明布局,以后会用到
File file_saved = null;
JButton button_input_txt, //按钮的定义
button_compiler_text,
button_compiler,
button_run_prom,
button_see_doswin;
JPanel p = new JPanel();
JTextArea input_text = new JTextArea(); // 程序输入区
JTextArea compiler_text = new JTextArea();// 编译错误显示区
JTextArea dos_out_text = new JTextArea();// 程序的输出信息
JTextField input_file_name_text = new JTextField();
JTextField run_file_name_text = new JTextField();
public FileWindow() {
// TODO Auto-generated constructor stub
super("Java语言编译器");
mycard = new CardLayout();
compiler=new Thread(this);
run_prom=new Thread(this);
button_input_txt=new JButton("程序输入区(白色)");
button_compiler_text=new JButton("编译结果区(粉红色)");
button_see_doswin=new JButton("程序运行结果(浅蓝色)");
button_compiler=new JButton("编译程序");
button_run_prom=new JButton("运行程序");
p.setLayout(mycard);//设置卡片布局
p.add("input",input_text);//定义卡片名称
p.add("compiler", compiler_text);
p.add("dos",dos_out_text);
add(p,"Center");
compiler_text.setBackground(Color.pink); //设置颜色
dos_out_text.setBackground(Color.cyan);
JPanel p1=new JPanel();
p1.setLayout(new GridLayout(3, 3)); //设置表格布局
//添加组件
p1.add(button_input_txt);
p1.add(button_compiler_text);
p1.add(button_see_doswin);
p1.add(new JLabel("输入编译文件名(.java):"));
p1.add(input_file_name_text);
p1.add(button_compiler);
p1.add(new JLabel("输入应用程序主类名"));
p1.add(run_file_name_text);
p1.add(button_run_prom);
add(p1,"North");
//定义事件
button_input_txt.addActionListener(this);
button_compiler.addActionListener(this);
button_compiler_text.addActionListener(this);
button_run_prom.addActionListener(this);
button_see_doswin.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
//实现方法
}
@Override
public void run() {
//实现方法
}
}
4. 测试类的实现
Main.java:
package com.shiyanlou.myedit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
FileWindow win=new FileWindow();
win.pack();
win.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
//设置窗口大小
win.setBounds(200, 180,550,360);
win.setVisible(true);
}
}
4. 实验总结
在本次实验中,我们完成了项目的创建以及 GUI 界面
实现界面组件事件响应逻辑和 Java 文件的编辑、编译及运行。主要包括两个方法:
- public void actionPerformed(ActionEvent e)
- public void run()
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)