3. 设计一个带有菜单的图形用户界面程序,使用级联菜单控制文字的字体和颜色,运行结果如下图所示

3. 设计一个带有菜单的图形用户界面程序,使用级联菜单控制文字的字体和颜色,运行结果如下图所示

3. 设计一个带有菜单的图形用户界面程序,使用级联菜单控制文字的字体和颜色,运行结果如下图所示_第1张图片

import javax.swing.*;import java.awt.event.*;import java.awt.*;
public class MenuTest extends JFrame implements ActionListener{
	JMenuBar jmb = new JMenuBar();
	JMenu fontMenu = new JMenu("字体(F)");
	JMenu helpMenu = new JMenu("帮助");
	JMenu styleMenu = new JMenu("样式");
	JMenu colorMenu = new JMenu("颜色");
	JMenuItem exitMenu = new JMenuItem("退出");
	JMenuItem aboutMenu = new JMenuItem("关于");
	
	JCheckBoxMenuItem boldMenu = new JCheckBoxMenuItem("粗体(B)");
	JCheckBoxMenuItem italicMenu = new JCheckBoxMenuItem("斜体");
	
	JMenuItem redMenu = new JMenuItem("红色");
	JMenuItem greenMenu = new JMenuItem("绿色");
	JMenuItem blueMenu = new JMenuItem("蓝色");
	
	JTextArea txtDemo = new JTextArea("示例文字");
	
	int bold,italic;
	
	public MenuTest(){
		setJMenuBar(jmb);
		jmb.add(fontMenu);
		jmb.add(helpMenu);
		
		fontMenu.setMnemonic(KeyEvent.VK_F);
		boldMenu.setMnemonic(KeyEvent.VK_B);
		
		fontMenu.add(styleMenu);
		fontMenu.add(colorMenu);
		fontMenu.addSeparator();
		
		fontMenu.add(exitMenu);
		fontMenu.add(aboutMenu);
		
		styleMenu.add(boldMenu);
		styleMenu.add(italicMenu);
		
		colorMenu.add(redMenu);
		colorMenu.add(greenMenu);
		colorMenu.add(blueMenu);
		
		exitMenu.addActionListener(this);
		aboutMenu.addActionListener(this);
		
		boldMenu.addActionListener(this);
		italicMenu.addActionListener(this);
		
		redMenu.addActionListener(this);
		greenMenu.addActionListener(this);
		blueMenu.addActionListener(this);
		
		getContentPane().add(txtDemo);
		
		setTitle("菜单控制字体和颜色");
		setSize(350,250);
		setVisible(true);		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		
	}
	
	public void actionPerformed(ActionEvent e){
		String cmd = e.getActionCommand();
		if(cmd.equals("红色"))
			txtDemo.setForeground(Color.RED);
		else if(cmd.equals("绿色"))
			txtDemo.setForeground(Color.GREEN);
		else if(cmd.equals("蓝色"))
			txtDemo.setForeground(Color.BLUE);
		else if(cmd.equals("粗体"))
			bold = boldMenu.isSelected() ? Font.BOLD : Font.PLAIN;
		else if(cmd.equals("斜体"))
			italic = italicMenu.isSelected() ? Font.ITALIC : Font.PLAIN;
		else if(cmd.equals("退出"))
			System.exit(0);
		
		txtDemo.setFont(new Font("Serif",bold + italic,24));		
	}
	
	public static void main(String[] args){
		MenuTest tm = new MenuTest();
	}
}




你可能感兴趣的:(java)