GUI(三)一个菜单的程序 

转载 2006年06月25日 21:16:00

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
class Aa
{ public static void main(String[] args)
  { final JFrame f=new JFrame("aa"); //JFrame的默认布局管理器是BorderLayout()
    f.setSize(600,400);
    f.setLocation(100,100);
   
    final JTextArea tf=new JTextArea(); //增加一个文本域,将下面打开的文件,读进去
                                   
    JScrollPane scrollPane=new JScrollPane(tf,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
                                       //给文本框加上滚动条
    f.add(scrollPane,"Center"); //把带滚动条的文本框加到JFrame上
     
    f.addWindowListener(new WindowAdapter(){
       public void windowClosing(WindowEvent e)
       { System.exit(0);
       }
   });


  
   
   JMenuBar mb=new JMenuBar();
  
   JMenu m1=new JMenu("File");
   JMenu m2=new JMenu("Edit");
  
   JMenuItem mi1=new JMenuItem("New");
   JMenuItem mi2=new JMenuItem("Open");
       mi2.addActionListener(new ActionListener(){  //点Open时,设置一个打开对话框
         public void actionPerformed(ActionEvent e)
         { FileDialog fd=new FileDialog(f,"Open File Dialog",FileDialog.LOAD);
           fd.setVisible(true);
          
           String strFile=fd.getDirectory()+fd.getFile();
           if(strFile!=null)
           { try{
               FileInputStream fis=new FileInputStream(strFile);
               StringBuffer s=new StringBuffer();
               int c;
               while((c=fis.read())!=-1)
               { s=s.append((char)c);
               }
               byte b[]=s.toString().getBytes("iso8859-1");
              
               tf.append(new String(b));
               fis.close();
             }
             catch(Exception ex)
             { ex.printStackTrace();
             }
           }
         }  
       });
   JMenuItem mi3=new JMenuItem("Save");
   JMenuItem mi4=new JMenuItem("Exit");
       mi4.addActionListener(new ActionListener(){  //设置Exit的监听器,当点Exit时退出
         public void actionPerformed(ActionEvent e)
         { System.exit(0);
         }  
       });
   JMenuItem mi5=new JMenuItem("Copy");
   JMenuItem mi6=new JMenuItem("Paste");
  
   m1.add(mi1);
   m1.add(mi2);
   m1.add(mi3);
   m1.add(mi4);
   m2.add(mi5);
   m2.add(mi6);
   mb.add(m1);
   mb.add(m2);
  
  
  
   f.setJMenuBar(mb); //setMenuBar()用于设置菜单栏
   f.setVisible(true);
  
 }
}

 

---------------------------------------------------------------------------------------------------------------------------------

Component 一个组件类,是所有java的图形界面组件的抽象基类它派生的有Container容器类
          一个容器对象是可以容纳其它组件的组件
          Container派生一个类Window窗口类,Window派生一个Frame框架窗口

经验:在用JBuilder时,如果工程目录有空格,编译时经常出现一些问题


//在awt包中修改按钮上的内容
btn.addActinListener(new ActionListener){
   public void actionPerformed(ActionEvent e)
   { ((Button)e.getSource()).setLabel("aa");  //getSource()方法,可以获得事件原
   }
}


菜单
菜单栏的类MenuBar
菜单的类Menu
菜单项的类MenuItem

创建文件对话框用类 FileDialog
    FileDialog(Frame parent) //Frame parent为对话框的父框架
  FileDialog(Frame parent,String title)
    FileDialog(Frame parent,String title,int mode) //mode 为FileDialog.LOAD为打开对话框,
                                                     为FileDialog.SAVA是保存对话框
         也可以调用setMode()设置对话框是打开对话框,还是关闭对话框     
                 在FileDialog有一个方法getFile()获取打开的文件名
                           还有一个方法getDirectory()返回当前文件所在目录
   Choice 下拉列表框

 JFrame 的方法 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) 设置缺省的关闭操作
                 static int EXIT_ON_CLOSE  退出应用程序后的默认窗口关闭操作。 
  
           JFrame jf=new JFrame("aaa");
           jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


           
import java.awt.*;
import java.awt.event.*;
class aa
{ public static void main(String[] args)
  { Frame f=new Frame("aa")
    f.setSize(600,400);
    f.setLocation(100,100);
    f.addWindowListener(new WindowAdapter(){
       public void windowClosing(WindowEvent e)
       { System.exit(0);
       }
   });

   MenuBar mb=new MenuBar();
   Menu m1=new Menu("File");
   Menu m2=new Menu("Edit");
   MenuItem mi1=new MenuItem("New");
   MenuItem mi2=new MenuItem("Open");
   MenuItem mi3=new MenuItem("Save");
   MenuItem mi4=new MenuItem("Exit");
   MenuItem mi5=new MenuItem("Copy");
   MenuItem mi6=new MenuItem("Paste");
  
   m1.add(mi1);
   m1.add(mi2);
   m1.add(mi3);
   m1.add(mi4);
   m2.add(mi5);
   m2.add(mi6);
   mb.add(m1);
   mb.add(m2);
  
   f.setMenuBar(mb); //setMenuBar()用于设置菜单栏
   f.setVisible(True);
 }
}

 


相关文章推荐

MATLAB GUI设计之弹出式菜单的使用

弹出式菜单在MATLAB GUI设计中常常出现。比如串口助手、绘制图形等经常见到弹出式菜单如下图所示: 使用方法: 一、准备工作1、从MATLAB GUIDE中拖出一个弹出式菜单 2...

用Eclipse和wxpython搭建一个Python Gui程序开发环境

http://blog.sina.com.cn/s/blog_87aa09da0100wffq.html 用Eclipse和wxpython搭建一个Python Gui程序开发环...
  • wzm112
  • wzm112
  • 2012年06月23日 17:01
  • 3182

用python一个融合gui的聊天小程序

服务端: server:-- coding:utf-8 --from Tkinter import * import socket; import threading import time ...

给你的gui程序添加一个彩色的控制台

cConsole.h #pragma once class cConsole { private: CONSOLE_SCREEN_BUFFER_INFO m_info; ...

一个简单的matlab图形界面程序GUI

function varargout = showGUI(varargin) % SHOWGUI MATLAB code for showGUI.fig % SHOWGUI, by itse...

Java图形用户界面(GUI)工具包swing来写一个简单的留言板程序(不带数据库)

Java图形用户界面(GUI)工具包swing来写一个简单的留言板程序(不带数据库)package demo2; import java.awt.BorderLayout; import javax....

GitGUI:一个基于pyFormUI的git GUI程序

GitGUI:一个基于pyFormUI的git GUI程序 GitGUI 是一个pyFormUI demo, 目前功能还不全,不过提供了一些实用但其它git gui没提供的功能。可以作为qgit,g...
  • tclswd3
  • tclswd3
  • 2017年03月11日 12:24
  • 94

-一个简单的windows GUI应用程序

一个简单的windows GUI应用程序: 代码下载(VS2008):     #include // 编写Windows程序必须包含的头文件 LRESULT CALLBACK...

一个简单的matlab图形界面程序GUI

  • 2013年06月10日 10:54
  • 582KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GUI(三)一个菜单的程序 
举报原因:
原因补充:

(最多只允许输入30个字)