文档库 最新最全的文档下载
当前位置:文档库 › java_pro3

java_pro3

java_pro3
java_pro3

编写一个应用程序,在其窗口内包含一个菜单栏和一个文本框。菜单栏包括“设置”和“操作”两个菜单。“操作”菜单包括“退出”菜单项,当用户选择“退出”菜单项时,则关闭窗口退出整个应用程序的运行;“设置”菜单包括“字体”和“风格”两个菜单项和一个“只读”复选菜单项。“字体”菜单项包括“宋体”、“楷体”和“黑体”3个单选子菜单项。“风格”菜单项包括“普通”、“黑体”、“斜体”等3个复选子菜单项。当“只读”菜单项未被选中时,用户可以在文本区内输入字符;当“只读”菜单项被选中时,用户不能在文本区内输入字符。当用户选择其他菜单项时,文本区内的文字随之变化。

10、在9题的基础上增加如下功能:每当用户选中“只读”菜单项时,都将“字体”和“风格”两个菜单项变成灰色,使之不能被选中;而每当“只读”菜单项未被选中时,再将“字体”和“风格”两个才当想恢复成可选状态。

import java.awt.Dimension;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JCheckBox;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JPanel;

import javax.swing.JTextArea;

public class T3 extends JFrame implements ActionListener{

public T3()

{

super();

}

public JPanel initJpanel()

{

JPanel panel=new JPanel();

panel.setPreferredSize(new Dimension(400,300));

JMenu jm=new JMenu("设置");

JMenu jmc=new JMenu("字体");

JMenu jmd=new JMenu("风格");

JMenuItem t1_1=new JMenuItem("宋体");

JMenuItem t1_2=new JMenuItem("楷体");

JMenuItem t1_3=new JMenuItem("黑体");

jmc.add(t1_1);

jmc.add(t1_2);

jmc.add(t1_3);

JCheckBox comn=new JCheckBox("普通");

JCheckBox bla=new JCheckBox("黑体");

JCheckBox itl=new JCheckBox("斜体");

jmd.add(comn);

jmd.add(bla);

jmd.add(itl);

JCheckBox read=new JCheckBox("只读");

jm.add(jmc);

jm.add(jmd);

jm.add(read);

JMenu jm1=new JMenu("操作");

JMenuItem t3=new JMenuItem("退出");

jm1.add(t3);

JMenuBar br=new JMenuBar();

br.add(jm);

br.add(jm1);

panel.add(br);

JTextArea TA=new JTextArea();

TA.setPreferredSize(new Dimension(200,100));

TA.setText("你好!");

TA.setFont(new Font("宋体",https://www.wendangku.net/doc/9a5209701.html,YOUT_LEFT_TO_RIGHT,20));

TA.setLineWrap(true);

panel.add(TA);

t1_1.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

TA.setFont(new Font("宋体",https://www.wendangku.net/doc/9a5209701.html,YOUT_LEFT_TO_RIGHT,20));

}

});

t1_2.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

TA.setFont(new Font("楷体",https://www.wendangku.net/doc/9a5209701.html,YOUT_LEFT_TO_RIGHT,20));

}

});

t1_3.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

TA.setFont(new Font("黑体",https://www.wendangku.net/doc/9a5209701.html,YOUT_LEFT_TO_RIGHT,20));

}

});

comn.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

TA.setFont(new Font("宋体",https://www.wendangku.net/doc/9a5209701.html,YOUT_LEFT_TO_RIGHT,20));

}

});

bla.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

if(bla.isSelected())

TA.setFont(new Font("黑体",Font.BOLD,20));

else

TA.setFont(new Font("宋体",https://www.wendangku.net/doc/9a5209701.html,YOUT_LEFT_TO_RIGHT,20));

}

});

itl.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

if(itl.isSelected())

if(bla.isSelected())

TA.setFont(new Font("黑体",Font.ITALIC,20));

else

TA.setFont(new Font("宋体",Font.ITALIC,20));

else

if(bla.isSelected())

TA.setFont(new Font("黑体

",https://www.wendangku.net/doc/9a5209701.html,YOUT_LEFT_TO_RIGHT,20));

else

TA.setFont(new Font("宋体",https://www.wendangku.net/doc/9a5209701.html,YOUT_LEFT_TO_RIGHT,20));

}

});

read.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

if(read.isSelected())

{

TA.setEditable(true);

//第十题加上下两行

jmc.setEnabled(false);

jmd.setEnabled(false);

}

else

{

TA.setEditable(false);

//第十题加上下两行

jmc.setEnabled(true);

jmd.setEnabled(true);

}

}

});

t3.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e)

{

System.exit(0);

}

});

return panel;

}

public static void main(String []args)

{

JFrame frame=new JFrame("窗口");

T3 te = new T3();

frame.setContentPane(te.initJpanel());

frame.setPreferredSize(new Dimension(400,300));

frame.setVisible(true);

frame.pack();

}

}

相关文档