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=0i<jb.lengthi++){
jb[i]=new JButton(Integer.toString(i))//创建按键的名字,Integer型的名字为i的字符串
if((i>=0&&i<=9)||(i>=90&&i<=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)//表明以上创建的所有窗体、按键等组件都是可见
}
}
JMenuBar menubar1= new JMenuBar()//创建菜单栏
JMenu menu1= new JMenu("文件")//创建菜单栏的条目
JMenuItem item1= new JMenuItem("打开")
JMenuItem item2= new JMenuItem("保存")
menubar1.add(menu1)
menu1.add(item1)
menu1.add(item2)
frame.setJMenuBar(menubar1)//把菜单栏放在顶层容器
import java.awt.*import javax.swing.*
public class ErjiMenu extends JFrame
{
JPanel jp=new JPanel()
JMenuBar menubar=new JMenuBar()
JMenu m1=new JMenu("菜单")
JMenu m2=new JMenu("菜单")
JMenuItem item1=new JMenuItem("菜单项")
JMenuItem item2=new JMenuItem("菜单项1")
JMenuItem item3=new JMenuItem("菜单项2")
public ErjiMenu()
{
jp.setLayout(new BorderLayout())
m2.add(item2) //m2添加菜单项。
m2.add(item3)
m1.add(item1)
m1.add(m2) //m1把m2添加进去,作为二级菜单.
menubar.add(m1)
jp.add(menubar,BorderLayout.NORTH)
this.add(jp)
this.setBounds(100,100,380,200)
this.setVisible(true)
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
}
public static void main(String[] args)
{
new ErjiMenu()
}
}
不用JPopupMenu,更简单。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)