电脑维修第一互动门户_www.PC106.com 为了方便您再次访问电脑维修站,请点击收藏本站!设为首页
操作系统 · 硬件学院 · 软件学院 · 网络学院 · DIY 经验 · 数据恢复 · 网站技术 · 维修网点 · IT 黄 页 · 大师答疑
故障症状 · 电脑优化 · 病毒快报 · 黑客安全 · 维修宝典 · 电脑保养 · 服 务 器 · 在线杀毒 · 在线电视 · 网址服务
维修 CPU·主板·硬盘·内存·显卡·显示器·键盘鼠标·声卡音箱·软驱光驱·打印机·机箱电源·BIOS·网卡·局域网·浏览器
您现在的位置: 电脑维修 >> 网站技术 >> JSP技术 >> Java技巧及代码 >> 网站技术正文
由Java实现简单的文本编辑器
作者:佚名 文章来源:本站原创 点击数: 更新时间:2007-3-26 23:03:59

  申明:以下代码由Qdieyou原创,任何转载请注明出处,否则追究责任,谢谢!

  由于本人所学的教材是英文版的“How to java program”所以,以下代码部分注释也采用英文形式,相信大家是看得懂的。代码的注释已经写得很清楚,这里就不多做解释了。

  程序运行界面大致如下:

  


代码如下:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Notepad extends JFrame{
  private final Color colorvalues[] =
   { Color.black, Color.blue, Color.red, Color.green };   //定义颜色数组
  String styleNames[] = { "Bold", "Italic" };//定义风格数组
  String fontNames[] = { "宋体", "华文行楷", "隶书" };//字体数组
  String[] sizeString = new String[30];//字号数组
  int[] size = new int[30];//与字号数组对应的字号整数,用于设置文字大小
  private JRadioButtonMenuItem colorItems[], fonts[];
  private JCheckBoxMenuItem styleItems[];
  private JTextArea displayText;//定义文本编辑区
  private ButtonGroup fontGroup, colorGroup;//字体组,跟字色组
  private int style;//字体风格
  private JScrollPane scroll;//为文本编辑区提供滚动条
  private String selectText = "";//存放文本编辑区中选中的文本内容
  private JComboBox styleBox,fontBox,sizeBox;//工具栏
  private JPanel toolPanel;//存放工具栏
  private int rowNumber = 0;

  // set up GUI
  public Notepad()
  {
   super( "记事本" );//标题
  
   //初始化字体大小数组
   for(int i = 0 ; i<size.length;i++){
     sizeString{i} = "" + (i+5) * 2;
     size{i} = (i+5)*2;
   }
  
   Container container = getContentPane();
   container.setLayout(new BorderLayout() );
  
  //统计行数

     
   toolPanel = new JPanel();
  
   JLabel label1 = new JLabel("字体名称");
   toolPanel.add(label1);
   fontBox = new JComboBox(fontNames);
   fontBox.addItemListener( //事件处理
     new ItemListener(){

     public void itemStateChanged(ItemEvent event){
     if( event.getStateChange() == ItemEvent.SELECTED){
     displayText.setFont( new Font( fontNames[fontBox.getSelectedIndex()],
        displayText.getFont().getStyle(), displayText.getFont().getSize() ) );

    
     }
     }
     }
   );
   toolPanel.add(fontBox);//添加
  
   JLabel label2 = new JLabel("字体风格");
   toolPanel.add(label2);
   String style_name[] = {"常规","倾斜","粗体","倾斜加粗体"};//字体风格
   styleBox = new JComboBox(style_name);
   styleBox.addItemListener(   //事件处理
     new ItemListener(){

     public void itemStateChanged(ItemEvent event){
     if( event.getStateChange() == ItemEvent.SELECTED){
     if(styleBox.getSelectedIndex()==0) style = Font.PLAIN;
     if(styleBox.getSelectedIndex()==1) style = Font.ITALIC;
     if(styleBox.getSelectedIndex()==2) style = Font.BOLD;
     if(styleBox.getSelectedIndex()==3) style = Font.ITALIC+Font.BOLD;
     displayText.setFont( new Font( displayText.getFont().getName(),
        style, displayText.getFont().getSize() ) );

    
     }
     }
     }
   );
  
   toolPanel.add( styleBox );

   JLabel label3 = new JLabel("字号");
   toolPanel.add(label3);  
   sizeBox = new JComboBox(sizeString);
   sizeBox.addItemListener(
     new ItemListener(){

     public void itemStateChanged(ItemEvent event){
     if( event.getStateChange() == ItemEvent.SELECTED){
     displayText.setFont( new Font( displayText.getFont().getName(),
        displayText.getFont().getStyle(), size[sizeBox.getSelectedIndex()] ) );

    
     }
     }
     }
   );
   toolPanel.add(sizeBox);
   container.add( toolPanel, BorderLayout.NORTH );
  

   // set up File menu and its menu items
   JMenu fileMenu = new JMenu( "文件(F)" );
   fileMenu.setMnemonic( 'F' );

   // set up About... menu item
   JMenuItem aboutItem = new JMenuItem( "关于(A)..." );
   aboutItem.setMnemonic( 'A' );
   fileMenu.add( aboutItem );
   aboutItem.addActionListener(

     new ActionListener() { // anonymous inner class

      // display message dialog when user selects About...
      public void actionPerformed( ActionEvent event )
      {
        JOptionPane.showMessageDialog( Notepad.this,
         "模拟记事本程序\ncopyright@2005_Qdieyou——魏逢一",
         "关于", JOptionPane.PLAIN_MESSAGE );
        rowNumber = displayText.getRows();
        JOptionPane.showMessageDialog(null,""+ rowNumber);
      }

     } // end anonymous

[1] [2] [3] 下一页

上网速度更快更爽、更安全下载使用Firefox火狐浏览器

网站技术录入:admin    责任编辑:admin 
  • 上一篇网站技术: 没有了

  • 下一篇网站技术:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

     IT图片报道

    14万元天价!640GB闪存硬盘美国问

    双核独显19寸液晶惠普PC机只卖49

    佳能MP160售价仅580元

    神舟双核液晶电脑3999起
     IT热点报道

    普通IT报道 中国电信称三年内实现光纤到户
    普通IT报道 广达个人电脑宣布已开始在江苏投入量产
    普通IT报道 14万元天价!640GB闪存硬盘美国问世
    普通IT报道 节后病毒猖獗系统瘫痪
    普通IT报道 AMD推出6款节能处理器
    推荐IT报道 双核独显19寸液晶惠普PC机只卖4999元
    普通IT报道 微软无奈下调Vista销售预期 XP仍是主角
    普通IT报道 佳能MP160售价仅580元
    推荐IT报道 神舟双核液晶电脑3999起
    推荐IT报道 4999元玩Vista 七喜12寸轻薄本升级
    关于公司 | 免责声明 | 广告服务 | 招贤纳士 | 联系我们 | 友情链接 1 2 3
    Copyright©2005 - 2007  http://www.PC106.com  All Right Reserved   
    桂ICP备06015569号

    技术咨询
    22097366
    10231086
    30636841
    技术交流群
    27717914