⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainframe.java

📁 我自己写的java的编译器界面 包的路径为com.baoyabing.gui
💻 JAVA
字号:
package com.baoyabing.gui;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MainFrame extends JFrame{
	JTextField 
		filename = new JTextField(60),
		dir = new JTextField(60);
	JButton 
		open = new JButton("Open"),
		save = new JButton("Save");
	static JFrame jf  = new JFrame("菜菜编译软件");
	static JTextPane jtp = new JTextPane();
	JMenuBar jmb = new JMenuBar();
	public MainFrame(){
		//
		JMenu jmfile = new JMenu("File");
		JMenuItem jmiopen = new JMenuItem("Open");
			jmiopen.addActionListener(new OpenL());
		JMenuItem jmisave = new JMenuItem("Save");
			jmisave.addActionListener(new SaveL());
		JMenuItem jmiexit = new JMenuItem("Exit");
			jmiexit.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent e) {
					// TODO Auto-generated method stub
					jf.setVisible(false);
					jf.dispose();
					System.exit(0);
				}
			});
		JMenu jmedit = new JMenu("Edit");
		JMenuItem jmicut = new JMenuItem("Cut");
		JMenuItem jmicopy = new JMenuItem("Copy");
		JMenuItem jmipaste = new JMenuItem("Paste");
		JMenu jmrun = new JMenu("Run");
		JMenuItem jmirun = new JMenuItem("Run");
		JMenuItem jmidebug = new JMenuItem("Debug");
		jf.add(jmb,BorderLayout.NORTH);
		jmb.add(jmfile);
			jmfile.add(jmiopen);
			jmfile.add(jmisave);
			jmfile.addSeparator();
			jmfile.add(jmiexit);
		jmb.add(jmedit);
			jmedit.add(jmicut);
			jmedit.add(jmicopy);
			jmedit.add(jmipaste);
		jmb.add(jmrun);
			jmrun.add(jmirun);
			jmrun.add(jmidebug);
		//
		jf.add(jtp,BorderLayout.CENTER);
		jtp.setSize(250,600);
		jtp.setMaximumSize(new Dimension(600,600));
		jtp.setBackground(Color.LIGHT_GRAY);
		jtp.setForeground(Color.black);
		jtp.setFont(new Font("sans", Font.PLAIN, 15));
		JScrollPane jsp=new JScrollPane(jtp);
		jf.add(jsp,BorderLayout.CENTER);
		dir.setEnabled(false);
		filename.setEditable(false);
		
		jf.setBounds(250, 80, 800, 600);
		jf.setVisible(true);
		
		jf.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				jf.setVisible(false);
				jf.dispose();
				System.exit(0);
			}
		});
	}
	class OpenL implements ActionListener{
		public void actionPerformed(ActionEvent e){
			JFileChooser c = new JFileChooser();
			int rVal = c.showOpenDialog(MainFrame.this);
			if(rVal == JFileChooser.APPROVE_OPTION){
				String path = c.getSelectedFile().toString();
				OpenFileAction ofa = new OpenFileAction(path);
				ofa.run();
			}
			if(rVal == JFileChooser.CANCEL_OPTION){
				filename.setText("You pressed cancel");
				dir.setText(" ");
			}
		}
	}
	class SaveL implements ActionListener{
		public void actionPerformed(ActionEvent e){
			JFileChooser c = new JFileChooser();
			int rVal = c.showSaveDialog(MainFrame.this);
			if(rVal == JFileChooser.APPROVE_OPTION){
				String str = c.getSelectedFile().toString();
				SaveFileAction sfa = new SaveFileAction(str);
				sfa.run();
				//filename.setText(c.getSelectedFile().toString());
				//dir.setText(c.getCurrentDirectory().toString());
			}
			if(rVal == JFileChooser.CANCEL_OPTION){
				filename.setText("you pressed cancel");
				dir.setText(" ");
			}
		}
	}
	public static void main(String[] args) {
		MainFrame fct = new MainFrame();
	}
	public static JTextPane getJTP(){
		return jtp;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -