主题:文字字体设计窗体
设计一个文字字体设计窗体 , 在该窗体中可以设置要显示文字的字体内容 , 包括字体名称、字体大小、粗体和斜体等字体风格。
程序中的代码写不出来,作业后天就要交了。请各位帮帮忙~~~
//ArtFont.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ArtFont extends JFrame implements ActionListener{
JComboBox fontType,fontSize;
JCheckBox boldBx;//粗体按钮
JCheckBox italicBx;//斜体按钮
JButton colorBtn;//颜色按钮;
String[] fontNames;//字体名称;
String[] fontSizes;//字体尺寸;
JLabel label;//输入提示标签;
JTextField inputText;//文字输入框;
JTextArea txtArea;//文字显示区;
JPanel fontPanel;//字体设置;
JPanel showPanel;//显示效果区
Font font;
int boldStyle,italicStyle,underlineStyle;
int fontSizeStyle;
String fontNameStyle;
Color colorStyle=Color.black;//设置字体的默认颜色为黑色;
public ArtFont() {
super("字体设置");
//设置默认字体
boldStyle=0;
italicStyle=0;
underlineStyle=0;
fontSizeStyle=10;
fontNameStyle="宋体";
font=new Font(fontNameStyle,boldStyle+italicStyle,fontSizeStyle);
fontPanel=new JPanel();
fontPanel.setLayout(new FlowLayout());
//设置字体名字
GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();
fontNames=ge.getAvailableFontFamilyNames();//获得系统中所有字体的名字;
fontType=new JComboBox(fontNames);
fontType.setEditable(false);
fontType.setMaximumRowCount(10);
fontType.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e){
//实现监听字体名字改变的事件
程序段1
}
});
//设置字体大小
fontSizes=new String[63];
for(int i=0;i<63;i++){
fontSizes[i]=Integer.toString((i+10));
}
fontSize=new JComboBox(fontSizes);
fontSize.setEditable(false);
fontSize.setMaximumRowCount(10);
fontSize.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e){
//实现监听字体大小改变的方法
程序段2
}
});
//设置粗体选择按钮;
boldBx=new JCheckBox("粗体");
boldBx.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e){
//实现监听选择粗体状态改变的方法
程序段3
}
});
//设置斜体选择按钮;
italicBx=new JCheckBox("斜体");
italicBx.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e){
//实现监听选择斜体状态改变的方法
程序段4
}
}
});
//设置颜色选择;
colorBtn=new JButton("颜色");
colorBtn.addActionListener(this);
//设置字体面板;
fontPanel.add(fontType);
fontPanel.add(fontSize);
fontPanel.add(boldBx);
fontPanel.add(italicBx);
fontPanel.add(colorBtn);
//设置输入提示标签
label=new JLabel("输入");
//设置文本输入框;
inputText=new JTextField(30);
inputText.addActionListener(this);
//设置文本显示区;
txtArea=new JTextArea(10,80);//20行80列;
txtArea.setFont(font);
//设置文本面板;
showPanel=new JPanel();
showPanel.add(label);
showPanel.add(inputText);
showPanel.setLayout(new FlowLayout());
showPanel.add(new JScrollPane(txtArea));
//设置容器;
Container container=getContentPane();
container.setLayout(new BorderLayout());
container.add(fontPanel,BorderLayout.NORTH);
container.add(showPanel,BorderLayout.CENTER);
setSize(500,300);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==colorBtn){//改变颜色
colorStyle=JColorChooser.showDialog(this,"选择字体颜色",colorStyle);
colorBtn.setForeground(colorStyle);
txtArea.setForeground(colorStyle);
}
else if(e.getSource()==inputText){//将输入文字在文字显示区表示;
txtArea.setText(inputText.getText());
}
}
public static void main(String args[]){
ArtFont artFont=new ArtFont();
artFont.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
程序中的代码写不出来,作业后天就要交了。请各位帮帮忙~~~
//ArtFont.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ArtFont extends JFrame implements ActionListener{
JComboBox fontType,fontSize;
JCheckBox boldBx;//粗体按钮
JCheckBox italicBx;//斜体按钮
JButton colorBtn;//颜色按钮;
String[] fontNames;//字体名称;
String[] fontSizes;//字体尺寸;
JLabel label;//输入提示标签;
JTextField inputText;//文字输入框;
JTextArea txtArea;//文字显示区;
JPanel fontPanel;//字体设置;
JPanel showPanel;//显示效果区
Font font;
int boldStyle,italicStyle,underlineStyle;
int fontSizeStyle;
String fontNameStyle;
Color colorStyle=Color.black;//设置字体的默认颜色为黑色;
public ArtFont() {
super("字体设置");
//设置默认字体
boldStyle=0;
italicStyle=0;
underlineStyle=0;
fontSizeStyle=10;
fontNameStyle="宋体";
font=new Font(fontNameStyle,boldStyle+italicStyle,fontSizeStyle);
fontPanel=new JPanel();
fontPanel.setLayout(new FlowLayout());
//设置字体名字
GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment();
fontNames=ge.getAvailableFontFamilyNames();//获得系统中所有字体的名字;
fontType=new JComboBox(fontNames);
fontType.setEditable(false);
fontType.setMaximumRowCount(10);
fontType.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e){
//实现监听字体名字改变的事件
程序段1
}
});
//设置字体大小
fontSizes=new String[63];
for(int i=0;i<63;i++){
fontSizes[i]=Integer.toString((i+10));
}
fontSize=new JComboBox(fontSizes);
fontSize.setEditable(false);
fontSize.setMaximumRowCount(10);
fontSize.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e){
//实现监听字体大小改变的方法
程序段2
}
});
//设置粗体选择按钮;
boldBx=new JCheckBox("粗体");
boldBx.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e){
//实现监听选择粗体状态改变的方法
程序段3
}
});
//设置斜体选择按钮;
italicBx=new JCheckBox("斜体");
italicBx.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e){
//实现监听选择斜体状态改变的方法
程序段4
}
}
});
//设置颜色选择;
colorBtn=new JButton("颜色");
colorBtn.addActionListener(this);
//设置字体面板;
fontPanel.add(fontType);
fontPanel.add(fontSize);
fontPanel.add(boldBx);
fontPanel.add(italicBx);
fontPanel.add(colorBtn);
//设置输入提示标签
label=new JLabel("输入");
//设置文本输入框;
inputText=new JTextField(30);
inputText.addActionListener(this);
//设置文本显示区;
txtArea=new JTextArea(10,80);//20行80列;
txtArea.setFont(font);
//设置文本面板;
showPanel=new JPanel();
showPanel.add(label);
showPanel.add(inputText);
showPanel.setLayout(new FlowLayout());
showPanel.add(new JScrollPane(txtArea));
//设置容器;
Container container=getContentPane();
container.setLayout(new BorderLayout());
container.add(fontPanel,BorderLayout.NORTH);
container.add(showPanel,BorderLayout.CENTER);
setSize(500,300);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==colorBtn){//改变颜色
colorStyle=JColorChooser.showDialog(this,"选择字体颜色",colorStyle);
colorBtn.setForeground(colorStyle);
txtArea.setForeground(colorStyle);
}
else if(e.getSource()==inputText){//将输入文字在文字显示区表示;
txtArea.setText(inputText.getText());
}
}
public static void main(String args[]){
ArtFont artFont=new ArtFont();
artFont.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}