扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
试试这样行不?
目前成都创新互联已为近1000家的企业提供了网站建设、域名、网站空间、网站托管、企业网站设计、藤县网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
public class Mazelp {/*extends JFrame*/ //implements ActionListener{
private static final int wid = 10;
private static final int hei = 10;
JFrame jf;
JButton jb1,jb2;
JButton jb[];
JPanel p1,p2;
private Stack stack = new Stack();//Stack 类表示后进先出(LIFO)的对象堆栈。
MenuBar menu;
Menu file;
MenuItem closeMenu;
public Mazelp() {
jf=new JFrame("迷宫");//申请内存空间设置标题
jf.setBounds(300,240,500,500); //调整迷宫出现的位置(300,240)及大小(500,500)
jf.setResizable(false);//窗体不可拉伸
menu = new MenuBar();//设置菜单条
file = new Menu("文件");//设置菜单栏
closeMenu = new MenuItem("关闭");//设置菜单项
//closeMenu.addActionListener(this);//添加监听对菜单项
p1=new JPanel();
//jf.add(menu);
jf.setMenuBar(menu);
menu.add(file);//将菜单栏添加到菜单条上
file.add(closeMenu);//将菜单项添加到菜单栏
jf.getContentPane().add(p1);
p1.setLayout(new GridLayout(10,10)); //p1用网格布局,10行10列
jb=new JButton[100];//作为迷宫的墙和路
for(int i=0;ijb.length;i++){
jb[i]=new JButton(Integer.toString(i));//创建按键的名字,Integer型的名字为i的字符串
if((i=0i=9)||(i=90i=99)||i%10==0||i%10==9||i==13||i==17||i==23||i==27||i==35||i==36||i==42||i==43||i==44||i==54||i==62||i==66||i==72||i==73||i==74||i==76||i==77||i==81){
jb[i].setBackground(Color.red);//将墙涂色
}
else {
jb[i].setBackground(Color.yellow);
}
jb[i].setSize(10,10);
p1.add(jb[i]);
jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE); //声明点“X”图标后结束窗体所在的应用程序
jf.setVisible(true); //表明以上创建的所有窗体、按键等组件都是可见
}
}
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);
}}
以windows系统中的记事本为例,菜单栏中的【文件】,【编辑】等全部叫一个菜单条;在Java中用JMenuBar表示;
菜单条中每一个具体的项叫做一个菜单,在Java中用JMenu表示;
菜单中的每一项叫做菜单项,Java中用JMenuItem表示;
我们在窗体中创建菜单栏,首先需要创建菜单条,先声明,然后在构造方法中初始化;代码为:JMenuBar bar = new JMenuBar();
然后创建菜单,也菜单条一样,也是先声明,再new;代码为:JMenu menu = new JMenu("文件");
接下来创建菜单项,和上面的一样,先声明,再new;代码为:JMenuItem item = new JMenuItem("新建");
创建好每一个部分之后,我们需要将菜单项添加到菜单中,然后将菜单添加到菜单条中;代码为:
menu.add(item);
bar.add(menu);
然后将整个菜单条添加到窗体中,代码为:
this.setJMenuBar(bar);
这样就可以实现在窗体中添加菜单条了,看一下效果吧。
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);
}
}
不知道你要什么事件代码,我写了个比较简单的你看适合不。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流