日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GUI(三)一个菜单的程序

發(fā)布時(shí)間:2025/7/14 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GUI(三)一个菜单的程序 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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的默認(rèn)布局管理器是BorderLayout()
??? f.setSize(600,400);
??? f.setLocation(100,100);
???
??? final JTextArea tf=new JTextArea(); //增加一個(gè)文本域,將下面打開的文件,讀進(jìn)去
???????????????????????????????????
??? JScrollPane scrollPane=new JScrollPane(tf,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
?????????????????????????????????????? //給文本框加上滾動(dòng)條
??? f.add(scrollPane,"Center"); //把帶滾動(dòng)條的文本框加到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(){? //點(diǎn)Open時(shí),設(shè)置一個(gè)打開對話框
???????? 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(){? //設(shè)置Exit的監(jiān)聽器,當(dāng)點(diǎn)Exit時(shí)退出
???????? 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()用于設(shè)置菜單欄
?? f.setVisible(true);
??
?}
}

?

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

Component 一個(gè)組件類,是所有java的圖形界面組件的抽象基類它派生的有Container容器類
????????? 一個(gè)容器對象是可以容納其它組件的組件
????????? Container派生一個(gè)類Window窗口類,Window派生一個(gè)Frame框架窗口

經(jīng)驗(yàn):在用JBuilder時(shí),如果工程目錄有空格,編譯時(shí)經(jīng)常出現(xiàn)一些問題


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


菜單
菜單欄的類MenuBar
菜單的類Menu
菜單項(xiàng)的類MenuItem

創(chuàng)建文件對話框用類 FileDialog
??? FileDialog(Frame parent) //Frame parent為對話框的父框架
  FileDialog(Frame parent,String title)
??? FileDialog(Frame parent,String title,int mode) //mode 為FileDialog.LOAD為打開對話框,
???????????????????????????????????????????????????? 為FileDialog.SAVA是保存對話框
         也可以調(diào)用setMode()設(shè)置對話框是打開對話框,還是關(guān)閉對話框 ????
???????????????? 在FileDialog有一個(gè)方法getFile()獲取打開的文件名
?????????????????????????? 還有一個(gè)方法getDirectory()返回當(dāng)前文件所在目錄
?? Choice 下拉列表框

?JFrame 的方法 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE) 設(shè)置缺省的關(guān)閉操作
???????????????? static int EXIT_ON_CLOSE? 退出應(yīng)用程序后的默認(rèn)窗口關(guān)閉操作。?
??
?????????? 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()用于設(shè)置菜單欄
?? f.setVisible(True);
?}
}

?


總結(jié)

以上是生活随笔為你收集整理的GUI(三)一个菜单的程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。