楼主是想给“文件”菜单添加助记符键‘F’吧。java中有专门的方法设置。
创新互联公司是一家专业提供景东企业网站建设,专注与成都网站制作、网站建设、HTML5建站、小程序制作等业务。10年已为景东众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
JMenu menu=new JMenu("文件",'F');
出现的效果应该就是楼主想要的,而且键盘输入F,还可以选择该菜单项的哦。
楼主觉得正确的话记得设为满意答案哈。
为了更具有可读性。
JDK1.7的发布已经介绍了一些有用的特征,尽管大部分都是一些语法糖,但仍然极大地提高了代码的可读性和质量。其中的一个特征是介绍字面常量数字的下划线。
从Java7开始,你就可以在你的Java代码里把长整型数字比如10000000000写成一个更具可读性10_000_000_000。
在字面常量数字中加下划线的一个重要的原因是避免一些难以通过看代码来发现的细微的错误。对比10000000000 和1000000000,我们很难发现少了一个0或多了一个0,但对于10_000_000_000和1_000_000_000却不然。
所以如果你在Java源码中要处理大数字,你可以在数字中加入下划线来提高可读性。使用的时候要注意:在字面常量数字里加下划线是有一定规则的,下划线只能在数字之间,在数字的开始或结束一定不能使用下划线。
下划线没什么作用,只是类的名字而已
package cx;
import java.awt.*;
import java.awt.event.*;
import javax.swing.text.MutableAttributeSet;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyledEditorKit;
@SuppressWarnings("serial")
public class GraphDemo extends Frame
{
static Checkbox cb1;
static Checkbox cb2;
static Checkbox cb3;
static Checkbox cb4;
static Checkbox cb5;
static Checkbox cb6;
TextField tf1,tf2;
static TextArea ta;
Button btn1,btn2,btn3,btn4;
CheckboxGroup cbg;
Panel pn1,pn2,pn3;
private static int num=0;
public void init()
{
setLayout(null);
pn1=new Panel();
pn2=new Panel();
pn3=new Panel();
pn1.setLayout(null);
pn2.setLayout(null);
pn3.setLayout(null);
pn1.setLayout(new FlowLayout(FlowLayout.LEFT));
//pn2.setLayout(new FlowLayout(FlowLayout.LEFT));
pn3.setLayout(new GridLayout(1,4));
cb1=new Checkbox("粗体");
cb2=new Checkbox("斜体");
cb3=new Checkbox("下划线");
cb4=new Checkbox("红色");
cb5=new Checkbox("绿色");
cb6=new Checkbox("蓝色");
cbg=new CheckboxGroup();
tf1=new TextField(20);
tf2=new TextField("该文本不可编辑",20);
ta=new TextArea("你好",10,20);
btn1=new Button("第一页");
btn2=new Button("上一页");
btn3=new Button("下一页");
btn4=new Button("最后页");
cb4.setCheckboxGroup(cbg);
cb5.setCheckboxGroup(cbg);
cb6.setCheckboxGroup(cbg);
pn1.add(cb1);
pn1.add(cb2);
pn1.add(cb3);
pn1.add(cb4);
pn1.add(cb5);
pn1.add(cb6);
pn2.add(tf1);
pn2.add(ta);
pn2.add(tf2);
pn3.add(btn1);
pn3.add(btn2);
pn3.add(btn3);
pn3.add(btn4);
add(pn1);
add(pn2);
add(pn3);
cb4.setForeground(Color.RED);
cb5.setForeground(Color.GREEN);
cb6.setForeground(Color.BLUE);
setBackground(Color.lightGray);
tf1.setEchoChar('*');
tf2.setEnabled(false);
tf2.setBounds(10,50,120,20);
tf1.setBounds(10,10,120,20);
ta.setBounds(135,10,180,150);
pn1.setBounds(20, 40, 80, 165);
pn2.setBounds(100, 40, 350, 165);
pn3.setBounds(20, 220, 300, 30);
setLocation(300,400);
setSize(430,260);
setVisible(true);
addWindowListener(new WindowClose());
cb1.addItemListener(new ItemListen());
cb2.addItemListener(new ItemListen());
cb3.addItemListener(new ItemListen());
cb4.addItemListener(new ItemListen());
cb5.addItemListener(new ItemListen());
cb6.addItemListener(new ItemListen());
}
public GraphDemo()
{
super("复选框和单选框按钮图");
init();
}
public static void main(String [] args)
{
@SuppressWarnings("unused")
GraphDemo gd=new GraphDemo();
}
static class WindowClose extends WindowAdapter implements WindowListener
{
public void windowClosing (WindowEvent e)
{
System.exit(0);
}
}
static class ItemListen implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
Checkbox ckb=(Checkbox)e.getSource();
Font ft1=ta.getFont();
int style=ft1.getStyle();
if(ckb==cb4)
ta.setForeground(Color.RED);
else if(ckb==cb5)
ta.setForeground(Color.GREEN);
else if(ckb==cb6)
ta.setForeground(Color.BLUE);
else if(ckb==cb1||ckb==cb2||ckb==cb3)
{
if(ckb==cb1) style=style^1;//异或运算
if(ckb==cb2) style=style^2;
if(ckb==cb3)
{
/*StyledEditorKit kit = getStyledEditorKit(ckb);
MutableAttributeSet attr = kit.getInputAttributes();
boolean underline = (StyleConstants.isUnderline(attr)) ? false : true;
SimpleAttributeSet sas = new SimpleAttributeSet();
StyleConstants.setUnderline(sas, underline);
setCharacterAttributes(ckb, sas, false);
*/
}
ta.setFont(new Font(ft1.getName(),style,ft1.getSize()));
//ta.append("\n"+(num++)+" style="+style+" "+e.getItem()+" "+ckb.getState());字符串不能跨行
}
}
private void setCharacterAttributes(Checkbox ckb, SimpleAttributeSet sas,boolean b)
{
// TODO Auto-generated method stub
}
private StyledEditorKit getStyledEditorKit(Checkbox ckb)
{
// TODO Auto-generated method stub
return null;
}
}
}
没什么用,就是为了好看而已,因为前面都是Goto,也就是为了图个直观,对于程序执行而已,没有任何意义。