Java 组件及事件处理实训 实训1: 编写一个窗体程序,能够对文本区中的文字设置字体和大小。
2017-10-27 20:43
866 查看
实训要求:
使用两个下拉框分别存放字体和字号的选项。其中字体从当前操作系统中获取。
选择字体和字号后,文本区中的文字会相应改变。
代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FontChange extends JFrame implements ItemListener {
JComboBox fontName;
JComboBox fontSize;
JTextArea txtContent;
Font font;
final String[] fontArr;
final String strArr = "去年今日此门中,\n" + "人面桃花相映红。\n" + "人面不知何处去,\n"
+ "桃花依旧笑春风。";
final String[] sizeArr = { "8", "9", "10", "12", "14", "16", "18", "20",
"24", "28", "32", "36", "40", "44", "48", "54", "60", "66", "72",
"80", "88", "96" };
public FontChange() {
super("改变字体");
txtContent = new JTextArea();
txtContent.setText(strArr);
JScrollPane jsp = new JScrollPane(txtContent);
GraphicsEnvironment env = GraphicsEnvironment
.getLocalGraphicsEnvironment();
fontArr = env.getAvailableFontFamilyNames();
fontName = new JComboBox(fontArr);
fontSize = new JComboBox(sizeArr);
fontSize.setPreferredSize(new Dimension(80, 27));
fontName.addItemListener(this);
fontSize.addItemListener(this);
fontName.setSelectedItem("宋体");
fontSize.setSelectedItem("16");
FlowLayout layout = new FlowLayout(FlowLayout.CENTER, 40, 5);
JPanel pan = new JPanel(layout);
pan.add(fontName);
pan.add(fontSize);
Container c = this.getContentPane();
c.add(pan, BorderLayout.NORTH);
c.add(jsp, BorderLayout.CENTER);
this.setSize(400, 300);
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void itemStateChanged(ItemEvent e) {
String s = (String) fontName.getSelectedItem();
int n = Integer.parseInt((String) fontSize.getSelectedItem());
font = new Font(s, Font.PLAIN, n);
txtContent.setFont(font);
}
public static void main(String[] args) {
new FontChange();
}
}
运行结果:
使用两个下拉框分别存放字体和字号的选项。其中字体从当前操作系统中获取。
选择字体和字号后,文本区中的文字会相应改变。
代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FontChange extends JFrame implements ItemListener {
JComboBox fontName;
JComboBox fontSize;
JTextArea txtContent;
Font font;
final String[] fontArr;
final String strArr = "去年今日此门中,\n" + "人面桃花相映红。\n" + "人面不知何处去,\n"
+ "桃花依旧笑春风。";
final String[] sizeArr = { "8", "9", "10", "12", "14", "16", "18", "20",
"24", "28", "32", "36", "40", "44", "48", "54", "60", "66", "72",
"80", "88", "96" };
public FontChange() {
super("改变字体");
txtContent = new JTextArea();
txtContent.setText(strArr);
JScrollPane jsp = new JScrollPane(txtContent);
GraphicsEnvironment env = GraphicsEnvironment
.getLocalGraphicsEnvironment();
fontArr = env.getAvailableFontFamilyNames();
fontName = new JComboBox(fontArr);
fontSize = new JComboBox(sizeArr);
fontSize.setPreferredSize(new Dimension(80, 27));
fontName.addItemListener(this);
fontSize.addItemListener(this);
fontName.setSelectedItem("宋体");
fontSize.setSelectedItem("16");
FlowLayout layout = new FlowLayout(FlowLayout.CENTER, 40, 5);
JPanel pan = new JPanel(layout);
pan.add(fontName);
pan.add(fontSize);
Container c = this.getContentPane();
c.add(pan, BorderLayout.NORTH);
c.add(jsp, BorderLayout.CENTER);
this.setSize(400, 300);
this.setResizable(false);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void itemStateChanged(ItemEvent e) {
String s = (String) fontName.getSelectedItem();
int n = Integer.parseInt((String) fontSize.getSelectedItem());
font = new Font(s, Font.PLAIN, n);
txtContent.setFont(font);
}
public static void main(String[] args) {
new FontChange();
}
}
运行结果:
相关文章推荐
- Java实训——编写一个窗体程序,能够对文本区中的文字设置字体和大小。
- Java 组件及事件处理实训 实训2:编写一个窗体程序,用于计算一元二次方程
- Java 实训1:编写一个窗体程序显示日历表。
- 使用Swing组件编写一个支持中文文本编辑程序ChineseTextEdit.java
- Java实训——编写一个窗体程序,用于计算一元二次方程。
- Java 实训 使用弹出对话框设置主窗体中的文本字体
- Java实训——编写一个窗体程序显示日历。
- 【Java】使用JFrame监听事件创建一个复制文本功能的窗体程序与按钮快捷键
- Java 实训4 编写一个窗体程序显示日历
- javacpp-opencv图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体、位置、大小、粗度、翻转、平滑等操作
- 【c语言】编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。在编写这个程序的时候要使这个程序能够处理的输入行的长度没有限制。
- 自定义字符输入流的包装类,通过这个包装类对底层字符输入流进行包装,让程序通过这个包装类读取某个文本文件(例如,一个java源文件)时,能够在读取的每行前面都加上有行号和冒号。
- 编写程序接收一个ASCII码(从0至128),然后显示输入ASCII码所代表的字符。 注意: (1)能够对1个或多个输入的ASCII码进行处理; (2)对于输入的非ASCII码进行判定和排除。
- 设置一个Label控件上文字的字体样式和字体大小随机的代码.
- 设置一个Label控件上文字的字体样式和字体大小随机的代码
- 1)复选框中文字在左边;2)水平滚动条最小值为4、最大值为72;且在窗体Load事件中通过代码设置;3)单击任何复选框,标签上文字样式都发生变化;4)单击任意单选按钮,标签上文字字体都发生改变;5)拖
- 一个WinForm记事本程序(包含主/下拉/弹出菜单/打开文件/保存文件/打印/页面设置/字体/颜色对话框/剪切版操作等等控件用法以及记事本菜单事件/按键事件的具体代码)
- 5.编写一个程序,有两个类,其中类MAX中具有两个方法,方法名都是max,一个方法能够比较两个数的大小,另外一个方法能够比较三个数的大小。在另外一个类中创建对象,调用这两个方法,分别输出两组数:2、6
- ASP编写一个网页界面,页面中设置按钮,按钮能够调用外部命令行程序
- 一个WinForm记事本程序(包含主/下拉/弹出菜单/打开文件/保存文件/打印/页面设置/字体/颜色对话框/剪切版操作等等控件用法以及记事本菜单事件/按键事件的具体代码)