java中getText什么意思,关于JAVA中getText()的有关问题

这篇博客探讨了在Java Swing中使用getText()方法时遇到的问题。作者指出,即使没有输入,getText()也不会返回null,而是返回一个空字符串。在实现特定功能,如检查昵称是否输入时,应当用字符串的长度或者equals()方法进行判断。同时,文章提到了窗口设置和关闭操作的优化建议。
摘要由CSDN通过智能技术生成

当前位置:我的异常网» Eclipse » 关于JAVA中getText()的有关问题

关于JAVA中getText()的有关问题

www.myexceptions.net  网友分享于:2014-12-03  浏览:0次

关于JAVA中getText()的问题

import java.awt.BorderLayout;

import java.awt.Container;

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.JTextField;

public class Gui2 extends JFrame implements ActionListener {

JTextField jt;

JTextArea jta;

JTextArea jta2;

JButton jb1;

JButton jb2;

public static void main(String[] args) {

new Gui2().qq();

}

public void qq(){

JFrame jf = new JFrame("控件的相互控制");

jf.setSize(500,300);

jf.setLocation(200,200);

jf.setVisible(true);

jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);

JLabel j1 = new JLabel("主题:Write Once,Run Anywhere.      昵称");

jt = new JTextField(15);

jta = new JTextArea();

jta2 = new JTextArea(2,30);

jb1 = new JButton("Clear");

jb2 = new JButton("Send");

jb1.addActionListener(this);

jb2.addActionListener(this);

JPanel jp1 = new JPanel();

JPanel jp2 = new JPanel();

jp1.setLayout(new FlowLayout());

jp1.add(j1);

jp1.add(jt);

FlowLayout f =  new FlowLayout();

f.setAlignment(FlowLayout.LEFT);

jp2.setLayout(f);

jp2.add(jta2);

jp2.add(jb1);

jp2.add(jb2);

jf.add(jp1,new BorderLayout().NORTH);

jf.add(jta,new BorderLayout().CENTER);

jf.add(jp2,new BorderLayout().SOUTH);

}

public void actionPerformed(ActionEvent e) {

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

b = jt.getText();

System.out.println(b);

if(jt.getText()!=null){//想问的是:这里的jt.getText()返回的是null吗?

//if语句中的判断是想实现如果没输入昵称就退出,可是在机器上跑起来不对。然后换成equals,也不对.......求指点。

jta.setText(jt.getText()+">"+jta2.getText());

jta2.setText(" ");

}

else{

System.out.println("Please enter your name");

System.exit(1);

}

}

if(e.getSource() == jb1){

jta.setText(" ");

jt.setText(" ");

jta2.setText(" ");

}

}

}

------解决思路----------------------

swing实现getText会调到这里,即便不输入也会产生一个String对象,不会为null。

public String getString(int where, int len) throws BadLocationException {

if (where + len > count) {

throw new BadLocationException("Invalid range", count);

}

return new String(data, where, len);

}

另:

jf.setSize(500,300);

jf.setLocation(200,200);

jf.setVisible(true);

jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);

以上几行要放到函数尾部。

静态变量应使用类名引用,不需对象引用。如jf.EXIT_ON_CLOSE,new BorderLayout().NORTH 等。

文章评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值