java+jtextfield+取值_[求助]JTextfield 取值问题!

[求助]JTextfield 取值问题!

我用K取JTextfield中的值 可怎么就是得不到在JTextfield输入的值

K始终=0 (原来JTextfield的初值)请教各位

代码下面 大部分是界面代码:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.util.*;

public class GUANJI1 implements Runnable,ActionListener

{

JFrame jf;

JLabel jl1,jl2,jl3,jl4,jl5;

JPanel jp1,jp2;

JTextField jt1,jt2,jt3;

JButton jb1,jb2,jb3;

int k=0;

public GUANJI1()

{jf=new JFrame("定时关机");

jf.setResizable(false);

jf.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{System.exit(0);}

});

jl1=new JLabel("当前时间:");

jl1.setHorizontalAlignment(SwingConstants.CENTER);

jl1.setText("当前时间:"+gettime());

jl2=new JLabel("等待:");

jl3=new JLabel("时");

jl4=new JLabel("分");

jl5=new JLabel("秒执行");

jt1=new JTextField();

jt1.setHorizontalAlignment(SwingConstants.RIGHT);

jt1.setText("0");

jt2=new JTextField("0");

jt2.setHorizontalAlignment(SwingConstants.RIGHT);

jt3=new JTextField("0");

jt3.setHorizontalAlignment(SwingConstants.RIGHT);

jp1=new JPanel();

jp1.setLayout(new GridLayout(1,7));

jp1.add(jl2);

jp1.add(jt1);

jp1.add(jl3);

jp1.add(jt2);

jp1.add(jl4);

jp1.add(jt3);

jp1.add(jl5);

jb1=new JButton("关 闭");

jb1.setForeground(Color.red);

jb1.setFont(new Font("dialog",0,14));

jb1.addActionListener(this);

jb2=new JButton("重 启");

jb2.setForeground(Color.red);

jb2.setFont(new Font("dialog",0,14));

jb2.addActionListener(this);

jb3=new JButton("注 销");

jb3.setForeground(Color.red);

jb3.addActionListener(this);

jb3.setFont(new Font("dialog",0,14));

jp2=new JPanel();

jp2.setLayout(new FlowLayout());

jp2.add(jb1);

jp2.add(jb2);

jp2.add(jb3);

jf.add(jl1,BorderLayout.NORTH);

jf.add(jp1,BorderLayout.CENTER);

jf.add(jp2,BorderLayout.SOUTH);

}

public void setv()

{

jf.setVisible(true);

jf.pack();

jf.setLocation(400, 270);

}

static GUANJI1 G=null;

public static void main(String ds[])

{

G=new GUANJI1();

G.setv();

}

public void actionPerformed(ActionEvent e)

{GUANJI2 g=new GUANJI2();

Thread t=new Thread(new GUANJI1());

t.start();

try{

t.join();}

catch(Exception ee)

{ee.printStackTrace();}

if(e.getSource()==jb1)

{

//g.shutdown();

System.out.println("关闭");

}

else if(e.getSource()==jb2)

{

//g.restart();

System.out.println("重启");

}

else

{

//g.zhuxiao();

System.out.println("注销");

}

}

public void run()

{

k=Integer.parseInt(jt1.getText().trim())*3600

+Integer.parseInt(jt2.getText().trim())*60

+Integer.parseInt(jt3.getText().trim());

System.out.println(jt3.getText());

//k=6;

System.out.println(k);

while(true)

{

if(k==0)

break;

try{

k--;

Thread.sleep(1000);

jl1.setText("当前时间:"+gettime());

}

catch(Exception e)

{e.printStackTrace();}

}System.out.print(k);

}

public String gettime()

{

String s;

Calendar c=Calendar.getInstance();

s=Integer.toString(c.get(Calendar.HOUR_OF_DAY))+":"

+Integer.toString(c.get(Calendar.MINUTE))+":"+

Integer.toString(c.get(Calendar.SECOND));

return s;

}

}

搜索更多相关的解决方案:

JTextfield

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

GUANJI2文件呢?

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

那个文件无所谓拉 没关系的!

如果要的话 可以发出来

public class GUANJI2 {

Runtime rt=Runtime.getRuntime();

public void shutdown()

{

try{rt.exec("shutdown.exe -s -t 0");

}

catch(Exception e)

{e.printStackTrace();}

}

public void restart()

{

try{

rt.exec("shutdown.exe -r -t 0");

}

catch(Exception e)

{e.printStackTrace();}

}

public void zhuxiao()

{

try{rt.exec("shutdown.exe -l");}

catch(Exception e)

{e.printStackTrace();}

}

}

[此贴子已经被作者于2007-8-19 22:59:47编辑过]

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

这个我不会。

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

jt1.setText("0");

这里设置了0

后边没有改变jt1里边Text的值

就直接k=Integer.parseInt(jt1.getText().trim())*3600

这样怎么取都是0喔...

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

你设置它的默认值为0,而你在后面又没有改变,所以当然为0了

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

以下是引用Digitalpro在2007-8-22 0:39:18的发言:

这里设置了0

后边没有改变jt1里边Text的值

就直接k=Integer.parseInt(jt1.getText().trim())*3600

这样怎么取都是0喔...

可我在JTextfield里输入了 数字 为什么我输入的数字得不到

我就是这个饿问题!?

按照理论的话 应该可以得到我输入到JTextfield里的值 原来jt1.setText("0");应该被覆盖拉

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

以下是引用skylence在2007-8-22 15:58:39的发言:

可我在JTextfield里输入了 数字 为什么我输入的数字得不到

我就是这个饿问题!?

按照理论的话 应该可以得到我输入到JTextfield里的值 原来jt1.setText("0");应该被覆盖拉

jt1.getText()得写到事件里边才能得到值...

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

我试过拉  在事件里面是一样的!还是没自己输入的值!

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

得,我也一头雾水,还要慢慢看才行的....

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值