标签:JMenuItem public add NormalFont Swing setFont new 下拉菜单 弹出式
基本知识
1.下拉菜单
- JMenuBar菜单栏
private JMenuBar jmenuMain;
- JMenu一级菜单
private JMenu jmenuEle;
jmenuEle = new JMenu("选择");
jmenuEle.setBorder(new TitledBorder(" ")); //加上边框
jmenuEle.setFont(NormalFont);
jmenuEle.setForeground(menuColor);
jmenuEle.addSeparator(); //分割线
jmenuEle.add(jitemExit);
- JMenuItem菜单选项
JMenuItem jitemYes = new JMenuItem("确认");
JMenuItem jitemExit = new JMenuItem("退出");
JMenuItem jitemAdd = new JMenuItem("添加");
jitemYes.setFont(NormalFont);
jitemExit.setFont(NormalFont);
jitemAdd.setFont(NormalFont);
2.弹出式菜单
JPopupMenu jpopupMenu = new JPopupMenu();
JMenu jmenuTan = new JMenu("弹一弹");
jmenuTan.setFont(topicFont);
jmenuTan.setForeground(menuColor);
itemOne = new JMenuItem("弹 ~ 弹一下");
itemTWO = new JMenuItem("弹出来了");
itemOne.setFont(NormalFont);
itemTWO.setFont(NormalFont);
itemTHREE.setFont(NormalFont);
itemFOUR.setFont(NormalFont);
jmenuTan.add(itemOne);
jmenuTan.add(itemTWO);
jpopupMenu.add(jmenuTan);
简单举例代码
// 接口
public interface IMecView {
public static final Font topicFont = new Font("华文仿宋",Font.BOLD,35);
public static final Font NormalFont = new Font("华文仿宋",Font.BOLD,25);
public static final Font smallFont = new Font("华文仿宋",Font.BOLD,20);
public static final Color TopicFontColor = new Color(255, 128,128);
public static final Color JbtnColor = new Color(159, 51,116);
public static final Color menuColor = new Color(69,135,160);
public static final int topicSize = topicFont.getSize();
public static final int Normalize = NormalFont.getSize();
public static final int smallSize = smallFont.getSize();
public void init();
public void reinit();
public void dealAction();
public void showView();
public void closeView();
default void Viewinit() {
init();
reinit();
dealAction();
}
}
// 上面接口的实现类
public class MenuStudy implements IMecView {
private JFrame jframMain;
private JMenuBar jmenuMain;
private JMenu jmenuFont;
private JMenu jmenuSports;
private JMenu jmenuEle;
private JLabel jlbltip;
private JPopupMenu jpopupMenu;
public MenuStudy() {
Viewinit();
}
@Override
public void init() {
jframMain = new JFrame("~ MenuStudy ~");
jframMain.setSize(800, 800);
jframMain.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframMain.setLocationRelativeTo(null);
jframMain.setLayout(new BorderLayout());
jframMain.setResizable(false);
jmenuMain = new JMenuBar();
jmenuEle = new JMenu("选择");
jmenuEle.setBorder(new TitledBorder(" "));
jmenuEle.setFont(NormalFont);
jmenuEle.setForeground(menuColor);
JMenuItem jitemYes = new JMenuItem("确认");
JMenuItem jitemExit = new JMenuItem("退出");
JMenuItem jitemAdd = new JMenuItem("添加");
jitemYes.setFont(NormalFont);
jitemExit.setFont(NormalFont);
jitemAdd.setFont(NormalFont);
jmenuEle.add(jitemAdd);
jmenuEle.add(jitemYes);
jmenuEle.addSeparator(); //分割线
jmenuEle.add(jitemExit);
jmenuMain.add(jmenuEle);
jmenuFont = new JMenu("字体");
jmenuFont.setBorder(new TitledBorder(" ")); //加上边框
JMenuItem itemOne = new JMenuItem("宋体");
JMenuItem itemTWO = new JMenuItem("楷体");
JMenuItem itemTHREE = new JMenuItem("华文仿宋");
JMenuItem itemFOUR = new JMenuItem("微软雅黑");
jmenuFont.setFont(NormalFont);
jmenuFont.setForeground(menuColor);
itemOne.setFont(NormalFont);
itemTWO.setFont(NormalFont);
itemTHREE.setFont(NormalFont);
itemFOUR.setFont(NormalFont);
jmenuFont.add(itemOne);
jmenuFont.add(itemTWO);
jmenuFont.add(itemTHREE);
jmenuFont.add(itemFOUR);
jmenuMain.add(jmenuFont);
jmenuSports = new JMenu("运动");
jmenuSports.setBorder(new TitledBorder(" "));
itemOne = new JMenuItem("游泳");
itemTWO = new JMenuItem("潜水");
itemTHREE = new JMenuItem("旅行");
itemFOUR = new JMenuItem("唱歌");
jmenuSports.setFont(NormalFont);
jmenuSports.setForeground(menuColor);
itemOne.setFont(NormalFont);
itemTWO.setFont(NormalFont);
itemTHREE.setFont(NormalFont);
itemFOUR.setFont(NormalFont);
jmenuSports.add(itemOne);
jmenuSports.add(itemTWO);
jmenuSports.add(itemTHREE);
jmenuSports.add(itemFOUR);
jmenuMain.add(jmenuSports);
jlbltip = new JLabel("在界面任意处点击!");
jlbltip.setFont(topicFont);
jlbltip.setForeground(TopicFontColor);
jlbltip.setHorizontalAlignment(JLabel.CENTER);
jframMain.add(jlbltip);
jpopupMenu = new JPopupMenu();
JMenu jmenuTan = new JMenu("弹一弹");
jmenuTan.setFont(topicFont);
jmenuTan.setForeground(menuColor);
itemOne = new JMenuItem("弹 ~ 弹一下");
itemTWO = new JMenuItem("弹出来了");
itemOne.setFont(NormalFont);
itemTWO.setFont(NormalFont);
itemTHREE.setFont(NormalFont);
itemFOUR.setFont(NormalFont);
jmenuTan.add(itemOne);
jmenuTan.add(itemTWO);
jpopupMenu.add(jmenuTan);
jframMain.setJMenuBar(jmenuMain);
}
@Override
public void reinit() {
}
@Override
public void dealAction() {
jframMain.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
jpopupMenu.show(jframMain, e.getX(), e.getY());
}
});
}
@Override
public void showView() {
jframMain.setVisible(true);
}
@Override
public void closeView() {
jframMain.dispose();
}
}
测试代码
public class TestForMenu {
public static void main(String[] args) {
MenuStudy menu = new MenuStudy();
menu.showView();
}
}
效果显示
标签:JMenuItem,public,add,NormalFont,Swing,setFont,new,下拉菜单,弹出式 来源: https://blog.csdn.net/CactusStory_/article/details/96869189
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。