JAVA小程序:在窗体中的文本框,输入数字,窗体根据数字所代表的颜色变换颜色,完成背景的修改设置
程序指导:这个程序中拥有一个JPanel(面板)和JTextField(文本框),(这是因为不能直接在JFrame窗体中设置背景颜色的缘故)
(1) 首先将面板使用BorderLayout(边界布局法)居中放置到窗体中,然后将面板的布局设置为FlowLayout(流式布局法)
(2) 为面板添加一个ActionEvent类型事件,该事件是当用户选择文本框后按在事件方法中,设置面板的背景色使用面板的方法:
(3) 回车键所触发的事件
setBackground(new Color(i));
其中的i是int类型的变量,存储着来自文本框的输入。
提示:文本框的输入是String类型,学生有必要使用
int Integer.parseInt(String)方法进行字符串到数字类型的转换,而且该方法必须放置在try语句中 展开
import javax.jws.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Colorful extends JFrame{
public static final int WIDTH=320;//你可以在这里设置窗口宽度
public static final int HEIGHT=241;//你可以在这里设置窗口高度
Dimension scrnsize;
Toolkit toolkit = Toolkit.getDefaultToolkit();
JTextField jText1;
JPanel panel1;
Font font1=new Font("宋体", Font.PLAIN, 12);
String color_set;
int coler_num;
Colorful(){
setSize(WIDTH,HEIGHT);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
scrnsize = toolkit.getScreenSize();
setLocation(scrnsize.width / 2 - getWidth() / 2,
scrnsize.height / 2 - getHeight() / 2);
Container content=getContentPane();
content.setLayout(new BorderLayout());
jText1=new JTextField(12);
jText1.setFont(font1);
panel1=new JPanel();
panel1.setLayout(new FlowLayout());
panel1.add(jText1);
panel1.setBackground(Color.white);
jText1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
color_set=jText1.getText();
if(color_set.length()!=0){
panel1.setBackground(new Color(Integer.parseInt(color_set)));
}
else
return;
}
});
content.add(panel1);
}
public static void main(String args[]){
Colorful colorful=new Colorful();
colorful.setVisible(true);
}
}
代码测试运行如图所示,我窗口初始设置的较小,方便截图,楼主可以自己设大一点
2011-08-28