JAVA控制台system.in怎么变成在文本框中读取
2个回答
展开全部
就是改成图形化而已。用swing就OK了。
import javax.swing.*;
public class TestFrame extends JFrame implements ActionListener{
JLabel lb1,lb2;
JTextField jtf;
JButton bt;
public TestFrame(){
init();
}
private void init(){
this.setLayout(null);
lb1 = new JLabel("请输入数字:");
lb1.setBounds(10, 10, 100, 20);
lb2 = new JLabel("输入为:");
lb2.setBounds(120,10 , 100, 20);
jtf = new JTextField(10);
jtf.setBounds(10, 50, 100, 20);
bt = new JButton("确定");
bt.addActionListener(this);
bt.setBounds(120, 50, 60, 30);
this.add(lb1);
this.add(lb2);
this.add(jtf);
this.add(bt);
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setResizable(false);
this.setVisible(true);
}
public static void main(String args[]){
new TestFrame();
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==bt && !jtf.getText().trim().equals("")){
lb2.setText("输入为:"+jtf.getText().trim());
}
}
}
import javax.swing.*;
public class TestFrame extends JFrame implements ActionListener{
JLabel lb1,lb2;
JTextField jtf;
JButton bt;
public TestFrame(){
init();
}
private void init(){
this.setLayout(null);
lb1 = new JLabel("请输入数字:");
lb1.setBounds(10, 10, 100, 20);
lb2 = new JLabel("输入为:");
lb2.setBounds(120,10 , 100, 20);
jtf = new JTextField(10);
jtf.setBounds(10, 50, 100, 20);
bt = new JButton("确定");
bt.addActionListener(this);
bt.setBounds(120, 50, 60, 30);
this.add(lb1);
this.add(lb2);
this.add(jtf);
this.add(bt);
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setResizable(false);
this.setVisible(true);
}
public static void main(String args[]){
new TestFrame();
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==bt && !jtf.getText().trim().equals("")){
lb2.setText("输入为:"+jtf.getText().trim());
}
}
}
追问
我的意思要用BufferedReader读取
追答
JTextField 能放几个字啊?你还输入流?....
你原来的
BufferedReader br = new BufferedReader(new inputStreamReader(System.in));
String str = br.readLine();
改成 str = JTextField.getText();就好了啊。
在public void actionPerformed(ActionEvent e) 函数中写
如果你只是想输入一个数字用Swing组件,而显示还是控制台的话,告诉你个最简单的。
String str = JOptionPane.showInputDialog("请输入");
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么意思啊?说清楚啊
追问
我之前都是在控制台读取输入的字符,如:BufferedReader br = new BufferedReader(new inputStreamReader(System.in)); String str = br.readLine();这是在控制台读取,怎么实现在Swing组件的文本框读取
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |