barriers / 阅读 / 详情

swt如何编写菜单项

2023-08-15 21:29:54
TAG: swt sw wt 编写
共1条回复
S笔记

package com.swtdesinger;

import org.eclipse.jface.dialogs.MessageDialog;

import org.eclipse.swt.SWT;

import org.eclipse.swt.events.SelectionAdapter;

import org.eclipse.swt.events.SelectionEvent;

import org.eclipse.swt.graphics.Image;

import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Menu;

import org.eclipse.swt.widgets.MenuItem;

import org.eclipse.swt.widgets.Shell;

public class Menu1 {

public static void main(String[] args) {

final Display display = Display.getDefault();

final Shell shell = new Shell();

shell.setSize(327, 253);

// ---------创建窗口中的其他界面组件-------------

// 创建主菜单:文件、帮助

Menu mainMenu = new Menu(shell, SWT.BAR);

shell.setMenuBar(mainMenu);

// Menu mainMenu = new Menu(shell, SWT.POP_UP); //右键弹出式菜单

// shell.setMenu(mainMenu);

MenuItem fileItem = new MenuItem(mainMenu, SWT.CASCADE);

fileItem.setText("文件(&F)");

MenuItem helpItem = new MenuItem(mainMenu, SWT.CASCADE);

helpItem.setText("帮助(&H)");

// 创建“文件”菜单下的子菜单:新建、退出

Menu fileMenu = new Menu(shell, SWT.DROP_DOWN);

fileItem.setMenu(fileMenu);

final MenuItem newFileItem = new MenuItem(fileMenu, SWT.CASCADE);

newFileItem.setText("新建(&N)");

MenuItem exitItem = new MenuItem(fileMenu, SWT.CASCADE);

exitItem.setText("退出");

exitItem.addSelectionListener(new SelectionAdapter() {

public void widgetSelected(SelectionEvent e) {

newFileItem.setEnabled(false); // 菜单置灰

}

});

// 创建“文本->新建”菜单下的子菜单:项目、包、类、接口、其他

Menu newFileMenu = new Menu(shell, SWT.DROP_DOWN);

newFileItem.setMenu(newFileMenu);

MenuItem newProjectItem = new MenuItem(newFileMenu, SWT.PUSH);

newProjectItem.setText("项目 Ctrl+N");// 相当于Tab键,起到间隔的作用

newProjectItem.setAccelerator(SWT.CTRL + "N");// 定义快捷键Ctrl+N

newProjectItem.setImage(new Image(display, "icons/project.gif"));

// 监听菜单项的选择事件

newProjectItem.addSelectionListener(new SelectionAdapter() {

public void widgetSelected(SelectionEvent e) {

MessageDialog.openInformation(null, "", "选择了新建项目");

}

});

// 建立其他菜单项

new MenuItem(newFileMenu, SWT.SEPARATOR);// 分隔符

new MenuItem(newFileMenu, SWT.CHECK).setText("包");

new MenuItem(newFileMenu, SWT.PUSH).setText("类");

new MenuItem(newFileMenu, SWT.PUSH).setText("接口");

new MenuItem(newFileMenu, SWT.SEPARATOR);

new MenuItem(newFileMenu, SWT.RADIO).setText("其他(&O)");

// -----------------END------------------------

shell.layout();

shell.open();

while (!shell.isDisposed()) {

if (!display.readAndDispatch())

display.sleep();

}

display.dispose();

}

}

你可以照着改成你需要的菜单项即可。

相关推荐

el-menu-item加了点击事件之后无法高亮

关于Element-UI中el-menu,则给其他标签添加点击事件改变 default-active 的值无法使el-menu-item高亮显示的问题因为这是element中两个不相关联的组件,无法通过组件内的方法去实现这个需求。我采用vuex状态机来实现。为三个导航栏绑定点击事件,点击的时候去改变状态机里的state数据。然后再相应的页面里,调用updated狗子函数,当页面更新的时候,从状态机里从新取出showIndex的值。这时候就发现,点击顶部导航栏的时候,对应的内容区侧边栏导航对应的item也高亮了,实现了这个需求。
2023-08-09 13:02:071

el-menu-item属于哪个框架

页面跳转是刷新页面,肯定会回到初始状态,一般是做的内置框架,就是将你的页面设定在一
2023-08-09 13:02:173

el-menu-item默认选中不生效

elmenuitem默认选中不生效步骤:1、路由跳转,NavMenu子菜单没有vif,加刷新。2、路由跳转,NavMenu有些子菜单会加上vif,权限控制时候经常发生,刷新。3、由跳转过来,选中失效。
2023-08-09 13:02:311

android menu 怎么得到item

@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); inflater.inflate(R.menu.myinfo, menu); }@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // 搜索 case R.id.info_search:根据ID
2023-08-09 13:02:401

ASP.NETMenu控件的手动添加菜单项

您可以通过在 Items 属性中指定菜单项的方式向控件添加单个菜单项。Items 属性是 MenuItem 对象的集合。下面的示例演示 Menu 控件的声明性标记,该控件有三个菜单项,每个菜单项有两个子项:<asp:Menu ID=Menu1 runat=server StaticDisplayLevels=3> <Items> <asp:MenuItem Text=File Value=File> <asp:MenuItem Text=New Value=New></asp:MenuItem> <asp:MenuItem Text=Open Value=Open></asp:MenuItem> </asp:MenuItem> <asp:MenuItem Text=Edit Value=Edit> <asp:MenuItem Text=Copy Value=Copy></asp:MenuItem> <asp:MenuItem Text=Paste Value=Paste></asp:MenuItem> </asp:MenuItem> <asp:MenuItem Text=View Value=View> <asp:MenuItem Text=Normal Value=Normal></asp:MenuItem> <asp:MenuItem Text=Preview Value=Preview></asp:MenuItem> </asp:MenuItem> </Items></asp:Menu>用数据绑定的方法将控件绑定到 XML 数据源利用这种将控件绑定到 XML 文件的方法,可以通过编辑此文件来控制菜单的内容,而不需要使用设计器。这样就可以在不重新访问 Menu 控件或编辑任何代码的情况下,更新站点的导航内容。如果站点内容有变化,便可使用 XML 文件来组织内容,再提供给 Menu 控件,以确保网站用户可以访问这些内容。
2023-08-09 13:02:481

用Myeclipse软件生成下拉菜单的代码

这里有一个类似的下拉菜单但样式需要修改一下具体看看里面的教程吧
2023-08-09 13:03:113

C#中如何添加menuitem的Click事件

在设计视图中选中menuitem,然后双击它,进入C#代码中的事件方法,写自己的处理语句.
2023-08-09 13:03:192

Android 中MenuItem 怎么传递参数

应该是可以识别的吧,你定义的result是个成员变量来的,内部类是可以访问外部类的成员变量的啊,除非你的内部类是在一个方法里,而要访问的变量是方法的局部变量。 如果是这样,内部类是只能访问方法中的final变量的,因为如果这个方法栈结束了,result这个变量肯定会消失,可是内部类还可能存在在堆中,因为可能没那么快被回收,这个时候,也就是说它有可能会去访问一个变量result,可是这个变量result却是早已经被清除了的,这是肯定不行的。 所以,要么把result定义成final的。
2023-08-09 13:03:261

menu中的item标签的showAsAction属性可以取哪些值?

您好,(1)在res--menu目录下的main.xml文件。(2)类的文件package com.example.menu_showasaction; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { switch (item.getItemId()) { case R.id.create: Toast.makeText(MainActivity.this, "create...", Toast.LENGTH_SHORT); break; default: break; } return super.onMenuItemSelected(featureId, item); } }
2023-08-09 13:03:462

netbeans 中menu与menuItem乱码

贴图是必要的,有时候人们误把字体问题当成乱码问题。显示成问号的是乱码,显示成方框的是当前字体不支持这种字符。那么,如果你的 JRE 本身不是国际版的,它就没有“宋体”这个字体。如果是显示成方框而你又明确地选择使用宋体,那就很可能是你的 JRE 不是国际版。如果是显示成问号,那很可能是你在编译时 (不管手工编译还是通过工具自动编译)使用的命令行参数中的源码字符集不正确,导致编译过程本身就已经把字符转换成了一种不能识别的编码,再转换回来时就不正确对应。在 Eclipse 中我右击选择 Text Editor 时可以从菜单上Set Encoding 修改它的字符集然后再来编辑,另外在 Eclipse 参数或项目属性可以设置编码,以后编译时 Eclipse 会把这个字符集告诉给 JDK 编译器或 Eclipse 内部编译器。Netbeans 应该也有类似的设置,它的目的就是把一个期望的字符传递给编译器。
2023-08-09 13:03:531

android menu怎样设置item的文字

setTitle()就可以了,设置菜单项的文字,如果不是你想要的效果可以看看这个:http://blog.csdn.net/yuzhongchun/article/details/8956256http://www.tuicool.com/articles/iUBZR3U
2023-08-09 13:04:011

ToolStripMenuItem 是什么控件?为什么我的Vs2008工具箱中没有?怎样添加?

ToolStripMenuItem不是一个控件,而是菜单栏控件(MenuStrip)或右键菜单(ContentMenuStrip控件)中的菜单项,当然不会在工具箱中显示了。
2023-08-09 13:04:081

c#.net设置menu选中的item

B/S 的么?
2023-08-09 13:04:222

【C#】WinForm中如何让窗口最小化时直接最小化到托盘,后台运行

3句话,搞定,收分。from1.Visible = false;//隐藏窗口notifyIcon1.Visible = true;//显示控件//不过要显示,notifyIcon1托盘控件,要先指定它的Icon属性,搞定了。
2023-08-09 13:04:302

a-menu a-menu-item a-sub-menu 导航菜单渲染问题:二级菜单点击一个多个高亮

1、openKeys 展开的a-sub-menu的key, key对应的是a-sub-menu上面绑定的key。如果绑定在a-menu上,对应的子菜单会打开2、selectedKeys 受控选中的key,key对应的是a-menu-item上面绑定的key,如果被选中,会进行导航的跳转以及被给予高亮状态 3、 defaultSelectedKeys 默认选中的key,key对应的是a-menu-item上面绑定的key,如果被选中,会进行导航的跳转以及被给予高亮状态(这个我没用,自己加的高亮逻辑,大家可以试试更简便) 敲重点!!!所有的key都应该是唯一的,不要用index,因为一级和二级的index会相同
2023-08-09 13:04:581

menu菜单显示在左上角

android 中让菜单menu显示在左上角,可以使用popupwindow技术,也就是悬浮菜单,设置默认的位置为左上角,如下代码:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199package com.example.menutype;import android.app.ActionBar.LayoutParams;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.Gravity;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.PopupWindow;import android.widget.PopupWindow.OnDismissListener;import android.widget.TextView;import android.widget.Toast;/** * * @author tr * @time 2014-3-10 * @description 自定义菜单,下拉菜单样式,添加动画效果,重写onMenuOpened()方法,自定义"menu"按键弹出菜单 */public class MainActivity extends Activity implements OnClickListener{ private static Toast mToast; private static Context mContext; private PopupWindow popupWindow ; private Button btn_popupwindow; private View mPopupWindowView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = this; btn_popupwindow = (Button) findViewById(R.id.btn_popupwindow); btn_popupwindow.setOnClickListener(this); initPopupWindow(); } @Override public boolean onCreateOptionsMenu(Menu menu) { /**actionBar上更多按钮*/ getMenuInflater().inflate(R.menu.main, menu);/**点击menu,弹出菜单*/ /* * * add()方法的四个参数,依次是: * * 1、组别,如果不分组的话就写Menu.NONE, * * 2、Id,这个很重要,Android根据这个Id来确定不同的菜单 * * 3、顺序,那个菜单现在在前面由这个参数的大小决定 * * 4、文本,菜单的显示文本 */ menu.add(Menu.NONE, Menu.FIRST + 1, 1, getResource(R.string.edit_text)).setIcon( R.drawable.ic_edit);
2023-08-09 13:05:071

为什么在android中Menu不显示??

public boolean onCreateOptionsMenu(Menu menu){ super.onPrepareOptionsMenu(menu); menu.clear(); MenuInflater inflater=getMenuInflater(); inflater.inflate(R.menu.menu, menu); return true; }把onCreateOptionsMenu()方法改成这样试试
2023-08-09 13:05:241

谁知道这段代码是啥意思 摆脱解释下啊

//定义一个私有变量,变量名为 textBoxEdit,变量类型是WinForm文本框private System.Windows.Forms.TextBox textBoxEdit;//定义一个接口的私有变量components,变量名为,类型是IContainerprivate IContainer components;//下面这几行代码都是定义私有变量,变量类型是MenuItem(菜单项)private System.Windows.Forms.MainMenu mainMenu1; .................................//定义一个int型的常量,常量名是MaxLength。定义常量时必须赋值。const int MaxLenght = 2000000; //定义一个字符串变量private string currentFileName;//定义在从 Windows 窗体应用程序进行打印时,将输出发送到打印机的可重用对象。private System.Drawing.Printing.PrintDocument printDocument=new PrintDocument();//定义一个布尔型(bool)或说逻辑型的变量private bool needToSave; ===========end===================const 关键字 表示定义(声明)的是常量private 关键字 表示定义(声明)的是私有的即只能在定义的类里访问,在类之外是访问不到的。定义变量或常量的格式为,其中用方括号括起来的部份可以省略[修饰符] 类型 变量名 [=初始值];const 类型 常量名 = 初始值;
2023-08-09 13:05:321

VB activex ocx控件 菜单编辑器

都在菜单编辑器里做,只要代码里调用就是右击菜单了,很简单的代码
2023-08-09 13:05:422

asp.net menu控件菜单项的间距如何调?

在Menu控件的属性里面能设置menu控件显示的样式,menu有一个MenuItemStyle的属性类,可以在这个里面设置菜单项之间的水平间距和垂直间距,这样就可以根据自己的需要进行间距的选择。此外,水平间距属性是:HorizontalPadding ;垂直间距属性是:VerticalPadding。注意区分两者,不要搞混,不然是很难准确调整间距的。利用 ASP.NET Menu 控件,可以开发 ASP.NET 网页的静态和动态显示菜单。Menu 控件具有两种显示模式:静态模式和动态模式。静态显示意味着 Menu 控件始终是完全展开的。整个结构都是可视的,用户可以单击任何部位。在动态显示的菜单中,只有指定的部分是静态的,而只有用户将鼠标指针放置在父节点上时才会显示其子菜单项。静态显示行为是指在使用 Menu 控件的 StaticDisplayLevels 属性可控制静态显示行为属性指示从根菜单算起,静态显示的菜单的层数。例如,如果将 StaticDisplayLevels设置为 3,菜单将以静态显示的方式展开其前三层。静态显示的最小层数为 1,如果将该值设置为 0 或负数,该控件将会引发异常。MaximumDynamicDisplayLevels属性指定在静态显示层后应显示的动态显示菜单节点层数。例如,如果菜单有 3 个静态层和 2 个动态层,则菜单的前三层静态显示,后两层动态显示。如果将 MaximumDynamicDisplayLevels 设置为 0,则不会动态显示任何菜单节点。
2023-08-09 13:06:002

大哥 我在WPF 窗体上添加的Menu控件中加了四个MenuItem 我想让前三个左对齐 后一个右对齐 这个能实现吗

设置最后一个margin试试
2023-08-09 13:06:071

vs2008 中 c#,asp.net 中做网页时,在用menu 控件实现页面跳转时,如何实现参数的传递

你在 navigateurl="ziliao.aspx" 中添加就可以了,比如 navigateurl="ziliao.aspx?id=id1"
2023-08-09 13:06:154

el-menu-item能加onclick吗

ActionBari 不需要手动的增加点击事件处理,系统已经自动的处理了,如果一个Action被单击,activity中的onOptionsItemSelected()将被调用。该函数的传入参数是一个MenuItem。通过判断该MenuItem的Id,即可确认是哪个Action被单击。
2023-08-09 13:06:391

C# ToolStripMenuItem

不知道你所说是被谁覆盖了 总之用背景来做不好 因为如果用背景来做按钮的大小会根据文字的宽度来改变宽度 你把字设没了 那按钮也就剩一点点了用Image属性 然后设置TextImageRelation为Overlay 再把文字设为空 这样按钮就跟图片一样大了
2023-08-09 13:06:472

public boolean onOptionsItemSelected(MenuItem item)

首先你要创建一个菜单,再在acitvity里调用。比如,在res下创建 一个目录menu(右击res,选择New,在New的子菜单中选择directory,命名为menu),再在menu下创建一个菜单资源文件resource menu file(右击menu,在new的子菜单中选择resource menu file)再在这个文件里用<item android:id="@+id/add"android:title="添加"/><item android:id="@+id/del"android:title="删除"/>类似这样
2023-08-09 13:07:001

Menu控件数组元素必须有索引。 是什么意思啊?求解答

<asp:Menu ID="TabBar" runat="server" Orientation="Horizontal" OnMenuItemClick="Menu1_MenuItemClick" Font-Size="12px" CssClass="tb-tabbar" BorderStyle="Solid" Height="20" BorderWidth="1"><Items> <asp:MenuItem Text="1" Value="0" Selected="True"></asp:MenuItem> <asp:MenuItem Text="2" Value="1"></asp:MenuItem> <asp:MenuItem Text="3 Value="2"></asp:MenuItem> </Items> </asp:Menu>这里的value就是索引,是为了在<asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0"> <asp:View ID="View1" runat="server">中识别用的 通过后台修改indexprotected void Menu1_MenuItemClick(object sender, MenuEventArgs e) { MultiView1.ActiveViewIndex = Convert.ToInt32(TabBar.SelectedValue); }
2023-08-09 13:07:081

设置asp.net 中menu的属性

Orientation="Horizontal" 设置成水平不行吗?
2023-08-09 13:07:182

android中怎么让menu菜单显示在屏幕左上角

  用惯了Android的人在刚拿到iPhone的时候,总是会习惯性的用手指从状态栏往下拖一下,这都是给Notification闹的。不过Notification也确实是1个不错的提示工具,不干扰正常的操作,事后还可以再翻看详细的内容,点击后还可以进入相关的画面查看更具体的内容。今天我就以代码为主的形式来介绍Notification的使用,包括基本用法,自定义的View,以及更多的控制方法。另一种Android中常用到的提示方法Toast的用法请参见《教程:在Android中使用Toast进行提示》我们先看下Notification的几个主要组成部分:Icon:不解释Ticker Text:Notification刚出来的时候,在状态栏上滚动的字幕,如果很长,会自动分割滚动Content Title:Notification展开后的标题Content Text:Notification展开后的内容Notification的一般用法取得NotificationManager  private NotificationManager mNotificationManager;mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);创建Notification并且显示  //Notification的滚动提示String tickerText = "My notification, It"s a long text! Hello World desiyo?";//Notification的图标,一般不要用彩色的int icon = R.drawable.icon_02241_3; //contentTitle和contentText都是标准的Notification View的内容//Notification的内容标题,拖下来后看到的标题String contentTitle="My notification";//Notification的内容String contentText="Hello World!"; //Notification的Intent,即点击后转向的ActivityIntent notificationIntent = new Intent(this, this.getClass());notificationIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); //创建NotifcationNotification notification = new Notification(icon, tickerText, System.currentTimeMillis());//设定Notification出现时的声音,一般不建议自定义notification.defaults |= Notification.DEFAULT_SOUND;//设定如何振动notification.defaults |= Notification.DEFAULT_VIBRATE;//指定Flag,Notification.FLAG_AUTO_CANCEL意指点击这个Notification后,立刻取消自身//这符合一般的Notification的运作规范notification.flags|=Notification.FLAG_AUTO_CANCEL;notification.setLatestEventInfo(this, contentTitle, contentText, contentIntent);//显示这个notificationmNotificationManager.notify(HELLO_ID, notification);这是最基本的应用,可以说除了找个合适的图标以外,其它都很简单。使用自定义View的Notification同Toast一样,我们也可以自已指定1个View来作为Notification展开后的显示内容,比如说在Android Market中下载的时候,Notification中会显示当前下载的进度,那么我们也来模拟1个这样的效果吧。首先给出View的定义文件:notification_view_sample.xml  <?xml version="1.0" encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:padding="3dp"><ImageView android:id="@+id/notificationImage"android:layout_width="wrap_content" android:layout_height="wrap_content"android:src="@android:drawable/stat_sys_download"/><TextView android:id="@+id/notificationTitle"android:layout_width="wrap_content" android:layout_height="wrap_content"android:layout_toRightOf="@id/notificationImage"android:layout_alignParentRight="true"android:paddingLeft="6dp"android:textColor="#FF000000"/><TextView android:id="@+id/notificationPercent"android:layout_width="wrap_content" android:layout_height="wrap_content"android:layout_below="@id/notificationImage"android:paddingTop="2dp"android:textColor="#FF000000"/><ProgressBar android:id="@+id/notificationProgress"android:layout_width="wrap_content" android:layout_height="wrap_content"android:layout_below="@id/notificationTitle"android:layout_alignLeft="@id/notificationTitle"android:layout_alignParentRight="true"android:layout_alignTop="@id/notificationPercent"android:paddingLeft="6dp"android:paddingRight="3dp"android:paddingTop="2dp"style="?android:attr/progressBarStyleHorizontal"/></RelativeLayout>RelativeLayout的使用,可以参考:《教程:Android各种Layout特性和使用汇总(一)》
2023-08-09 13:07:261

C#中建立系统菜单栏代码怎么写????求解!谢谢!!!!!

属性设置快捷键,然后启用事件可以找下,然后在事件中填写代码
2023-08-09 13:07:361

MenuBar 不能显示

p.addMenuBar(mb);这句是编译错误Panel类根本没有addMenuBar这个方法,所以是错的只有Frame类和他的子类有addMenuBar这个方法 ===========================================================因为Frame类才有addMenuBar方法,所以你要对Frame的对象调用这个方法,比如你上文中的f就是Frame对象,所以可以写f.addMenuBar(mb);不过,我也没写过awt的菜单栏,要是这样写还不行,你再补充提问把~
2023-08-09 13:07:441

我想在android中设置两个下拉菜单

android 下拉菜单1.<?xml version="1.0" encoding="utf-8"?> 12.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 13. android:orientation="vertical" android:gravity="right" 14. android:layout_width="fill_parent" android:layout_height="fill_parent"> 15. 19. <FrameLayout android:layout_height="wrap_content" 20. android:layout_width="fill_parent"> 21. <TextView android:layout_width="wrap_content" 22. android:layout_height="wrap_content" android:text="FrameLayout"> 23. </TextView> 24. <TextView android:layout_width="wrap_content" 25. android:layout_height="wrap_content" android:text="Frame Layout"> 26. </TextView> 27. </FrameLayout> 28. 29. <TextView android:layout_width="wrap_content" 30. android:layout_height="wrap_content" android:text="@string/hello" /> 31. 39. <TableLayout android:id="@+id/TableLayout01" 40. android:layout_width="fill_parent" android:layout_height="wrap_content" 41. android:collapseColumns="1"> 42. <TableRow android:id="@+id/TableRow01" android:layout_width="fill_parent" 43. android:layout_height="wrap_content"> 44. <TextView android:layout_width="wrap_content" 45. android:layout_weight="1" android:layout_height="wrap_content" 46. android:text="行1列1" /> 47. <TextView android:layout_width="wrap_content" 48. android:layout_weight="1" android:layout_height="wrap_content" 49. android:text="行1列2" /> 50. <TextView android:layout_width="wrap_content" 51. android:layout_weight="1" android:layout_height="wrap_content" 52. android:text="行1列3" /> 53. </TableRow> 54. <TableRow android:id="@+id/TableRow01" android:layout_width="wrap_content" 55. android:layout_height="wrap_content"> 56. <TextView android:layout_width="wrap_content" 57. android:layout_height="wrap_content" android:text="行2列1" /> 58. </TableRow> 59. </TableLayout> 60. 66. <AbsoluteLayout android:layout_height="wrap_content" 67. android:layout_width="fill_parent"> 68. <TextView android:layout_width="wrap_content" 69. android:layout_height="wrap_content" android:text="AbsoluteLayout" 70. android:layout_x="100px" 71. android:layout_y="100px" /> 72. </AbsoluteLayout> 73. 81. <RelativeLayout android:id="@+id/RelativeLayout01" 82. android:layout_width="fill_parent" android:layout_height="fill_parent"> 83. <TextView android:layout_width="wrap_content" android:id="@+id/abc" 84. android:layout_height="wrap_content" android:text="centerInParent=true" 85. android:layout_centerInParent="true" /> 86. <TextView android:layout_width="wrap_content" 87. android:layout_height="wrap_content" android:text="marginLeft=20px" 88. android:layout_marginLeft="20px" /> 89. <TextView android:layout_width="wrap_content" 90. android:layout_height="wrap_content" android:text="xxx" 91. android:layout_below="@id/abc" android:layout_alignRight="@id/abc" /> 92. </RelativeLayout> 93. 94.</LinearLayout> 95. 96. 97.res/values/strings.xml 98.<?xml version="1.0" encoding="utf-8"?> 99.<resources> 100. <string name="hello">Hello Layout</string> 101. <string name="app_name">webabcd_layout</string> 102.</resources> 103. 104. 105.Main.java 106. 107.代码 108.package com.webabcd.layout; 109. 110.import android.app.Activity; 111.import android.os.Bundle; 112. 113.public class Main extends Activity { 114. /** Called when the activity is first created. */ 115. @Override 116. public void onCreate(Bundle savedInstanceState) { 117. super.onCreate(savedInstanceState); 118. setContentView(R.layout.main); 119. } 120.} 121. 122. 123.2、上下文菜单,选项菜单,子菜单 124.res/layout/main.xml 125. 126.代码 127.<?xml version="1.0" encoding="utf-8"?> 128.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 129. android:orientation="vertical" android:layout_width="fill_parent" 130. android:layout_height="fill_parent"> 131. 132. <TextView android:id="@+id/txt1" android:layout_width="fill_parent" 133. android:layout_height="wrap_content" android:text="@string/hello_contextMenu" /> 134. 135. <TextView android:id="@+id/txt2" android:layout_width="fill_parent" 136. android:layout_height="wrap_content" android:text="@string/hello_subMenu" /> 137. 138.</LinearLayout> 139. 140. 141.res/values/strings.xml 142. 143.代码 144.<?xml version="1.0" encoding="utf-8"?> 145.<resources> 146. <string name="hello_contextMenu">Hello Context Menu</string> 147. <string name="hello_subMenu">Hello Context Sub Menu</string> 148. <string name="app_name">webabcd_menu</string> 149.</resources> 150. 151. 152.Main.java 153. 154.代码 155.package com.webabcd.menu; 156. 157.import android.app.Activity; 158.import android.os.Bundle; 159.import android.view.ContextMenu; 160.import android.view.Menu; 161.import android.view.MenuItem; 162.import android.view.SubMenu; 163.import android.view.View; 164.import android.view.ContextMenu.ContextMenuInfo; 165.import android.widget.TextView; 166.import android.widget.Toast; 167. 168.// 演示两种菜单的实现方式:上下文菜单(通过在某元素上长按,来呼出菜单)和选项菜单(通过按手机上的菜单按钮,来呼出菜单) 169.public class Main extends Activity { 170. /** Called when the activity is first created. */ 171. @Override 172. public void onCreate(Bundle savedInstanceState) { 173. super.onCreate(savedInstanceState); 174. setContentView(R.layout.main); 175. 176. // 为 R.id.txt1 注册一个上下文菜单(在此 TextView 上长按,则会呼出上下文菜单) 177. // 具体呼出的菜单内容需要重写 onCreateContextMenu 来创建 178. TextView txt1 = (TextView) this.findViewById(R.id.txt1); 179. this.registerForContextMenu(txt1); 180. 181. // 为 R.id.txt2 注册一个上下文菜单 182. TextView txt2 = (TextView) this.findViewById(R.id.txt2); 183. this.registerForContextMenu(txt2); 184. } 185. 186. // 重写 onCreateContextMenu 用以创建上下文菜单 187. // 重写 onContextItemSelected 用以响应上下文菜单 188. @Override 189. public void onCreateContextMenu(ContextMenu menu, View v, 190. ContextMenuInfo menuInfo) { 191. super.onCreateContextMenu(menu, v, menuInfo); 192. 193. // 创建 R.id.txt1 的上下文菜单 194. if (v == (TextView) this.findViewById(R.id.txt1)) { 195. 196. // ContextMenu.setIcon() - 设置菜单的图标 197. // ContextMenu.setHeaderTitle() - 设置菜单的标题 198. menu.setHeaderIcon(R.drawable.icon01); 199. menu.setHeaderTitle("我是菜单"); 200. 201. // 用 ContextMenu.add() 来增加菜单项,返回值为 MenuItem 202. // 第一个参数:组ID 203. // 第二个参数:菜单项ID 204. // 第三个参数:顺序号 205. // 第四个参数:菜单项上显示的内容 206. menu.add(1, 0, 0, "菜单1"); 207. 208. // MenuItem - 新增菜单项后的返回类型,针对菜单项的其他设置在此对象上操作 209. menu.add(1, 1, 1, "菜单2").setCheckable(true); 210. 211. } 212. // 创建 R.id.txt2 的上下文菜单(多级上下文菜单) 213. else if (v == (TextView) this.findViewById(R.id.txt2)) { 214. 215. // ContextMenu.addSubMenu("菜单名称") - 用来添加子菜单。子菜单其实就是一个特殊的菜单 216. SubMenu sub = menu.addSubMenu("父菜单1"); 217. sub.setIcon(R.drawable.icon01); 218. sub.add(0, 0, 0, "菜单1"); 219. sub.add(0, 1, 1, "菜单2"); 220. sub.setGroupCheckable(1, true, true); 221. 222. SubMenu sub2 = menu.addSubMenu("父菜单2"); 223. sub2.setIcon(R.drawable.icon01); 224. sub2.add(1, 0, 0, "菜单3"); 225. sub2.add(1, 1, 1, "菜单4"); 226. sub2.setGroupCheckable(1, true, false); 227. 228. } 229. } 230. 231. 232. // 重写 onCreateOptionsMenu 用以创建选项菜单 233. @Override 234. public boolean onCreateOptionsMenu(Menu menu) { 235. 236. MenuItem menuItem = menu.add(0, 0, 0, "菜单111111111111111111111"); 237. 238. // MenuItem.setIcon() - 设置菜单项的图标 239. // MenuItem.setTitleCondensed() - 菜单的简标题,如果指定了简标题的话,菜单项上的标题将会以此简标题为准 240. // MenuItem.setAlphabeticShortcut() - 设置选中此菜单项的快捷键 241. // 注:菜单项超过 6 个的话,第 6 个菜单将会变为 More 菜单,多余的菜单会在单击 More 菜单之后显示出来 242. menuItem.setIcon(R.drawable.icon01); 243. menuItem.setTitleCondensed("菜单1"); 244. menuItem.setAlphabeticShortcut("a"); 245. 246. menu.add(0, 1, 1, "菜单2").setIcon(R.drawable.icon02); 247. menu.add(0, 2, 2, "菜单3").setIcon(R.drawable.icon03); 248. menu.add(0, 3, 3, "菜单4"); 249. menu.add(0, 4, 4, "菜单5"); 250. menu.add(0, 5, 5, "菜单6"); 251. menu.add(0, 6, 6, "菜单7").setIcon(R.drawable.icon04); 252. menu.add(0, 7, 7, "菜单8").setIcon(R.drawable.icon05); 253. 254. return true; 255. } 256. 257. // 重写 onOptionsItemSelected 用以响应选项菜单 258. @Override 259. public boolean onOptionsItemSelected(MenuItem item) { 260. super.onOptionsItemSelected(item); 261. 262. Toast.makeText(Main.this, "被单击的菜单项为:" + String.valueOf(item.getItemId()), Toast.LENGTH_SHORT).show(); 263. 264. return false; 265. } 266.}
2023-08-09 13:07:511

java 菜单条 为什么我 点了一下 文件 那个 Jmenu 后 鼠标一移开 下面的 jmenuitem 就 不显示

移开是什么意思?鼠标不在菜单上,也想让它显示?
2023-08-09 13:08:012

怎么改变一个控件 比如 一个 menu item 选中的颜色

可以改菜单栏和工具栏的颜色class MenuBarColor : ProfessionalColorTable { Color ManuBarCommonColor = Color.LightSteelBlue; Color ManuCheckColor = Color.WhiteSmoke; public MenuBarColor() { } public override Color ButtonSelectedGradientEnd { get { return ManuBarCommonColor; } } public override Color ButtonSelectedGradientBegin { get { return ManuBarCommonColor; } } public override Color ButtonSelectedGradientMiddle { get { return ManuBarCommonColor; } } public override Color MenuItemSelectedGradientBegin { get { return ManuBarCommonColor; } } public override Color MenuItemSelectedGradientEnd { get { return ManuBarCommonColor; } } public override Color ImageMarginGradientBegin { get { return Color.White; } } public override Color ImageMarginGradientMiddle { get { return Color.Silver; } } public override Color ImageMarginGradientEnd { get { return Color.Silver; ; } } public override Color MenuItemPressedGradientBegin { get { return ManuCheckColor; } } public override Color MenuItemPressedGradientMiddle { get { return ManuCheckColor; } } public override Color MenuItemPressedGradientEnd { get { return ManuCheckColor; } } public override Color ButtonPressedGradientBegin { get { return ManuBarCommonColor; } } public override Color ButtonPressedGradientMiddle { get { return ManuBarCommonColor; } } public override Color ButtonPressedGradientEnd { get { return ManuBarCommonColor; } } public override Color MenuItemSelected { get { return ManuBarCommonColor; } } } internal class ToolStripRendererEx : ToolStripProfessionalRenderer { public ToolStripRendererEx() : base(new MenuBarColor()) { } }}
2023-08-09 13:08:191

怎么让android系统中隐藏的menu按钮显示出来

菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu),以下说的是创建OptionsMenu   一、概述 public boolean onCreateOptionsMenu(Menu menu):使用此方法调用OptionsMenu 。 public boolean onOptionsItemSelected(MenuItem item):选中菜单项后发生的动作。 public void onOptionsMenuClosed(Menu menu):菜单关闭后发生的动作。 public boolean onPrepareOptionsMenu(Menu menu):选项菜单显示之前onPrepareOptionsMenu方法会被调用,你可以用此方法来根据打当时的情况调整菜单。 public boolean onMenuOpened(int featureId, Menu menu):单打开后发生的动作。 二、默认样式   默认样式是在屏幕底部弹出一个菜单,这个菜单我们就叫他选项菜单OptionsMenu,一般情况下,选项菜单最多显示2排每排3个菜单项,这些菜单项有文字有图标,也被称作Icon Menus,如果多于6项,从第六项开始会被隐藏,在第六项会出现一个More里,点击More才出现第六项以及以后的菜单项,这些菜单项也被称作Expanded Menus。下面介绍。 1/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="请点击 Menu键显示选项菜单" android:id="@+id/TextView02" /> </LinearLayout>  2。重载onCreateOptionsMenu(Menu menu)方法   重载onCreateOptionsMenu(Menu menu)方法,并在此方法中添加菜单项,最后返回true,如果false,菜单则不会显示。 public boolean onCreateOptionsMenu(Menu menu) @Override public boolean onCreateOptionsMenu(Menu menu) { /* * * add()方法的四个参数,依次是: * * 1、组别,如果不分组的话就写Menu.NONE, * * 2、Id,这个很重要,Android根据这个Id来确定不同的菜单 * * 3、顺序,那个菜单现在在前面由这个参数的大小决定 * * 4、文本,菜单的显示文本 */ menu.add(Menu.NONE, Menu.FIRST + 1, 5, "删除").setIcon( android.R.drawable.ic_menu_delete); // setIcon()方法为菜单设置图标,这里使用的是系统自带的图标,同学们留意一下,以 // android.R开头的资源是系统提供的,我们自己提供的资源是以R开头的 menu.add(Menu.NONE, Menu.FIRST + 2, 2, "保存").setIcon( android.R.drawable.ic_menu_edit); menu.add(Menu.NONE, Menu.FIRST + 3, 6, "帮助").setIcon( android.R.drawable.ic_menu_help); menu.add(Menu.NONE, Menu.FIRST + 4, 1, "添加").setIcon( android.R.drawable.ic_menu_add); menu.add(Menu.NONE, Menu.FIRST + 5, 4, "详细").setIcon( android.R.drawable.ic_menu_info_details); menu.add(Menu.NONE, Menu.FIRST + 6, 3, "发送").setIcon( android.R.drawable.ic_menu_send); return true; } 3。为菜单项注册事件   使用onOptionsItemSelected(MenuItem item)方法为菜单项注册事件 public boolean onOptionsItemSelected(MenuItem item) @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case Menu.FIRST + 1: Toast.makeText(this, "删除菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 2: Toast.makeText(this, "保存菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 3: Toast.makeText(this, "帮助菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 4: Toast.makeText(this, "添加菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 5: Toast.makeText(this, "详细菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 6: Toast.makeText(this, "发送菜单被点击了", Toast.LENGTH_LONG).show(); break; } return false; } 4.完整代码 package com.android.menu; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; public class DefaultMenu extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { /* * * add()方法的四个参数,依次是: * * 1、组别,如果不分组的话就写Menu.NONE, * * 2、Id,这个很重要,Android根据这个Id来确定不同的菜单 * * 3、顺序,那个菜单现在在前面由这个参数的大小决定 * * 4、文本,菜单的显示文本 */ menu.add(Menu.NONE, Menu.FIRST + 1, 5, "删除").setIcon( android.R.drawable.ic_menu_delete); // setIcon()方法为菜单设置图标,这里使用的是系统自带的图标,同学们留意一下,以 // android.R开头的资源是系统提供的,我们自己提供的资源是以R开头的 menu.add(Menu.NONE, Menu.FIRST + 2, 2, "保存").setIcon( android.R.drawable.ic_menu_edit); menu.add(Menu.NONE, Menu.FIRST + 3, 6, "帮助").setIcon( android.R.drawable.ic_menu_help); menu.add(Menu.NONE, Menu.FIRST + 4, 1, "添加").setIcon( android.R.drawable.ic_menu_add); menu.add(Menu.NONE, Menu.FIRST + 5, 4, "详细").setIcon( android.R.drawable.ic_menu_info_details); menu.add(Menu.NONE, Menu.FIRST + 6, 3, "发送").setIcon( android.R.drawable.ic_menu_send); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case Menu.FIRST + 1: Toast.makeText(this, "删除菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 2: Toast.makeText(this, "保存菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 3: Toast.makeText(this, "帮助菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 4: Toast.makeText(this, "添加菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 5: Toast.makeText(this, "详细菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 6: Toast.makeText(this, "发送菜单被点击了", Toast.LENGTH_LONG).show(); break; } return false; } @Override public void onOptionsMenuClosed(Menu menu) { Toast.makeText(this, "选项菜单关闭了", Toast.LENGTH_LONG).show(); } @Override public boolean onPrepareOptionsMenu(Menu menu) { Toast.makeText(this, "选项菜单显示之前onPrepareOptionsMenu方法会被调用,你可以用此方法来根据打当时的情况调整菜单", Toast.LENGTH_LONG).show(); // 如果返回false,此方法就把用户点击menu的动作给消费了,onCreateOptionsMenu方法将不会被调用 return true; } } 5.运行效果
2023-08-09 13:08:361

怎么让android系统中隐藏的menu按钮显示出来

菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu),以下说的是创建OptionsMenu   一、概述 public boolean onCreateOptionsMenu(Menu menu):使用此方法调用OptionsMenu 。 public boolean onOptionsItemSelected(MenuItem item):选中菜单项后发生的动作。 public void onOptionsMenuClosed(Menu menu):菜单关闭后发生的动作。 public boolean onPrepareOptionsMenu(Menu menu):选项菜单显示之前onPrepareOptionsMenu方法会被调用,你可以用此方法来根据打当时的情况调整菜单。 public boolean onMenuOpened(int featureId, Menu menu):单打开后发生的动作。 二、默认样式   默认样式是在屏幕底部弹出一个菜单,这个菜单我们就叫他选项菜单OptionsMenu,一般情况下,选项菜单最多显示2排每排3个菜单项,这些菜单项有文字有图标,也被称作Icon Menus,如果多于6项,从第六项开始会被隐藏,在第六项会出现一个More里,点击More才出现第六项以及以后的菜单项,这些菜单项也被称作Expanded Menus。下面介绍。 1/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="请点击 Menu键显示选项菜单" android:id="@+id/TextView02" /> </LinearLayout>  2。重载onCreateOptionsMenu(Menu menu)方法   重载onCreateOptionsMenu(Menu menu)方法,并在此方法中添加菜单项,最后返回true,如果false,菜单则不会显示。 public boolean onCreateOptionsMenu(Menu menu) @Override public boolean onCreateOptionsMenu(Menu menu) { /* * * add()方法的四个参数,依次是: * * 1、组别,如果不分组的话就写Menu.NONE, * * 2、Id,这个很重要,Android根据这个Id来确定不同的菜单 * * 3、顺序,那个菜单现在在前面由这个参数的大小决定 * * 4、文本,菜单的显示文本 */ menu.add(Menu.NONE, Menu.FIRST + 1, 5, "删除").setIcon( android.R.drawable.ic_menu_delete); // setIcon()方法为菜单设置图标,这里使用的是系统自带的图标,同学们留意一下,以 // android.R开头的资源是系统提供的,我们自己提供的资源是以R开头的 menu.add(Menu.NONE, Menu.FIRST + 2, 2, "保存").setIcon( android.R.drawable.ic_menu_edit); menu.add(Menu.NONE, Menu.FIRST + 3, 6, "帮助").setIcon( android.R.drawable.ic_menu_help); menu.add(Menu.NONE, Menu.FIRST + 4, 1, "添加").setIcon( android.R.drawable.ic_menu_add); menu.add(Menu.NONE, Menu.FIRST + 5, 4, "详细").setIcon( android.R.drawable.ic_menu_info_details); menu.add(Menu.NONE, Menu.FIRST + 6, 3, "发送").setIcon( android.R.drawable.ic_menu_send); return true; } 3。为菜单项注册事件   使用onOptionsItemSelected(MenuItem item)方法为菜单项注册事件 public boolean onOptionsItemSelected(MenuItem item) @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case Menu.FIRST + 1: Toast.makeText(this, "删除菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 2: Toast.makeText(this, "保存菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 3: Toast.makeText(this, "帮助菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 4: Toast.makeText(this, "添加菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 5: Toast.makeText(this, "详细菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 6: Toast.makeText(this, "发送菜单被点击了", Toast.LENGTH_LONG).show(); break; } return false; } 4.完整代码 package com.android.menu; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; public class DefaultMenu extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { /* * * add()方法的四个参数,依次是: * * 1、组别,如果不分组的话就写Menu.NONE, * * 2、Id,这个很重要,Android根据这个Id来确定不同的菜单 * * 3、顺序,那个菜单现在在前面由这个参数的大小决定 * * 4、文本,菜单的显示文本 */ menu.add(Menu.NONE, Menu.FIRST + 1, 5, "删除").setIcon( android.R.drawable.ic_menu_delete); // setIcon()方法为菜单设置图标,这里使用的是系统自带的图标,同学们留意一下,以 // android.R开头的资源是系统提供的,我们自己提供的资源是以R开头的 menu.add(Menu.NONE, Menu.FIRST + 2, 2, "保存").setIcon( android.R.drawable.ic_menu_edit); menu.add(Menu.NONE, Menu.FIRST + 3, 6, "帮助").setIcon( android.R.drawable.ic_menu_help); menu.add(Menu.NONE, Menu.FIRST + 4, 1, "添加").setIcon( android.R.drawable.ic_menu_add); menu.add(Menu.NONE, Menu.FIRST + 5, 4, "详细").setIcon( android.R.drawable.ic_menu_info_details); menu.add(Menu.NONE, Menu.FIRST + 6, 3, "发送").setIcon( android.R.drawable.ic_menu_send); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case Menu.FIRST + 1: Toast.makeText(this, "删除菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 2: Toast.makeText(this, "保存菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 3: Toast.makeText(this, "帮助菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 4: Toast.makeText(this, "添加菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 5: Toast.makeText(this, "详细菜单被点击了", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 6: Toast.makeText(this, "发送菜单被点击了", Toast.LENGTH_LONG).show(); break; } return false; } @Override public void onOptionsMenuClosed(Menu menu) { Toast.makeText(this, "选项菜单关闭了", Toast.LENGTH_LONG).show(); } @Override public boolean onPrepareOptionsMenu(Menu menu) { Toast.makeText(this, "选项菜单显示之前onPrepareOptionsMenu方法会被调用,你可以用此方法来根据打当时的情况调整菜单", Toast.LENGTH_LONG).show(); // 如果返回false,此方法就把用户点击menu的动作给消费了,onCreateOptionsMenu方法将不会被调用 return true; } } 5.运行效果
2023-08-09 13:08:461

我刚学Android不久,用系统自带的Menu,加了图片后怎么没显示出来

你把这些图标放到resource里面了吗?
2023-08-09 13:08:554

用VB.NET设计各种形状的窗体界面二

     结合上一节介绍的方法 通过Visual Basic Net的菜单设计器 按照图 和图 所示的菜单结构设计菜单         图 【MDI编程】项目的菜单结构之一         图 【MDI编程】项目的菜单结构之二    在利用菜单设计器设计完菜单后 分别在窗体中双击 新建 退出 层叠显示 横行平铺 纵向平铺 和 排列图标 菜单项 这样Visual Basic Net会在Form vb文件中分别产生这些菜单项的Click事件对应的处理代码      设定Form 的 IsMdiContainer 属性值为 True 这把Form 窗体定义为MDI窗体容器 这一步设置是后面编程的基础 当设置此属性值后 Form 的窗体也发生了改变 图 是设置此属性后的窗体模样         图 把Form 窗体设置为MDI窗体容器后的模样    选中图 中的 窗口 菜单项 并设置此菜单项的 MdiList 属性值为 True 其作用是当程序运行后 如果新建了一个MDI窗体 就会在 窗口 菜单项后 自动加入一个以新建MDI窗体名称命名的菜单项 如果新建了多个MDI窗体 则会在 窗口 菜单项后 会加入以这些MDI窗体名称命名的菜单项 当MDI窗体被关闭 那些以此MDI窗体命名的菜单项也会自动删除 具体可图 所示      把Visua Basic Net的当前窗口切换到Form vb的代码编辑窗口 并在定义Form 中组件的代码区加入下列代码 下列代码是定义一个变量 此变量用以统计程序中新建MDI窗体的数量     Private iFormCount As Integer =      用下列代码替换Form vb中的MenuItem 的Click事件对应的处理代码 MenuItem 即为图 中的 新建 菜单项 下列代码的作用是在新建一个MDI窗体     Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem Click  Dim frmTemp As Form = New Form ( )   新建一个窗体  frmTemp MdiParent = Me   为当前创建的窗体设置MDI父窗体  frmTemp Text = MDI窗体 + iFormCount ToString ( )  iFormCount = iFormCount +   frmTemp Show ( )   把此MDI窗体显示出来  End Sub     用下列代码替换Form vb中的MenuItem 的Click事件对应的处理代码 MenuItem 即为图 中的 退出 菜单项 下列代码的作用是退出应用程序     Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem Click  Application Exit ( )   退出应用程序  End Sub     用下列代码替换Form vb中的MenuItem 的Click事件对应的处理代码 MenuItem 即为图 中的 层叠显示 菜单项 下列代码的作用是层叠排列窗体中的所有MDI窗体     Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem Click  Me LayoutMdi ( MdiLayout Cascade )   层叠排列窗体中的所有MDI窗体  End Sub     用下列代码替换Form vb中的MenuItem 的Click事件对应的处理代码 MenuItem 即为图 中的 水平平铺 菜单项 下列代码的作用是水平平铺窗体中的所有MDI窗体     Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem Click  Me LayoutMdi ( MdiLayout TileHorizontal )   水平平铺窗体中的所有MDI窗体  End Sub     用下列代码替换Form vb中的MenuItem 的Click事件对应的处理代码 MenuItem 即为图 中的 垂直平铺 菜单项 下列代码的作用是垂直平铺窗体中的所有MDI窗体     Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem Click  Me LayoutMdi ( MdiLayout TileVertical )   垂直平铺窗体中的所有MDI窗体  End Sub     用下列代码替换Form vb中的MenuItem 的Click事件对应的处理代码 MenuItem 即为图 中的 排列图标 菜单项 下列代码的作用是窗体中的所有MDI窗体排列图标     Private Sub MenuItem _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles MenuItem Click  Me LayoutMdi ( MdiLayout ArrangeIcons )   窗体中的所有MDI窗体排列图标  End Sub    至此【MDI编程】项目的全部工作就完成了 图 图 和图 是程序运行后的界面        图 【MDI编程】运行界面之一         图 【MDI编程】运行界面之二       图 【MDI编程】运行界面之三   此时我们注意到图 所示的 窗口 菜单中增加许多子菜单 而在程序设计时 并没有处理这些功能的代码 这是由于第十一步中设置 窗口 菜单项的 MdiList 属性值为 True 造成的 可见正确的设置组件的属性值有时的确能够代替烦杂的代码编写工作      五 总结   本文主要内容有二个 其一是介绍的在Visual Basic Net定制不规则窗体的实现方法 在Visual Basic Net中创建不规则窗体主要使用的是Region类和GraphicsPath类 GraphicsPath主要是绘制窗体的形状 Region主要是以GraphicsPath来构建窗体 结合本文的实现思路和具体方法 我想对于其他形状的窗体 在掌握GraphicsPath类提供的使用方法的前提下 加上对所要创建不规则窗体的规划设计 用Visual Basic Net实现起来应该不算很困难     本文的另外一个主要内容就是介绍在Visual Basic Net编写MDI应用程序的基本过程 技巧和注意事项 通过本文的介绍可见Visual Basic Net的MDI编程并没有什么复杂的地方 只需了解一些对MDI窗体处理的方法及其调用方式 当然更重要的是要了解并掌握某些组件的针对MDI的属性及其设置方式    lishixinzhi/Article/program/net/201311/11698
2023-08-09 13:09:021

void page_title(char *menu_item)什么意思

声明一个名字叫page_title的方法 方法的参数为 char* 类型的 menu_item
2023-08-09 13:09:101

android 怎么实现点击菜单在顶部和底部同时呼出不同的菜单选项?

猜测, 我没用过QQ浏览器。也没见过效果 在onkeydown里面 捕获菜单键。 你所说的搜索框 就弹出来。 而菜单就是正常出来。 搜索框 dialog 或是popupWindow 现在弄出来了没。 给分~~~ 哈哈
2023-08-09 13:09:171

我刚学Android不久,用系统自带的Menu,加了图片后怎么没显示出来

你把这些图标放到resource里面了吗?
2023-08-09 13:09:314

请问如何修改wordpress的导航菜单选项 current-menu-item?

找到当前正在使用的主题目录。修改相应的CSS文件。 一般情况下。所在目录为: \/wp-content\/themes\/当前主题名称\/style.css 手写内容,希望采纳,如有不明,可以Hi我。!!
2023-08-09 13:09:391

asp.net控件Menu的用法

希望这个对你有所帮助 <asp:Menu ID="Menu1" runat="server" BackColor="#E3EAEB" DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="Small" ForeColor="#666666" Orientation="Horizontal" StaticSubMenuIndent="10px" Height="16px" Width="189px" style="margin-left: 0px"> <StaticSelectedStyle BackColor="#1C5E55" /> <StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" /> <DynamicHoverStyle BackColor="#666666" ForeColor="White" /> <DynamicMenuStyle BackColor="#E3EAEB" /> <DynamicSelectedStyle BackColor="#1C5E55" /> <DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" /> <StaticHoverStyle BackColor="#666666" ForeColor="White" /> <Items> <asp:MenuItem Text="首页" Value="首页" NavigateUrl="~/bookjieyuepaihang.aspx"></asp:MenuItem> <asp:MenuItem Text="系统设置" Value="系统设置"> <asp:MenuItem NavigateUrl="~/manageshezhi.aspx" Text="管理员设置" Value="管理员设置"> </asp:MenuItem> </asp:MenuItem> <asp:MenuItem Text="读者管理" Value="读者管理"> <asp:MenuItem NavigateUrl="~/readerleixingmanage.aspx" Text="读者类型设置" Value="读者类型设置"></asp:MenuItem> <asp:MenuItem NavigateUrl="~/readerdanganmanage.aspx" Text="读者档案管理" Value="读者档案管理"></asp:MenuItem> </asp:MenuItem> <asp:MenuItem Text="图书管理" Value="图书管理"> <asp:MenuItem NavigateUrl="~/bookleixingshezhi.aspx" Text="图书类型设置" Value="图书类型设置"></asp:MenuItem> <asp:MenuItem NavigateUrl="~/bookdanganmanage.aspx" Text="图书档案管理" Value="图书档案管理"></asp:MenuItem> </asp:MenuItem> <asp:MenuItem Text="图书借还" Value="图书借还"> <asp:MenuItem NavigateUrl="~/bookjieyue.aspx" Text="图书借阅" Value="图书借阅"> </asp:MenuItem> <asp:MenuItem NavigateUrl="~/bookxujie.aspx" Text="图书续借" Value="图书续借"> </asp:MenuItem> <asp:MenuItem NavigateUrl="~/bookguihuan.aspx" Text="图书归还" Value="图书归还"> </asp:MenuItem> </asp:MenuItem> <asp:MenuItem Text="系统查询" Value="系统查询"> <asp:MenuItem NavigateUrl="~/bookdanganchaxun.aspx" Text="图书档案查询" Value="图书档案查询"></asp:MenuItem> <asp:MenuItem NavigateUrl="~/bookjieyuechaxun.aspx" Text="图书借阅查询" Value="图书借阅查询"></asp:MenuItem> </asp:MenuItem> <asp:MenuItem Text="更改口令" Value="更改口令" NavigateUrl="~/genggaikouling.aspx"></asp:MenuItem> <asp:MenuItem Text="退出系统" Value="退出系统"></asp:MenuItem> </Items> </asp:Menu>
2023-08-09 13:10:071

如何让android menu横向显示

你在布局里设置ScreenOrientation试试
2023-08-09 13:10:162

C#中程序托盘遇到的问题,请高手指教下,谢谢

给你提供一些常规方法吧...你自己看看..1.设置WinForm窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标。 3.添加窗体最小化事件(首先需要添加事件引用): this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged); //上面一行是主窗体InitializeComponent()方法中需要添加的引用 private void Form1_SizeChanged(object sender, EventArgs e) { if(this.WindowState == FormWindowState.Minimized) { this.Hide(); this.notifyIcon1.Visible=true; } } 4.添加点击图标事件(首先需要添加事件引用): private void notifyIcon1_Click(object sender, EventArgs e) { this.Visible = true; this.WindowState = FormWindowState.Normal; this.notifyIcon1.Visible = false; } 5.可以给notifyIcon添加右键菜单: 主窗体中拖入一个ContextMenu控件NicontextMenu,点中控件,在上下文菜单中添加菜单,notifyIcon1的ContextMenu行为中选中NicontextMenu 作为上下文菜单。 this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); this.NicontextMenu = new System.Windows.Forms.ContextMenu(); this.menuItem_Hide = new System.Windows.Forms.MenuItem(); this.menuItem_Show = new System.Windows.Forms.MenuItem(); this.menuItem_Aubot = new System.Windows.Forms.MenuItem(); this.menuItem_Exit = new System.Windows.Forms.MenuItem(); this.notifyIcon1.ContextMenu = this.NicontextMenu; this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject( "NotifyIcon.Icon "))); this.notifyIcon1.Text = " "; this.notifyIcon1.Visible = true; this.notifyIcon1.DoubleClick += new System.EventHandler(this.notifyIcon1_DoubleClick); this.notifyIcon1.Click += new System.EventHandler(this.notifyIcon1_Click); this.NicontextMenu.MenuItems.AddRange( new System.Windows.Forms.MenuItem[] { this.menuItem_Hide, this.menuItem_Show, this.menuItem_Aubot, this.menuItem_Exit } ); // // menuItem_Hide // this.menuItem_Hide.Index = 0; this.menuItem_Hide.Text = "隐藏 "; this.menuItem_Hide.Click += new System.EventHandler(this.menuItem_Hide_Click); // // menuItem_Show // this.menuItem_Show.Index = 1; this.menuItem_Show.Text = "显示 "; this.menuItem_Show.Click += new System.EventHandler(this.menuItem_Show_Click); // // menuItem_Aubot // this.menuItem_Aubot.Index = 2; this.menuItem_Aubot.Text = "关于 "; this.menuItem_Aubot.Click += new System.EventHandler(this.menuItem_Aubot_Click); // // menuItem_Exit // this.menuItem_Exit.Index = 3; this.menuItem_Exit.Text = "退出 "; this.menuItem_Exit.Click += new System.EventHandler(this.menuItem_Exit_Click); protected override void OnClosing(CancelEventArgs e) { this.ShowInTaskbar = false; this.WindowState = FormWindowState.Minimized; e.Cancel = true; } protected override void OnClosing(CancelEventArgs e) { //this.ShowInTaskbar = false; this.WindowState = FormWindowState.Minimized; e.Cancel = true; } private void CloseCtiServer() { timer.Enabled = false; DJ160API.DisableCard(); this.NotifyIcon.Visible = false; this.Close(); this.Dispose(); Application.Exit(); } private void HideCtiServer() { this.Hide(); } private void ShowCtiServer() { this.Show(); this.WindowState = FormWindowState.Normal; this.Activate(); } private void CtiManiForm_Closing(object sender, System.ComponentModel.CancelEventArgs e) { this.CloseCtiServer(); } private void menuItem_Show_Click(object sender, System.EventArgs e) { this.ShowCtiServer(); } private void menuItem_Aubot_Click(object sender, System.EventArgs e) { } private void menuItem_Exit_Click(object sender, System.EventArgs e) { this.CloseCtiServer(); } private void menuItem_Hide_Click(object sender, System.EventArgs e) { this.HideCtiServer(); } private void CtiManiForm_SizeChanged(object sender, System.EventArgs e) { if(this.WindowState == FormWindowState.Minimized) { this.HideCtiServer(); } } private void notifyIcon1_DoubleClick(object sender,System.EventArgs e) { this.ShowCtiServer(); }
2023-08-09 13:10:291

记录工作点滴之toolbar的menu菜单改变字体颜色

在这个方法中使用 SpannableString 设置字体颜色 public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_base_ok, menu); MenuItem item = menu.findItem(R.id.menu_ok); SpannableString spannableString =new SpannableString("确定"); spannableString.setSpan(new ForegroundColorSpan(Color.RED), 0, spannableString.length(), 0); item.setTitle(spannableString); return super.onCreateOptionsMenu(menu); } 除此之外,SpannableString不但可以改变字体颜色,还能够设置背景色,文本可点击等等,奥秘就在setSpan(Object what, int start, int end, int flags)中,what就是具体要设置的成什么样子有如下:ForegroundColorSpan 设置前景色也就是文字颜色 BackgroundColorSpan,为文本设置背景色 RelativeSizeSpan,设置文字相对大小,实现方法如RelativeSizeSpan sizeSpan01=newRelativeSizeSpan(1.2f); StrikethroughSpan,为文本设置删除线 UnderlineSpan,为文本设置下划线 ClickableSpan,设置可点击的文本,点击事件用户自定义实现 URLSpan,设置超链接文本 ImageSpan,设置文本图片 start表示需要设置格式的起始下标,end表示终了下标,flags属性有四种分别是: Spanned.SPAN_INCLUSIVE_EXCLUSIVE从起始下标到终了下标,包括起始下标 Spanned.SPAN_INCLUSIVE_INCLUSIVE从起始下标到终了下标,同时包括起始下标和终了下标 Spanned.SPAN_EXCLUSIVE_EXCLUSIVE从起始下标到终了下标,但都不包括起始下标和终了下标 Spanned.SPAN_EXCLUSIVE_INCLUSIVE从起始下标到终了下标,包括终了下标
2023-08-09 13:10:361

java大牛来!!下拉菜单-复选框-单选框-用法

package fxw.xjtu.cn;import org.eclipse.jface.dialogs.MessageDialog;import org.eclipse.swt.events.SelectionAdapter;import org.eclipse.swt.events.SelectionEvent;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.widgets.Menu;import org.eclipse.swt.SWT;import org.eclipse.swt.widgets.MenuItem;public class Test { protected Shell shell; /** * Launch the application. * @param args */ public static void main(String[] args) { try { Test window = new Test(); window.open(); } catch (Exception e) { e.printStackTrace(); } } /** * Open the window. */ public void open() { Display display = Display.getDefault(); createContents(); shell.open(); shell.layout(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } } /** * Create contents of the window. */ protected void createContents() { shell = new Shell(); shell.setSize(450, 300); shell.setText("SWT Application"); Menu menu = new Menu(shell, SWT.BAR); shell.setMenuBar(menu); MenuItem menuItem = new MenuItem(menu, SWT.CASCADE); menuItem.setText("u4E3Bu83DCu53551"); Menu menu_1 = new Menu(menuItem); menuItem.setMenu(menu_1); MenuItem menuItem_2 = new MenuItem(menu_1, SWT.CASCADE); menuItem_2.setText("u4E0Bu62C9u83DCu53551.1"); Menu menu_3 = new Menu(menuItem_2); menuItem_2.setMenu(menu_3); MenuItem menuItem_3 = new MenuItem(menu_3, SWT.CHECK); menuItem_3.setText("u590Du9009u68461"); menuItem_3.addSelectionListener(new SelectionAdapter(){ public void widgetSelected(SelectionEvent e){ MessageDialog.openInformation(shell, "菜单的监听器", "您选择了:"+e.getSource()); } }); MenuItem menuItem_4 = new MenuItem(menu_3, SWT.CHECK); menuItem_4.setText("u590Du9009u68462"); menuItem_4.addSelectionListener(new SelectionAdapter(){ public void widgetSelected(SelectionEvent e){ MessageDialog.openInformation(shell, "菜单的监听器", "您选择了:"+e.getSource()); } }); MenuItem menuItem_5 = new MenuItem(menu_3, SWT.CHECK); menuItem_5.setText("u590Du9009u68463"); menuItem_5.addSelectionListener(new SelectionAdapter(){ public void widgetSelected(SelectionEvent e){ MessageDialog.openInformation(shell, "菜单的监听器", "您选择了:"+e.getSource()); } }); new MenuItem(menu_3, SWT.SEPARATOR); MenuItem menuItem_6 = new MenuItem(menu_3, SWT.RADIO); menuItem_6.setText("u5355u9009u68461"); MenuItem menuItem_7 = new MenuItem(menu_3, SWT.RADIO); menuItem_7.setText("u5355u9009u68462"); MenuItem menuItem_8 = new MenuItem(menu_1, SWT.NONE); menuItem_8.setText("u4E0Bu62C9u83DCu53551.2"); MenuItem menuItem_9 = new MenuItem(menu_1, SWT.NONE); menuItem_9.setText("u4E0Bu6765u83DCu53551.3"); MenuItem menuItem_1 = new MenuItem(menu, SWT.CASCADE); menuItem_1.setText("u4E3Bu83DCu53552"); Menu menu_2 = new Menu(menuItem_1); menuItem_1.setMenu(menu_2); MenuItem menuItem_10 = new MenuItem(menu_2, SWT.NONE); menuItem_10.setText("u4E0Bu62C9u83DCu53552.1"); MenuItem menuItem_11 = new MenuItem(menu_2, SWT.NONE); menuItem_11.setText("u4E0Bu62C9u83DCu53552.2"); }}这个是用SWT写的,很好用。具体的应用就是个menuitem添加选中的监听器,这里是在复选框选中时,弹出消息框,显式该选项被选中。
2023-08-09 13:10:441

如何遍历MainMenu上的所有菜单项

//这个是TreeView,不是ListView//声明递归方法 //procedure aaaaa(mMenu: TMenuItem; nNode: TTreeNodes;p_node: TTreeNode);procedure TForm1.aaaaa(mMenu: TMenuItem; nNode: TTreeNodes;p_node: TTreeNode);var i: Integer; c_node: TTreeNode;begin for i := 0 to mMenu.Count - 1 do begin c_node := nNode.AddChild(p_node,mMenu.Items[i].Caption); aaaaa(mMenu.Items[i],nNode,c_node); //递归 end;end;procedure TForm1.Button1Click(Sender: TObject);var
2023-08-09 13:10:511

Java 一个菜单窗口的程序出现错误

重装系统 不就得了
2023-08-09 13:10:582

android固定底部菜单,可以在每个Activity中都能显示

用tabHost做
2023-08-09 13:11:083

android怎么在系统app的菜单里面

连接不到app store是因app store 服务器是放到国外,所以服务器有问题,可以通过以下解决。1、在这里可以尝试把dns换成8.8.8.8 ,如在ios8设置桌面点击“设置”--“无线局域网”--“已连wifi后面的感叹号”--点击DNS,顺利打开AppStore。2、把时间设置到早些时候(20150124或更早)。3、使用VPN应用。
2023-08-09 13:11:162