java的一个窗体建立

编写一个“猜数”程序:该程序随机在1到1000的范围中选择一个供用户猜测的整数。然后该程序显示如下标签:Ihaveanumberbetween1and1000canyou... 编写一个“猜数”程序:该程序随机在1到1000的范围中选择一个供用户猜测的整数。然后该程序显示如下标签:
I have a number between 1 and 1000 can you guess my number?
Please enter your first guess.
应使用一个JTextField来输入猜测的数。在输入猜测数时,以背景色红色表示用户猜得太大了,以背景色蓝色表示用户猜得太小了。一个Label应显示“Too High”或“Too Low”, 以帮助用户接近正确的答案。在用户猜对时,应显示“Correct!”,并且用于输入的JTextField应变为不可编辑的。应提供一个Jbutton,使用户能够重新开始这个游戏。在单击该Jbutton按钮时,应产生一个新的随机数,并且用于输入的JTextField变为可编辑的状态。

哪位大侠能编写一个正确的程序给我 谢谢啦 急用 发送到邮箱ky6065038@163.com 麻烦了 写的好的话再追加分
请各位大大多认真看题 不要拿个随便的回答粘来敷衍我 有会答的请直接邮箱我 并在回答栏中注明您的发件地址
展开
 我来答
老冯文库
2011-06-10 · 知道合伙人软件行家
老冯文库
知道合伙人软件行家
采纳数:1139 获赞数:8734

向TA提问 私信TA
展开全部
我已发送邮件到你的邮箱,我的邮箱是fengxk2004@163.com

Java源程序附后。
本程序的特点是:
(1) 文本框只能输入纯数字;
(2) 界面较美观;
(3) 代码可读性较好,有适当的注释;
(4) 窗体一出现就在桌面居中。

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;

public class GuessNumber {
private static final long serialVersionUID = 1L;
JFrame frame;
JTextField txtNum; //文本框
JButton btnStart; //按钮
JLabel lblPrompt;
JLabel lblMessage;
static int source = 0;
static Random rand = new Random();

public GuessNumber(){
frame = new JFrame("Guess Number");
JPanel pnl1, pnl2, pnl3, pnl4;
pnl1 = new JPanel();
pnl1.setLayout(new FlowLayout(FlowLayout.LEFT));
pnl2 = new JPanel();
pnl2.setLayout(new FlowLayout(FlowLayout.LEFT));
pnl3 = new JPanel();
pnl3.setLayout(new FlowLayout(FlowLayout.LEFT));
pnl4 = new JPanel();
pnl4.setLayout(new FlowLayout(FlowLayout.LEFT));
txtNum = new JTextField(10);
btnStart = new JButton("开始");
lblPrompt = new JLabel("<html><body>I have a number between 1 and 1000 can you guess my number?<br/>Please enter your first guess.</body></html>");
lblMessage = new JLabel();
pnl1.add(lblPrompt);
pnl2.add(txtNum);
pnl3.add(lblMessage);
pnl4.add(btnStart);
frame.setLayout(new GridLayout(4, 1));
frame.add(pnl1);
frame.add(pnl2);
frame.add(pnl3);
frame.add(pnl4);

txtNum.addActionListener(this.new TextAction());
txtNum.addKeyListener(this.new KeyAction());
btnStart.addActionListener(this.new ButtonAction());
frame.setSize(400, 200);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
}

public static void main(String[] args) {
new GuessNumber();
while((source=rand.nextInt(1000))==0);
}

//按钮单击后的事件处理
class ButtonAction implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
JButton btn = (JButton)e.getSource();
if(btn == btnStart){
while((source=rand.nextInt(1000))==0);
txtNum.setEditable(true);
}
}
}

//文本框按回车后的事件处理
class TextAction implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
JTextField txt = (JTextField)e.getSource();
if(txt != txtNum){
return;
}
int num = Integer.parseInt(txtNum.getText());
if(num == source){
lblMessage.setText("Correct!");
txtNum.setEditable(false);
txtNum.setBackground(frame.getBackground());
}
else if(num > source){
lblMessage.setText("Too High");
txtNum.setBackground(Color.red);
}
else{
lblMessage.setText("Too Low");
txtNum.setBackground(Color.blue);
}
}
}

//限制文本框只能输入数字
class KeyAction implements KeyListener{
@Override
public void keyPressed(KeyEvent e) {
}

@Override
public void keyReleased(KeyEvent e) {
}

@Override
public void keyTyped(KeyEvent e) {
int k = e.getKeyChar();
String text = ((JTextField)e.getSource()).getText();
if(!((k>47 && k <58) || (k==8 || k==KeyEvent.VK_PERIOD))){ //限制只能输入数字
e.setKeyChar((char)KeyEvent.VK_CLEAR);
}
if(text.length() > 4){ //限制数值的长度
e.setKeyChar((char)KeyEvent.VK_CLEAR);
}
}
}
}
追问
把您在知道回答的代码给删了- -我给分 程序已验证
追答
如果你不追问的话,我还可以删除。

你一追问,我就不能删除了,没有这个功能了。
趣事情
2015-10-15 · 知道合伙人互联网行家
趣事情
知道合伙人互联网行家
采纳数:517 获赞数:5452
电脑技术,软件开发。移动开发。网站建设相关专业知识。都可以提供解答和相关技术指导。

向TA提问 私信TA
展开全部
利用Swing 创建一个窗体 -

创建窗体如下代码:

import
javax.swing.*;

import java.awt.*;

public class WindowsDemo extends JFrame {

public WindowsDemo(String sTitle, int iWidth, int
iHeight) {

Dimension dim =
Toolkit.getDefaultToolkit().getScreenSize();// 获取屏幕尺寸
ImageIcon ii = new
ImageIcon("images/middle.gif");
setTitle(sTitle);//
设置窗体标题
setIconImage(ii.getImage());//
设置窗体的图标
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//
设置但关闭窗体时退出程序
setSize(iWidth, iHeight);//
设置窗体大小
int w = getSize().width;//
获取窗体宽度
int h = getSize().height;//
获取窗体高度
System.out.println("窗体宽:" + w +
" 窗体高:" + h);
int x = (dim.width - w) /
2;
int y = (dim.height - h) /
2;
setLocation(x, y);//
将窗体移到屏幕中间
setVisible(true);// 显示窗体
}
public static void main(String[] args)
{
JFrame.setDefaultLookAndFeelDecorated(true);//
使用最新的SWING外观
WindowsDemo wd = new
WindowsDemo("小龙窗口", 400, 300);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ac1153da5
2011-06-09 · TA获得超过202个赞
知道答主
回答量:55
采纳率:0%
帮助的人:44.7万
展开全部
import java.awt.*;
import java.awt.event.*;
class WindowButton extends Frame implements ActionListener
{
int number;
Label 提示条;
TextField 输入框;
Button buttonGetNumber,buttonEnter;
WindowButton()
{
super("窗口");
setLayout(new FlowLayout());
buttonGetNumber=new Button("得到一个随机数");
add(buttonGetNumber);
提示条=new Label("输入你的猜测",Label.CENTER);
提示条.setBackground(Color.CYAN);
输入框=new TextField("0",10);
add(提示条);
add(输入框);
buttonEnter=new Button("确定");
add(buttonEnter);
buttonEnter.addActionListener(this);
buttonGetNumber.addActionListener(this);
setBounds(100,100,200,200);
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);}
});
setVisible(true);
validate();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==buttonGetNumber)
{
number=(int)(Math.random()*100+1);
提示条.setText("输入你的猜测");
}
else if(e.getSource()==buttonEnter)
{
int gess=0;
try{gess=Integer.parseInt(输入框.getText());
if(gess==number)
{
提示条.setText("你猜对了");
}
else if(gess>number)
{
提示条.setText("你猜大了");
输入框.setText(null);
}
else if(gess<number)
{
提示条.setText("你猜小了");
输入框.setText(null);
}
}
catch(NumberFormatException event)
{
提示条.setText("请重新输入");
}
}
}
}
public class E7_6
{
public static void main(String args[])
{
WindowButton win=new WindowButton();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式