在这里插入代码片
package windowsziti;
import javax.swing.;
import java.awt.;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Enumeration;
public class Main extends JFrame {
JButton yes;
JButton no;
JCheckBox jiacu;
JCheckBox xieti;
JRadioButton rbtred;
JRadioButton rbtgreen;
JTextArea wenben;
ButtonGroup grpColor;
JLabel jLabelC;
JComboBox jComboBox;
JComboBox jComboBoxD;
JLabel jLabel;
String colorFont = “”;
int zitiStyle = 0;
//JList<Integer> jList;
public Main() {
//窗口大小:
setVisible(true);// 设置可见
setTitle("字体选择器");
setSize(350, 330);
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension Size = toolkit.getScreenSize();// 获得本机屏幕大小
setLocation(Size.width / 2 - getWidth() / 2, Size.height / 2
- getHeight() / 2);
Container pnlmain = this.getContentPane();
JPanel pnltop = new JPanel();
JPanel pnltmid1 = new JPanel();
JPanel pnltmid2 = new JPanel();
JPanel pnltmid3 = new JPanel();
JPanel pnlunder = new JPanel();
pnlmain.setLayout(new GridLayout(5, 1));// 修改布局管理器
pnlmain.add(pnltop);
pnlmain.add(pnltmid1);
pnlmain.add(pnltmid2);
pnlmain.add(pnltmid3);
pnlmain.add(pnlunder);
//窗口图标
Image image = toolkit.getImage("src/text.jpg");// 图片对象
this.setIconImage(image);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//下拉选项:上半部分
jLabel = new JLabel("请选择字体样式");
jLabel.setLayout(new FlowLayout());
String[] strings = {"宋体", "楷体", "黑体", "行体", "隶书"};
jComboBox = new JComboBox(strings);
; //创建一个下拉框
pnltop.add(jLabel);
pnltop.add(jComboBox);
setVisible(true);
//中:字体大小
//jList = new JList<>(vector);
jLabelC = new JLabel("请选择字体字体大小");
jLabelC.setLayout(new FlowLayout());
jComboBoxD = new JComboBox(); //创建一个下拉框
for (int i = 10; i < 30; i += 2) {
jComboBoxD.addItem(i);
}
pnltmid1.add(jLabelC);
pnltmid1.add(jComboBoxD);
setVisible(true);
//颜色选择区
grpColor = new ButtonGroup();
rbtred = new JRadioButton("红色");
rbtgreen = new JRadioButton("绿色");
grpColor.add(rbtgreen);
grpColor.add(rbtred);
pnltmid2.add(rbtred);
pnltmid2.add(rbtgreen);
//复选框
jiacu = new JCheckBox("加粗");
xieti = new JCheckBox("斜体");
pnltmid2.add(jiacu);
pnltmid2.add(xieti);
//文本域
wenben = new JTextArea("这是测试文字" + '\n' +
" 请选择后按【确定】");
pnltmid3.add(wenben);
//按键区
yes = new JButton("确定");
no = new JButton("退出");
pnlunder.add(yes);
pnlunder.add(no);
yes.addActionListener(new ActionListener() {
@Override
//事件处理:
public void actionPerformed( ActionEvent e ) {
String zitiway = (String) jComboBox.getSelectedItem();
int zitiSize = Integer.parseInt(String.valueOf(jComboBoxD.getItemAt(jComboBoxD.getSelectedIndex())));
Enumeration<AbstractButton> elements = grpColor.getElements();
while (elements.hasMoreElements()) {
AbstractButton btn = elements.nextElement();
if (btn.isSelected()) {
colorFont = btn.getText();
break;
}
}
if (jiacu.isSelected()) {
zitiStyle += Font.BOLD;
}
if (xieti.isSelected()) {
zitiStyle += Font.ITALIC;
}
Font f = new Font(zitiway, zitiStyle, zitiSize);
//字体(宋),外观(加粗),大小(20);
if (rbtred.isSelected()) {
wenben.setForeground(Color.red);
}
if (rbtgreen.isSelected()) {
wenben.setForeground(Color.green);
}
wenben.setFont(f);
colorFont = "";
zitiStyle = 0;
}
});
no.addActionListener(new ActionListener() {
@Override
public void actionPerformed( ActionEvent e ) {
System.exit(0);
}
});
}
public static void main( String[] args ) {
new Main().setVisible(true);
}
}