java-awt


GUI :
 java对图形界面编程提供额多个组件都存放在AWT和Swing包中.
 awt:不跨平台,显示样式和颜色依赖平台.
 Swing:跨平台的.

 awt:Component:
   |--Button
   |--Label
   |--Checkbox
   |--TextComponent
    |--TextField
    |--TextArea
   |--Container(容器,可以存放组件的组件)
    |--Window
     |--Frame
     |--Dialog
      |--FileDialog
     |--Panel

双击jar文件直接显示图形化界面:
1、定义一个配置文件:格式:Main-Class:空格包名.主类名回车
2、命令:jar -cvfm demo.jar demo.txt demopack
3、用winrar查看是否已经增加了对执行类的配置。
4、文件夹选项设置打开的关联文件:bin\javaw.ext -jar

//package mywin;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
class MyWindowDemo
{
 public static void main(String[] args)
 {
  new MyWindow();
 }
}

class MyWindow
{
 //文件浏览
 private Frame f;
 private Button b;
 private TextField tf;
 private TextArea ta;
 //记事本.
 private MenuBar mb;
 private Menu fileMenu;
 private MenuItem openItem;
 private MenuItem saveItem;
 private MenuItem closeItem;
    private File saveFile;
 
 MyWindow()
 {
  initial();
  myEvent();
  
  f.setVisible(true);
 }

 //初始化
 private void initial()
 {
  f = new Frame("测试窗口");
  f.setBounds(300, 200, 475, 420);
  f.setLayout(new FlowLayout());

  b = new Button("转到");
  tf = new TextField(53);

  ta = new TextArea(20, 60);

  //菜单.
  mb = new MenuBar();
  fileMenu = new Menu("文件");
  openItem = new MenuItem("打开");
  saveItem = new MenuItem("保存");
  closeItem = new MenuItem("关闭");
  
  fileMenu.add(openItem);
  fileMenu.add(saveItem);
  fileMenu.add(closeItem);
  mb.add(fileMenu);

  f.setMenuBar(mb);
  f.add(tf);
  f.add(b);
  f.add(ta);
 }

 private void myEvent()
 {
  //窗口事件监听.
  f.addWindowListener(new WindowAdapter()
  {
   public void windowClosing(WindowEvent e)
   {
    System.exit(0);
   }
  });
  
  //按钮事件监听
  b.addActionListener(new ActionListener()
  {
   public void actionPerformed(ActionEvent e)
   {
    //扫描路径下的所有文件和文件夹并列举出来.
    String path = tf.getText();
    File dir = new File(path);
    if (dir.exists() && dir.isDirectory())
    {
     ta.setText(null);
     String [] list = dir.list();
     for (String s : list)
     {
      ta.append(s + "\r\n");
     }
    }
   }
  });

  //打开菜单事件监听.
  openItem.addActionListener(new ActionListener()
  {
   public void actionPerformed(ActionEvent e)
   {
    FileDialog openDlg = new FileDialog(f, "打开文件", FileDialog.LOAD);
    openDlg.setVisible(true);

    String dirName  = openDlg.getDirectory();
    String fileName = openDlg.getFile();    
    
    //System.out.println(dirName + ":" + fileName);
    if (dirName == null && fileName == null)
    {
     return ;
    }
    
    ta.setText(null);
    BufferedReader bufr = null;
    try
    {
     saveFile = new File(dirName, fileName);
     bufr = new BufferedReader(new FileReader(saveFile));  //一打开就初始化文件.

     String line = null;
     while ((line = bufr.readLine()) != null)
     {
      ta.append(line+"\r\n");      
     }
    }
    catch (IOException ex)
    {
     System.out.println(ex.toString());
    }
    finally
    {
     try
     {
      bufr.close();
     }
     catch (Exception ex1)
     {
      System.out.println(ex1.toString());
         
    }
    
   }
  });

  //保存菜单事件监听.
  saveItem.addActionListener(new ActionListener()
  {
   public void actionPerformed(ActionEvent e)
   {
    FileDialog saveDlg = new FileDialog(f, "保存文件", FileDialog.SAVE);
    if (saveFile == null)
    {
     saveDlg.setVisible(true);
     String dirName  = saveDlg.getDirectory();
     String fileName = saveDlg.getFile();

     saveFile = new File(dirName, fileName);
     //System.out.println(dirName + ":" + fileName);
     if (dirName == null && fileName == null)
     {
      return ;      
     }
       
    
    BufferedWriter bufw = null;
    try
        
     bufw = new BufferedWriter(new FileWriter(saveFile));
     String text = ta.getText();
     System.out.println(text);
     bufw.write(text);
    }
    catch (IOException ex)
    {
     System.out.println(ex.toString());
    }
    finally
    {
     try
     {
      bufw.close();
     }
     catch (Exception ex1)
     {
      System.out.println(ex1.toString());
         
    }
    
   }
  });

  //关闭菜单事件监听.
  closeItem.addActionListener(new ActionListener()
  {
   public void actionPerformed(ActionEvent e)
   {
    System.exit(0);
   }
  });
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值