給你個(gè)小例子,已經(jīng)添加注釋了。自己運(yùn)行下看看效果,滿意的話記得結(jié)貼子!
五華網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)2013年開創(chuàng)至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
import java.awt.BorderLayout;
import java.awt.CheckboxMenuItem;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class TestMenu extends Frame implements ActionListener{
TextArea ta; //文本區(qū)
MenuBar mb; //MenuBar 類封裝綁定到框架的菜單欄的
Menu mnFile,mnEdit,mnFormat,mnHelp; //從菜單欄部署的下拉式菜單組件
MenuItem miNew,miOpen,miSave,miSaveAs,miExit,miFont; //菜單中的所有項(xiàng)必須屬于類 MenuItem 或其子類之一
CheckboxMenuItem miBinary; //一個(gè)可包括在菜單中的復(fù)選框
public TestMenu(){
super("記事本"); //調(diào)用父類構(gòu)造方法
ta = new TextArea("",20,20); //新建文本區(qū),第一個(gè)參數(shù)是默認(rèn)文本,第二個(gè)參數(shù)是行數(shù),第三個(gè)是列數(shù)
/*
* BorderLayout邊框布局
* 添加文本區(qū)到Frame,BorderLayout.CENTER是居中位置
* */
add(ta,BorderLayout.CENTER);
mb = new MenuBar(); //創(chuàng)建菜單欄對(duì)象
/*
* 創(chuàng)建菜單,指定菜單名
* */
mnFile= new Menu("文件");
mnEdit= new Menu("編輯");
mnFormat= new Menu("格式");
mnHelp= new Menu("幫助");
/*
* 創(chuàng)建子菜單,并指定名稱
* */
miNew= new MenuItem("新建");
miOpen= new MenuItem("打開");
miSave= new MenuItem("保存");
miSaveAs= new MenuItem("另存為");
miExit= new MenuItem("退出");
miExit.addActionListener(this); //為退出菜單添加監(jiān)聽(tīng)
/*
* 添加上面創(chuàng)建的子菜單到文件菜單下
* */
mnFile.add(miNew);
mnFile.add(miOpen);
mnFile.add(miSave);
mnFile.add(miSaveAs);
mnFile.addSeparator(); //將一個(gè)分隔線或連字符添加到菜單的當(dāng)前位置
mnFile.add(miExit);
miBinary= new CheckboxMenuItem("二進(jìn)制"); //創(chuàng)建在復(fù)選框的子菜單
miFont= new MenuItem("字體"); //創(chuàng)建子菜單
/*
* 添加miBinary、miFont兩個(gè)子菜單到mnFormat(格式)下
* */
mnFormat.add(miBinary);
mnFormat.add(miFont);
/*
* 將文件、編輯、格式、幫助添加到菜單欄
* */
mb.add(mnFile);
mb.add(mnEdit);
mb.add(mnFormat);
mb.add(mnHelp);
setMenuBar(mb); //添加菜單欄到Frame
/*
* 關(guān)閉窗口時(shí),關(guān)閉運(yùn)行成語(yǔ)
* */
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public static void main(String args[]){
TestMenu tm=new TestMenu();
tm.setSize(300,200); //設(shè)置窗體的寬、高
tm.setLocation(300,100); //將組件移到新位置Component類方法
tm.setVisible(true); //設(shè)置顯示窗體,true為顯示,false為隱藏
}
/**
* 監(jiān)聽(tīng)事件,實(shí)現(xiàn)ActionListener接口的actionPerformed方法
*/
public void actionPerformed(ActionEvent e){
String s = e.getActionCommand(); //獲取選中菜單的名稱
System.out.println(s);
if(s.equals("退出")){
System.exit(0); //停止運(yùn)行程序
}
}
}
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.MenuShortcut;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;public class Test_11 extends Frame implements ActionListener{ /**
* @param args
*/
MenuBar mb = null;
Menu m = null;
MenuItem mi = null; public Test_11() {
this.setBounds(100, 100, 400, 300);
this.setVisible(true);
mb = new MenuBar();
m = new Menu("文件");
mi = new MenuItem("打開");
mi.setShortcut(new MenuShortcut(KeyEvent.VK_O));
m.add(mi);
mb.add(m);
setMenuBar(mb);
mi.addActionListener(this);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
} public static void main(String[] args) {
// TODO Auto-generated method stub
new Test_11();
} @Override
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MyMenu extends JFrame{
JMenuBar jmbar=new JMenuBar();
JMenu jmenu=new JMenu("顏色");
JMenuItem jmt1=new JMenuItem("紅色"),
jmt2=new JMenuItem("黃色"),
jmt3=new JMenuItem("藍(lán)色");
JPanel jp=new JPanel();
MyMenu(){
setTitle("菜單測(cè)試");
setSize(400,300);
setJMenuBar(jmbar);
jmbar.add(jmenu);
jmenu.add(jmt1);
jmenu.add(jmt2);
jmenu.add(jmt3);
add(jp);
jmt1.addActionListener(new MenuAction(this));
jmt2.addActionListener(new MenuAction(this));
jmt3.addActionListener(new MenuAction(this));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new MyMenu();
}
}
class MenuAction implements ActionListener{
MyMenu m;
MenuAction(MyMenu m){
this.m=m;
}
public void actionPerformed(ActionEvent e){
String color=e.getActionCommand();
if(color=="紅色")m.jp.setBackground(Color.red);
else if(color=="黃色")m.jp.setBackground(Color.yellow);
else if(color=="藍(lán)色")m.jp.setBackground(Color.blue);
}
}
不知道你要什么事件代碼,我寫了個(gè)比較簡(jiǎn)單的你看適合不。
分享名稱:java開發(fā)菜單源代碼 java菜單怎么寫
網(wǎng)頁(yè)網(wǎng)址:http://muchs.cn/article14/dohccge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、響應(yīng)式網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、App設(shè)計(jì)、靜態(tài)網(wǎng)站、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)