作者:-赵-宾-_879 | 来源:互联网 | 2023-08-04 14:46
3.设计一个带有菜单的图形用户界面程序,使用级联菜单控制文字的字体和颜色,运行结果如下图所示importjavax.swing.*;importjava.awt.event.*;importj
3. 设计一个带有菜单的图形用户界面程序,使用级联菜单控制文字的字体和颜色,运行结果如下图所示
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();
}
}