⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menutest.java

📁 GUI代码,用与实现相关GUI的功能,如有需要即可自由下载!
💻 JAVA
字号:
//Menu
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;

public class MenuTest extends JFrame
{
		private Color colorValues[]={Color.black,Color.blue,Color.red,Color.green};
		private JRadioButtonMenuItem colorItems[] ,fonts[];
		private JCheckBoxMenuItem styleItems[];
		private JLabel displayLabel;
		private ButtonGroup fontGroup,colorGroup;
		private int style;
		
		public MenuTest()
		{
				super("Using JMenu");
				
				JMenu fileMenu = new JMenu("File");
				fileMenu.setMnemonic('F');
				
				JMenuItem aboutItem = new JMenuItem("About...");
				aboutItem.setMnemonic('A');
				aboutItem.addActionListener(new ActionListener()
				{
						public void actionPerformed(ActionEvent e)
						{
								JOptionPane.showMessageDialog(MenuTest.this,"This is an example\nof using menus","About",JOptionPane.PLAIN_MESSAGE);
							}
					});
				fileMenu.add(aboutItem);
				JMenuItem exitItem = new JMenuItem("Exit");
				exitItem.setMnemonic('x');
				exitItem.addActionListener(new ActionListener()
				{
						public void actionPerformed(ActionEvent e)
						{
								System.exit(0);
							}
					});
				fileMenu.add(exitItem);
				
				//create menu bar and attach it to MenuTest window
				JMenuBar bar = new JMenuBar();
				setJMenuBar(bar);
				bar.add(fileMenu);
				
				//creat Format menu,its submenus and menu items
				JMenu formatMenu = new JMenu("Format");
				formatMenu.setMnemonic('r');
				
				String colors[] = {"Black","Blue","Red","Green"};
				JMenu colorMenu = new JMenu("Color");
				colorMenu.setMnemonic('C');
				
				colorItems = new JRadioButtonMenuItem[colors.length];
				colorGroup = new ButtonGroup();
				ItemHandler itemHandler = new ItemHandler();
				
				for(int count = 0;count<colors.length;count++)
				{
						colorItems[count] = new JRadioButtonMenuItem(colors[count]);						
						
						colorMenu.add(colorItems[count]);
						colorGroup.add(colorItems[count]);
						
						
						colorItems[count].addActionListener(itemHandler);
					}
				
				//select first color menu item
				colorItems[0].setSelected(true);
				//add  format menu to menu bar
				formatMenu.add(colorMenu);
				//add seperator line
				formatMenu.addSeparator();
				
				//creat Font submenu
				String fontNames[] = {"Serif","Monospaced","SansSerif"};
				JMenu fontMenu = new JMenu("Font");
				fontMenu.setMnemonic('n');
				
				fonts = new JRadioButtonMenuItem[fontNames.length];
				fontGroup = new ButtonGroup();
				
				//creat Font radio button menu items
				for(int count = 0;count<fonts.length;count++)
				{
					fonts[count] = new JRadioButtonMenuItem(fontNames[count]);
					fontMenu.add(fonts[count]); 
					fontGroup.add(fonts[count]);
					fonts[count].addActionListener(itemHandler);
					}
				
				//select first font menu item
				fonts[0].setSelected(true);
				fontMenu.addSeparator();
				
				//set up style menu items
				String styleNames[] = {"Bold","Italic"};
				styleItems = new JCheckBoxMenuItem[styleNames.length];
				StyleHandler styleHandler = new StyleHandler();
				
				//creat style checkbox menu items
				for(int count = 0;count < styleNames.length;count++)
				{
						styleItems[count] = new JCheckBoxMenuItem(styleNames[count]);
						fontMenu.add(styleItems[count]);
						
						styleItems[count].addItemListener(styleHandler);
					}
				
				//put Font menu int Format menu
				formatMenu.add(fontMenu);
				
				//add Format menu to menu bar
				bar.add(formatMenu);
				
				displayLabel = new JLabel("Simple Text",SwingConstants.CENTER);
				displayLabel.setForeground(colorValues[0]);
				displayLabel.setFont(new Font("TimesRoman",Font.PLAIN,72));
				
				getContentPane().setBackground(Color.cyan);
				getContentPane().add(displayLabel,BorderLayout.CENTER);
				setSize(600,600);
				setVisible(true);
			}
			
			public static void main(String[]args)
			{
					MenuTest mt = new MenuTest();
					mt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				}
			private class ItemHandler implements ActionListener
			{
					public void actionPerformed(ActionEvent e)
					{
							//process color selection
							for(int count = 0;count<colorItems.length;count++)
							{
									if(colorItems[count].isSelected())
									 {
									 	displayLabel.setForeground(colorValues[count]);
									 	break;
									 	}
								}
							//process font selection
								for(int count = 0;count<colorItems.length;count++)
							{
									if(e.getSource() ==  fonts[count])
									 {
									 	displayLabel.setFont(new Font(fonts[count].getText(),style,72));
									 	break;
									 	}
								}
								repaint();						
						}
				}
			private class StyleHandler implements ItemListener
			{
					public void itemStateChanged(ItemEvent e)
					{
							style = 0;
							
							//check for bold selection
							if(styleItems[0].isSelected())
							  style += Font.BOLD;
							//check for italic selection
							if(styleItems[1].isSelected())
							  style += Font.ITALIC;
						displayLabel.setFont(new Font(displayLabel.getFont().getName(),style,72));
						repaint();
						}
				}
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -