java文本编辑器v2.0 图形用户界面(一)

2014-11-23 21:43:50 · 作者: · 浏览: 23
package 文本编辑器;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GraphicsEnvironment;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;

import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JColorChooser;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JRadioButton;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.KeyStroke;
import javax.swing.WindowConstants;


@SuppressWarnings("serial")
public class TextEditBox extends JFrame {
	// 添加属性
	private JComboBox combox_name, combox_size;// 字体、字号组合框
	private JButton button_larger,button_smaller,button_color;//字体变大变小和颜色选择器
	private JCheckBox checkb_bold, checkb_italic;// 粗体、斜体复选框
	private JPopupMenu popupmenu;
	private JTextArea ta = new JTextArea();
	private JScrollPane sp = new JScrollPane(ta);
	//查找对话框属性
	private JTextField tf_search;
	private JButton button_next;
	//
	private int key=0;

	public TextEditBox(String str) {
		super(str);
		this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		Dimension dim = getToolkit().getScreenSize(); // 获得屏幕分辨率
		this.setBounds(dim.width / 4, dim.height / 4, 700, 480);
		JToolBar toolbar = new JToolBar(); // 创建工具栏
		this.add(toolbar, BorderLayout.NORTH); // 工具栏添加到窗格北部
		this.add(sp);
		ta.setLineWrap(true);// 换行
		//////////////////字体
		GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
		String[] fontsName = ge.getAvailableFontFamilyNames(); // 获得
系统
字体 combox_name = new JComboBox(fontsName); toolbar.add(combox_name); combox_name.addActionListener(new ActionListener() {// 字号 public void actionPerformed(ActionEvent e) { String fontname = (String)combox_name.getSelectedItem();//获得字体名 Font font = ta.getFont(); //获得文本区的当前字体对象 int style = font.getStyle(); //获得字形 int size = font.getSize(); ta.setFont(new Font(fontname, style, size)); } }); /////////////////字号 String sizestr[] = { "20", "30", "40", "50", "60", "70" ,"80","90","100"}; combox_size = new JComboBox(sizestr); combox_size.setEditable(true); toolbar.add(combox_size); combox_size.addActionListener(new ActionListener() {// 字号 public void actionPerformed(ActionEvent e) { String fontname = (String)combox_name.getSelectedItem();//获得字体名 int size = Integer.parseInt