#include iostream
創新互聯公司總部坐落于成都市區,致力網站建設服務有網站設計、成都網站設計、網絡營銷策劃、網頁設計、網站維護、公眾號搭建、成都小程序開發、軟件開發等為企業提供一整套的信息化建設解決方案。創造真正意義上的網站建設,為互聯網品牌在互動行銷領域創造價值而不懈努力!
#include string //C++磁盤操作頭文件
#include istream
#include fstream
#include iomanip//自定義輸出寬度
using namespace std;
struct Book //結構類型
{
string bookname;//書名
string author;//作者名
Book *next;
};
class BookList
{
public:
BookList(){first=new Book;first-next=NULL;}
int NewBook();
void SOldBook();
void testread();
void testwrite();
void DisplayBook();
~BookList();
private:
Book *first;
int j;
};
int BookList::NewBook()
{
Book *s;s=new Book; //為插入的新書申請結點
Book *q;q=new Book;
Book *p;p=new Book;
cout"輸入新書書名:";
cins-bookname;
cout"輸入作者:";
cins-author;
p=first;q=first; //建立鏈表
if(first-next==NULL)//如果原鏈表為空,把新書的結點插入到鏈表中
{
first-next=s; //頭插法
s-next=NULL;
}
else{
while(p-next-booknames-bookname)//按書名排序插入
{
p=p-next;
if(p-next==NULL)break;
}
s-next=p-next;
p-next=s;
}
return 1;
}
void BookList::SOldBook() //查詢
{
Book *s;s=new Book;
Book *p;p=new Book;
cout"輸入你要查詢的書名:";
cins-bookname;
p=first-next;
while(p-bookname!=s-bookname)
{
p=p-next;//接著查找下一個結點
if(p==NULL)break;
}
if(p==NULL)
cout"你所查詢的書沒找到!"endl;
else
cout"找到:《"p-bookname"》 "p-authorendl;
}
void BookList::testread()
{
ifstream in;j=0;//讀出文件流
in.open("BookList.txt",ios::in);//以讀的形式打開原文件
if(!in)
{
cerr"錯誤!不能打開文件!";
exit(1);
}
Book *q;q=new Book;
Book *p;p=new Book;
p=first;
cout"從BookList.txt中讀出已有圖書如下:"endl;
while(!in.eof())//判斷文件是否為空
{
inq-booknameq-author;//從文件里面讀到鏈表
coutq-bookname" "q-authorendl;
j++;
p-next=q;
p=q;
q-next=new Book;
q=q-next;
}
p-next=NULL;
cout"共有圖書"j"本"endlendl;
in.close();
}
void BookList::DisplayBook()
{
j=0;
cout"本館現有書籍有:"endl;
Book *p;p=new Book;
p=first-next;
while(p!=NULL) //輸出鏈表中的元素
{
coutp-bookname" "p-authorendl;
p=p-next;
j++;
}
cout"共有圖書"j"本"endl;
}
void BookList::testwrite()
{
ofstream out; //寫入文件流
out.open("BookList.txt",ios::out);
if(!out)
{
cerr"錯誤!不能打開文件!";
exit(1);
}
Book *p;p=new Book;
for(p=first-next;p!=NULL;p=p-next)
{
outp-bookname'\t'p-authorendl; //把鏈表中的元素寫到文件中
}
out.close();
}
BookList::~BookList() //析構函數
{
Book *p;p=new Book;
Book *q;q=new Book;
p=first-next;
while(p)
{
q=p;
p=p-next;
delete q;
}
}
void main()
{
char s;
int i,k,count=0;
BookList L; //定義對象
L.testread(); //把文件中的內容讀到鏈表中
while(1)
{
char *menu[]={"輸入新書","查詢舊書","顯示所有圖書","退出",""}; //字符串指針數組
for(i=0;menu[i][0]!='\0';i++)
couti+1"、 "menu[i]endl;
cink;
switch(k)
{
case 1:count=L.NewBook();break;
case 2:L.SOldBook();break;
case 3:L.DisplayBook();break;
default:if(k!=4)cout"輸入錯誤!"endl;break;
}
if(k==4)
{ if(count)
{ cout"修改后的BookList.txt未保存,是否保存?(y/n):";
cins;
if(s=='y')
L.testwrite();
}
break;
}
}
}
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);
}}
希望有用吧
package mm;
import java.io.*;
import java.awt.*;
import javax.swing.*;
public class HelloWorld {
public static void main(String[] args){
JFrame w=new JFrame("SKH");
Container con=w.getContentPane();
//Color
con.setBackground(Color.pink);
//Location
w.setBounds(60, 100, 388, 308);
//可見性
w.setVisible(true);
//單擊右上角容器的行為
w.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//創建菜單項
JMenuBar menubar=new JMenuBar();
JMenu menu,submenu;
JMenuItem a,b;
menu=new JMenu("菜單");
submenu=new JMenu("子菜單");
a=new JMenuItem("菜單項1");
b=new JMenuItem("菜單項2");
menu.add(a);
//添加分割符;
menu.addSeparator();
menu.add(b);
menu.addSeparator();
menu.add(submenu);
submenu.add(new JMenuItem("QWQ"));
menubar.add(menu);
w.setJMenuBar(menubar);
}
}
public static void main ( String args[])
{
new MenuTest().setVisible(true);
}
}
不要寫在另一個方法內。
另外,是這個名稱的
PopupMenu pop;
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("藍色");
JPanel jp=new JPanel();
MyMenu(){
setTitle("菜單測試");
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=="藍色")m.jp.setBackground(Color.blue);
}
}
不知道你要什么事件代碼,我寫了個比較簡單的你看適合不。
給你個小例子,已經添加注釋了。自己運行下看看效果,滿意的話記得結貼子!
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; //文本區
MenuBar mb; //MenuBar 類封裝綁定到框架的菜單欄的
Menu mnFile,mnEdit,mnFormat,mnHelp; //從菜單欄部署的下拉式菜單組件
MenuItem miNew,miOpen,miSave,miSaveAs,miExit,miFont; //菜單中的所有項必須屬于類 MenuItem 或其子類之一
CheckboxMenuItem miBinary; //一個可包括在菜單中的復選框
public TestMenu(){
super("記事本"); //調用父類構造方法
ta = new TextArea("",20,20); //新建文本區,第一個參數是默認文本,第二個參數是行數,第三個是列數
/*
* BorderLayout邊框布局
* 添加文本區到Frame,BorderLayout.CENTER是居中位置
* */
add(ta,BorderLayout.CENTER);
mb = new MenuBar(); //創建菜單欄對象
/*
* 創建菜單,指定菜單名
* */
mnFile= new Menu("文件");
mnEdit= new Menu("編輯");
mnFormat= new Menu("格式");
mnHelp= new Menu("幫助");
/*
* 創建子菜單,并指定名稱
* */
miNew= new MenuItem("新建");
miOpen= new MenuItem("打開");
miSave= new MenuItem("保存");
miSaveAs= new MenuItem("另存為");
miExit= new MenuItem("退出");
miExit.addActionListener(this); //為退出菜單添加監聽
/*
* 添加上面創建的子菜單到文件菜單下
* */
mnFile.add(miNew);
mnFile.add(miOpen);
mnFile.add(miSave);
mnFile.add(miSaveAs);
mnFile.addSeparator(); //將一個分隔線或連字符添加到菜單的當前位置
mnFile.add(miExit);
miBinary= new CheckboxMenuItem("二進制"); //創建在復選框的子菜單
miFont= new MenuItem("字體"); //創建子菜單
/*
* 添加miBinary、miFont兩個子菜單到mnFormat(格式)下
* */
mnFormat.add(miBinary);
mnFormat.add(miFont);
/*
* 將文件、編輯、格式、幫助添加到菜單欄
* */
mb.add(mnFile);
mb.add(mnEdit);
mb.add(mnFormat);
mb.add(mnHelp);
setMenuBar(mb); //添加菜單欄到Frame
/*
* 關閉窗口時,關閉運行成語
* */
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); //設置窗體的寬、高
tm.setLocation(300,100); //將組件移到新位置Component類方法
tm.setVisible(true); //設置顯示窗體,true為顯示,false為隱藏
}
/**
* 監聽事件,實現ActionListener接口的actionPerformed方法
*/
public void actionPerformed(ActionEvent e){
String s = e.getActionCommand(); //獲取選中菜單的名稱
System.out.println(s);
if(s.equals("退出")){
System.exit(0); //停止運行程序
}
}
}
新聞名稱:java主菜單代碼,java主界面代碼
網頁URL:http://vcdvsql.cn/article32/hecesc.html
成都網站建設公司_創新互聯,為您提供軟件開發、網站設計公司、自適應網站、移動網站建設、網站收錄、定制網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯