任务:
利用java swing实现简单的ascii编码查看器。
具体代码见下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Bmckq extends JFrame {
//编码查看器
public Bmckq()
{
Container container=getContentPane();//创建容器
container.setLayout(new GridLayout(2,5));//创建网格式布局
JLabel []jLabels=new JLabel[6];
Font ss=new Font("微软雅黑",Font.PLAIN,20);
for (int i = 0; i <6 ; i++) {
jLabels[i]=new JLabel();//创建六个label
jLabels[i].setFont(ss);
}
jLabels[0].setText("输入字符:");
jLabels[0].setHorizontalAlignment(SwingConstants.CENTER);
container.add(jLabels[0]);
JButton []jButtons=new JButton[2];//新建两个按钮
JTextField []jTextFields=new JTextField[2];//创建两个输入文本框
for (int i = 0; i <2 ; i++) {
jButtons[i]=new JButton();
jTextFields[i]=new JTextField();
jButtons[i].setFont(ss);
jTextFields[i].setFont(ss);
}
container.add(jTextFields[0]);
jLabels[1].setText("转换结果:");
jLabels[1].setHorizontalAlignment(SwingConstants.CENTER);//将label中的文字居中显示
container.add(jLabels[1]);
jLabels[2].setHorizontalAlignment(SwingConstants.CENTER);
container.add(jLabels[2]);
jButtons[0].setText("转换");
jButtons[0].setBackground(Color.BLUE);
jButtons[0].addActionListener(new ActionListener() {//按钮监听器
@Override
public void actionPerformed(ActionEvent e) {
String temp=jTextFields[0].getText();
if (temp.length()>1)//判断输入字符的长度
JOptionPane.showMessageDialog(null,"只能输入一个字符");
else if (temp.length()==0)
JOptionPane.showMessageDialog(null,"请输入字符");
else
{
int s=(int)temp.charAt(0);
jLabels[2].setBackground(Color.BLUE);
jLabels[2].setText(String.valueOf(s));
}
}
});
container.add(jButtons[0]);
jLabels[3].setHorizontalAlignment(SwingConstants.CENTER);
jLabels[3].setText("输入数字:");
container.add(jLabels[3]);
container.add( jTextFields[1]);
jLabels[4].setHorizontalAlignment(SwingConstants.CENTER);
jLabels[4].setText("转换结果:");
container.add( jLabels[4]);
jLabels[5].setHorizontalAlignment(SwingConstants.CENTER);
container.add(jLabels[5]);
jButtons[1].setText("转换");
jButtons[1].setBackground(Color.BLUE);
jButtons[1].addActionListener(new ActionListener() {//按钮监听器
@Override
public void actionPerformed(ActionEvent e) {
String temp=jTextFields[1].getText();
if (temp.length()==0)
JOptionPane.showMessageDialog(null,"请输入数字");
else {
int a = Integer.parseInt(temp);
char s = (char) a;
String temp1 = String.valueOf(s);
jLabels[5].setBackground(Color.BLUE);
jLabels[5].setText(temp1);
}
}
});
container.add(jButtons[1]);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setVisible(true);//设置可见性
setTitle("十进制的ASCII查看器");//设置标题
setBounds(100,100,600,280);//设置大小
}
public static void main(String[] args) {
new Bmckq();
}
}
运行效果如下: