📄 checkandraidodemo.java
字号:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.event.ActionEvent;
public class CheckAndRaidoDemo extends JFrame
implements ActionListener{
private JTextField textDemo;
private JCheckBox ckbBold,ckbItalic;
private JRadioButton rdbRed,rdbGreen,rdbBlack;
private ButtonGroup btg ;
private JPanel checkPanel,radioPanel;
private Container container;
private GridBagLayout Layout;
private GridBagConstraints constraints;
public CheckAndRaidoDemo() {
super("文本处理");
setSize(260,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
container=getContentPane();
}
//以设定的网格包布局向面板中添加组件
private void addComponent(JPanel panel,GridBagLayout Layout,
GridBagConstraints gbc,Component com,int row,int column,
int numRows,int numColumns,int Weightx,int Weighty){
gbc.gridx=row;
gbc.gridy=column;
gbc.gridwidth=numRows;
gbc.gridheight=numColumns;
gbc.weightx=Weightx;
gbc.weighty=Weighty;
Layout.setConstraints(com,gbc);
panel.add(com);
}
public void setLayout(){
//向复选框面板添加组件
checkPanel=new JPanel();
checkPanel.setLayout(new GridLayout(2,1));
ckbBold=new JCheckBox("加粗");
ckbBold.addActionListener(this);//注册监听器
ckbItalic=new JCheckBox("斜体");
ckbItalic.addActionListener(this);
checkPanel.add(ckbBold);
checkPanel.add(ckbItalic);
//向单选按钮面板添加组件
radioPanel=new JPanel();
radioPanel.setLayout(new GridLayout(3,1));
rdbRed=new JRadioButton("红色");
rdbRed.addActionListener(this);
rdbGreen=new JRadioButton("绿色");
rdbGreen.addActionListener(this);
rdbBlack=new JRadioButton("黑色");
rdbBlack.addActionListener(this);
rdbBlack.setSelected(true);//设置单选按钮为选中
btg=new ButtonGroup();//创建按钮组,向按钮组添加单选按钮。
btg.add(rdbRed);
btg.add(rdbGreen);
btg.add(rdbBlack);
radioPanel.add(rdbRed);
radioPanel.add(rdbGreen);
radioPanel.add(rdbBlack);
//设置框架窗体布局
Layout=new GridBagLayout();
container.setLayout(Layout);
constraints=new GridBagConstraints();
constraints.anchor=GridBagConstraints.CENTER;
//向框架窗口添加文本框
textDemo=new JTextField("示例文字");
constraints.fill=GridBagConstraints.HORIZONTAL;
addComponent((JPanel)container,Layout,constraints,textDemo,0,0,2,1,100,30);
//向框架窗口添加复选框面板
constraints.fill=GridBagConstraints.BOTH;
addComponent((JPanel)container,Layout,constraints,checkPanel,0,1,1,1,50,70);
//向框架窗口添加单选按钮
constraints.fill=GridBagConstraints.BOTH;
addComponent((JPanel)container,Layout,constraints,radioPanel,1,1,1,1,50,70);
}
public static void main(String[] args) {
CheckAndRaidoDemo frame = new CheckAndRaidoDemo();
frame.setLayout();
frame.show();
}
public void actionPerformed(ActionEvent e) {
int intBold = 0;//intBold和intItalic记录字体样式
int intItalic = 0;
//判断是否单击了复选框
if (e.getSource()instanceof JCheckBox) {
//判断黑体复选框是否被选中
intBold = (ckbBold.isSelected() ? Font.BOLD : Font.PLAIN);
//判断斜体复选框按钮是否被选中
intItalic = (ckbItalic.isSelected() ? Font.ITALIC : Font.PLAIN);
//设置字体
textDemo.setFont(new Font("Serif", intBold + intItalic, 12));
}//判断是否单击了单选按钮
if(e.getSource() instanceof JRadioButton){
if(rdbBlack.isSelected()){//判断黑色单选按钮是否为选中状态
textDemo.setForeground(Color.black);//设置字体颜色
}
if(rdbRed.isSelected()){
textDemo.setForeground(Color.red);
}
if(rdbGreen.isSelected()){
textDemo.setForeground(Color.green);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -