📄 mymenu.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MYMENU extends JFrame
{
private JFrame frame;
private JMenuBar menubar;
private JMenu filemenu;
private JMenu editmenu;
private JMenu helpmenu;
private JMenu Searchmenu;
private JMenu Viewmenu;
private JMenu windowmenu;
private JMenu colormenu;
private JMenu fontmenu;
private JMenuItem exititem;
private JMenuItem aboutitem;
private Color colorValues[] =
{ Color.black, Color.blue, Color.red, Color.green};
private JRadioButtonMenuItem colorItems[];
private JRadioButtonMenuItem fonts[];
private JCheckBoxMenuItem styleItems[];
private JLabel displayLabel;
private ButtonGroup fontGroup, colorGroup;
private int style;
public MYMENU()
{
super( "MY FIRST MENU" );
}
public void fix()
{
JFrame frame = new JFrame("My First Menu");
JMenuBar menubar = new JMenuBar();
JMenu filemenu = new JMenu("File");
JMenu editmenu = new JMenu("Edit");
JMenu searchmenu = new JMenu("Search");
JMenu viewmenu = new JMenu("View");
JMenu windowmenu = new JMenu("Window");
JMenu helpmenu = new JMenu("Help");
JMenu colormenu = new JMenu( "Color" );
colormenu.setMnemonic( 'C' );
JMenu fontmenu = new JMenu("Font");
fontmenu.setMnemonic('O');
JMenuItem aboutitem = new JMenuItem("about");
JMenuItem exititem = new JMenuItem("exit");
// JRadioButtonMenuItem colorItems = new JRadioButtonMenuItem("color");
// JRadioButtonMenuItem fontitem = new JRadioButtonMenuItem("font");
filemenu.add(exititem);
exititem.setMnemonic( 'E' );
filemenu.add(aboutitem);
aboutitem.setMnemonic('A');
setJMenuBar( menubar );
menubar.add(filemenu);
filemenu.setMnemonic('F');
menubar.add(editmenu);
editmenu.setMnemonic('D');
menubar.add(searchmenu);
searchmenu.setMnemonic('S');
menubar.add(viewmenu);
viewmenu.setMnemonic('V');
menubar.add(windowmenu);
windowmenu.setMnemonic('W');
// setJMenuBar( menubar );
menubar.add(helpmenu);
helpmenu.setMnemonic('H');
//对exititem 绑定事件
exititem.addActionListener(
new ActionListener() { // anonymous inner class
// terminate application when user clicks exitItem
public void actionPerformed( ActionEvent event )
{
System.exit( 0 );
}
}); // end anonymous inner class
aboutitem.addActionListener(
new ActionListener()
{
public void actionPerformed( ActionEvent event )
{
JOptionPane.showMessageDialog( MYMENU.this,
"Thank you for Click",
"About", JOptionPane.PLAIN_MESSAGE );
}
});
{
// 建立Color的Sub menu
String colors[] = { "Black", "Blue", "Red", "Green" };
colorItems = new JRadioButtonMenuItem[ colors.length ];
colorGroup = new ButtonGroup();
ItemHandler itemHandler = new ItemHandler();
// create color radio button menu items
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
editmenu.add( colormenu );
editmenu.addSeparator();
}
{
//建立font的 sub menu
String fontNames[] = { "Serif", "Monospaced", "SansSerif" };
// JMenu fontmenu = new JMenu( "Font" );
fontmenu.setMnemonic( 'N' );
fonts = new JRadioButtonMenuItem[ fontNames.length ];
fontGroup = new ButtonGroup();
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);
}
fonts[ 0 ].setSelected( true );
fontmenu.addSeparator();
// set up style menu items
String styleNames[] = { "Bold", "Italic" };
styleItems = new JCheckBoxMenuItem[ styleNames.length ];
StyleHandler styleHandler = new StyleHandler();
// create 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 in Format menu
editmenu.add( fontmenu );
// add Format menu to menu bar
menubar.add( editmenu );
}
{
displayLabel = new JLabel( "** Hello.....* :)*", SwingConstants.CENTER );
displayLabel.setForeground( Color.RED );
displayLabel.setFont( new Font( "Serif", Font.PLAIN, 95 ) );
getContentPane().setBackground( Color.pink);
getContentPane().add( displayLabel, BorderLayout.CENTER );
setSize( 800, 375 );
setVisible( true );
}
}
public void b()
{
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
// inner class to handle action events from menu items
private class ItemHandler implements ActionListener
{
// process color and font selections
public void actionPerformed( ActionEvent event )
{
// 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 < fonts.length; count++ )
if ( event.getSource() == fonts[ count ] )
{
displayLabel.setFont(
new Font( fonts[ count ].getText(), style, 72 ) );
break;
}
repaint();
}
}
// inner class to handle item events from check box menu items
private class StyleHandler implements ItemListener {
// process font style selections
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, 250) );
repaint();
}
} // end class StyleHandler
public static void main(String[] args)
{
MYMENU aa =new MYMENU();
aa.fix();
aa.b();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -