当前位置: 代码迷 >> Java相关 >> [求助]我的问题集,看看
  详细解决方案

[求助]我的问题集,看看

热度:606   发布时间:2006-02-27 08:23:00.0
[求助]我的问题集,看看


这是我做的猜数游戏,当我单击"提交"时,我想把焦点自动跳到文本框上,如下图:


可是我用t1.setFocusable(true);根本没效果,t1就是那个文本框对象.
应该怎么做
还有我想把这个窗口标题栏的系统图标更改为D:\CS\game.ico.
所以用了如下代码.
import java.applet.*;
String url="file:///d/java/JFrame/game.ico";

g.setIconImage(Applet.getImage(url));//G是窗口对象,就是这句提示出错


还有怎么相互转换char 与String这两种类型,我现在要用到这个,下不了手.

还有最后一个问题
下面这个程序我想给每二个文本框密码设个响应字符用
t2.setEchoChar('*');
当我使用awt控件时能正常显示,

但当我换成JTextField时,用这个就没效果了,怎么办呢,?

帮我看看,不甚感激




搜索更多相关的解决方案: java  ico  String  game  

----------------解决方案--------------------------------------------------------

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

public class Test extends JPanel{
private JLabel lbl;

private JTextField t;

private JPasswordField pwd; //swing中的密码框

private JButton btn;

public Test(){
t = new JTextField(20);

lbl = new JLabel("Password");

pwd = new JPasswordField(20);

btn = new JButton("Submit");

btn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e){
t.selectAll();
t.requestFocus(true); //点击按钮后使文本框得到焦点
}
});

add(t);
add(lbl);
add(pwd);
add(btn);
}

public static void main(String [] args){
Toolkit tk = Toolkit.getDefaultToolkit();
Image img = tk.getImage("C:\\WINDOWS\\Help\\Tours\\htmlTour\\best_road.jpg");
//得到图像文件,好像ico文件不行
JFrame f = new JFrame("Test");
f.getContentPane().add(new Test());
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setIconImage(img); //加载图像
f.pack();
f.setVisible(true);
}
}


----------------解决方案--------------------------------------------------------

感谢,终于搞定
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.net.*;
import javax.swing.*;
public class CaiSu extends Applet implements ActionListener
{
JButton b1,b2;
JTextField t1;
JLabel l1;
int default1,y1;

static AudioClip ac1,ac2,ac3;
public static void main(String args[])
{
CaiSu kk=new CaiSu();
kk.default1=(int)(Math.random()*100+1);
kk.init();
}
public void init()
{
try{
URL u1=this.getClass().getResource("da.wav");
URL u2=this.getClass().getResource("xiao.wav");
URL u3=this.getClass().getResource("dui.wav");
ac1=Applet.newAudioClip(u1);
ac2=Applet.newAudioClip(u2);
ac3=Applet.newAudioClip(u3);
}catch(Exception e){}

BorderLayout bl=new BorderLayout(5,5);
JFrame hh=new JFrame("猜数游戏");
hh.setLayout(bl);
l1=new JLabel("请在下面的文本框中输入数字");
b1=new JButton("确定");
b2=new JButton("退出");
t1=new JTextField("",20);
Panel p1=new Panel();
Panel p2=new Panel();
b1.addActionListener(this);
b2.addActionListener(this);
hh.addWindowListener(new ko());
p1.add(t1);
p2.add(b1);p2.add(b2);
hh.add(l1,"North");hh.add(p1,"Center");hh.add(p2,"South");
hh.setBackground(Color.blue);
hh.setResizable(false);
hh.setLocation(350,300);
hh.resize(300,150);
ImageIcon i=new ImageIcon("game.gif");
Image im=i.getImage();
hh.setIconImage(im);
hh.show();
}
public void actionPerformed(ActionEvent at)
{
if (at.getSource()==b2)
System.exit(0) ;
if (at.getSource()==b1)
{
try{
y1=Integer.parseInt(t1.getText());// 将字符串转换成int
}catch(Exception e)
{l1.setText("请输入1-100之间的一个数字");return;}
if (y1>default1)
{
l1.setText("大了");
t1.selectAll();
t1.requestFocus(true); //点击按钮后使文本框得到焦点

ac1.play();


}
if (y1<default1)
{
l1.setText("小了");
t1.selectAll();
t1.requestFocus(true); //点击按钮后使文本框得到焦点
ac2.play();

}
if (y1==default1)
{
l1.setText("恭喜你,猜对了");
ac3.play();
}
}
}

}


----------------解决方案--------------------------------------------------------
  相关解决方案