java添加菜单条和按钮

java添加菜单条和按钮,第1张

试试这样行不?

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("迷宫");//申请内存空间设置标题

jfsetBounds(300,240,500,500); //调整迷宫出现的位置(300,240)及大小(500,500)

jfsetResizable(false);//窗体不可拉伸

menu = new MenuBar();//设置菜单

file = new Menu("文件");//设置菜单栏

closeMenu = new MenuItem("关闭");//设置菜单项

//closeMenuaddActionListener(this);//添加监听对菜单项

p1=new JPanel();

//jfadd(menu);

jfsetMenuBar(menu);

menuadd(file);//将菜单栏添加到菜单条上

fileadd(closeMenu);//将菜单项添加到菜单栏

jfgetContentPane()add(p1);

p1setLayout(new GridLayout(10,10)); //p1用网格布局,10行10列

jb=new JButton[100];//作为迷宫的墙和路

for(int i=0;i<jblength;i++){

jb[i]=new JButton(IntegertoString(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(Colorred);//将墙涂色

}

else {

jb[i]setBackground(Coloryellow);

}

jb[i]setSize(10,10);

p1add(jb[i]);

jfsetDefaultCloseOperation(jfEXIT_ON_CLOSE); //声明点“X”图标后结束窗体所在的应用程序

jfsetVisible(true); //表明以上创建的所有窗体、按键等组件都是可见

}

}

1<item>标签的属性含义如下:

Id:表示菜单项的资源ID

menuCategory:同种菜单项的种类。该属性可取4个值:container、system、secondary和alternative。通过menuCategroy属性可以控制菜单项的位置。例如将属性设为system,表示该菜单项是系统菜单,应放在其他种类菜单项的后面。

orderInCategor:同种类菜单的排列顺序。该属性需要设置一个整数值。例如menuCategory属性值都为system的3个菜单项(item1、item2和item3)。将这3个菜单项的orderInCategory属性值设为3、2、1,那么item3会显示在最前面,而item1会显示在最后面。

title:菜单项标题(菜单项显示的文本)

titleCondensed:菜单项的短标题。当菜单项标题太长时会显示该属性值

icon:菜单项图标资源ID

alphabeticShortcut:菜单项的字母快捷键

numericShortcut:菜单项的数字快捷键

checkable:表示菜单项是否带复选框。该属性可设计为true或false

checked:如果菜单项带复选框(checkable属性为true),该属性表示复选框默认状态是否被选中。可设置的值为true或false

visible:菜单项默认状态是否可视

enable:菜单项默认状态是否被激活

2<group>标签的属性含义如下:

id:表示菜单组的ID

menuCategory:与<item>标签的同名属性含义相同。只是作用域为菜单组

orderInCategory:与<item>标签的同名属性含义相同。只是作用域为菜单组

checkableBehavior:设置该组所有菜单项上显示的选择组件(CheckBox或Radio Button)。如果将该属性值设为all,显示CheckBox组件;如果设为single,显示Radio Button组件;如果设为none,显示正常的菜单项(不显示任何选择组件)。要注意的是,Android SDK官方文档在解释该属性时有一个笔误,原文是:

Whether the items are checkable Valid values: none, all(exclusive/radiobuttons), single(non-exclusive/checkboxes)

相反了,正确应该是

all(non-exclusive/checkboxes),single(exclusive/radiobuttons)

visible:表示当前组中所有菜单项是否显示。该属性可设置的值是true或false

enable:表示当前组中所有菜单项是否被激活。该属性可设置的值是true或false

3具体使用

在代码中使用

public boolenonCreateOptionsMenu(Menu menu){

MenuInflatemenuInflate = getMenuInflate();

menuInflateinflate(Rmenuoption_menu,menu);

returntrue;

}

二、使用代码定义Menu

public boolean onCreateOptionsMenu(Menu menu){

// 方法一,用代码构建

menuadd(MenuNONE, MenuNONE, 1, "菜单1");

menuadd(MenuNONE, MenuNONE, 2, "菜单2");

menuadd(MenuNONE, MenuNONE, 3, "菜单3");

menuadd(MenuNONE, MenuNONE, 4, "菜单4");

menuadd(MenuNONE, MenuNONE, 5, "菜单5");

menuadd(MenuNONE, MenuNONE, 6, "菜单6");

return true;

}

三、菜单响应

重写onOptionsItemSelected(MenuItem item)这个方法就可以做响应的 *** 作了。

四、实例

res/menu下的activity_mainxml文件

以上就是关于java添加菜单条和按钮全部的内容,包括:java添加菜单条和按钮、android studio menu怎么用、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10174084.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存