首页编程java编程java textfield是什么,java中Label、TextField是做什么的

java textfield是什么,java中Label、TextField是做什么的

编程之家2023-10-11104次浏览

大家好,今天来为大家分享java textfield是什么的一些知识点,和java中Label、TextField是做什么的的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

java textfield是什么,java中Label、TextField是做什么的

java jtextfield

java jtextfield是什么,让我们一起了解一下?

JTextField类的对象是一个文本组件,允许编辑单行文本,继承了JTextComponent类,JTextField与java.awt.TextField具有源代码兼容性,把字段文本用作针对ActionEvent的命令字符串。

java textfield是什么,java中Label、TextField是做什么的

JTextField中,我们需要设置它的输入长度,但是JAVA中没有给出具体的方法,怎么办?

java textfield是什么,java中Label、TextField是做什么的

对于JTextField的对象,给它增加一个事件监听,每当从键盘敲入一个字符时,就对它的长度进行判断,如果长度达到某一条件,则无法继续输入(通过consume方法实现)。

public void keyTyped(KeyEvent e) {// TODO Auto-generated method stub String s = textField.getText(); if(s.length() >= 8) e.consume();}

先来介绍一下这个consume方法,该方法是用来销毁实例的。在上述代码中,当s的长度大于等于8时,就销毁多出来的字符了,从而达到了限制输入长度的效果。

当按下一个按键时,首先调用的是keyPressed方法,然后再将键入的字符显示到JTextField文本框中,最后再调用keyReleased方法。

也就是说,如果我在keyPressed中调用consume方法,它就无法做到限制字符输入长度的效果,因为文本框中的字符是在我进行完keyPressed方法后显示的。

同样的,为什么在keyRelease中也不行呢?因为在调用keyPressed后,字符就立刻显示到了文本框中,但是此时还没有调用keyReleased方法,所以同样达不到通过consume方法来限制输入长度的效果。

拓展一下,它的构造方法如下:

描述JTextField()

创建一个新的TextField:JTextField(String text)

创建一个使用指定文本初始化的新TextField:JTextField(String text, int columns)

创建一个新的TextField,并使用指定的文本和列进行初始化。

JTextField(int columns)用指定的列数创建一个新的空TextField。

Java swing里怎么获得TextField手动输入的值

1、Textfield有一个方法叫getText(),用于获取文本的值,但取到的是字符串。要取得用户输入的信息,需要有一个触发按钮,比如提交。刚开始Textfield的值是空的,当用户输入值后再点击提交按钮,getText()方法就能获取到用户输入的值。

getText()这个方法不仅 Textfield有这个方法,基本所有的组件都有这个方法取得组件里面的值。

2、TextField不需要设置就可以输入了,getText()是可以得到它的文本的,好像得不到可能是因为你没写条件,程序就运行了一次,而第一次文本框里面是没有值的,当然得不到啦

你可以

TextField txt=new TextField();

txt.setBounds(50,50,120,30);

this.getContentPane().add(txt);

while(true)

{

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

}

3、你可以使用 JTextField jtf=new JTextField("操作员");

就可以用getText()获得值了。

4、是允许用户输入的,通过getText可以得到的不过转换成String显示的。

5、Double.parseDouble()转double

Integer.parseInt()转int

java中Label、TextField是做什么的

AWT组件,Label用来装载一个字符串。TextField是一个文本框。

例如你创建一个Frame类的对象,向其内添加一个TextFiled对象,那么窗口中就有了一个文件框了。Label是用来说明文件框等组件的!例如在文本框前面显示用户名三个字,你就需要使用Label来装载这个字符串。

import java.awt.*;

public class Test{

public static void main(String[] args){

Frame f= new Frame();

f.setLayout(new FlowLayout());

Label l= new Label("用户名");

TextField tf= new TextField(10);//10列

f.add(l);

f.add(tf);

f.setSize(300, 200);//窗口大小

f.show();//显示窗口

}

}

Java 中 JTextArea 和 JTextField 的有什么区别

文本输入框、密码输入框

文本输入框包括两种,单行文本输入框(JTextField)和多行文本输入框(JTextArea)。密码输入框则只有一种(JPasswordField)。JPasswordField是 JTextField的子类,它们的主要区别是 JPasswordField不会显示出用户输入的东西,而只会显示出程序员设定的一个固定字符,比如'*'。

下面的示例图和代码是 JTextField、JPasswordField和 JTextArea的示例:

import javax.swing.*;

import javax.swing.event.*;

public class TestTexts extends JFrame{

private JLabel label= new JLabel("Status");

private JTextField textField;

private JPasswordField pwdField;

private JTextArea textArea;

public TestTexts(){

super("Test Texts");

setDefaultCloseOperation(EXIT_ON_CLOSE);

getContentPane().setLayout(new java.awt.FlowLayout());

textField= new JTextField(15);

textField.addCaretListener(new CaretListener(){

public void caretUpdate(CaretEvent e){

//如果改变了内容,就可以即时更新 label显示的内容

label.setText(textField.getText());

}

});

pwdField= new JPasswordField(15);

pwdField.setEchoChar('#');

textArea= new JTextArea(5, 15);

textArea.setLineWrap(true);

getContentPane().add(textField);

getContentPane().add(pwdField);

getContentPane().add(textArea);

getContentPane().add(label);

setSize(200, 200);

}

public static void main(String[] args){

TestTexts tt= new TestTexts();

tt.show();

}

}

上例中,我们构造了一个宽度为 15个字符的单行文本框(textField= new JTextField(15);),并使用 addCaretListener方法添加了一个 CaretListener(textField.addCaretListener...)。CaretListener监听文本光标的移动事件。当用户使用键盘、鼠标等移动了文本光标在 JTextField中的位置时触发这个事件。我们需要重载 caretUpdate(CaretEvent e)对事件进行处理(public void caretUpdate(CaretEvent e)...)。这样,我们可以在这里做类似 VB中 TextBox的 OnChange事件中做的事情。

JTextField有 5个构造方法,常用其中的四个:

JTextField()

JTextField(int columns),如上例 textField= new JTextField(15);

JTextField(String text)

JTextField(String text, int columns)

其中,参数 text是单行文本框的初始内容,而 columns指定了单行文本框的宽度,以字符为单位。JTextField中的文本内容可以用 getText()方法获得。也可以用 setText方法指定 JTextField中的文本内容。

JPasswordField是 JTextField的子类,其构造方法也是类似的。JPasswordField提供了 setEchoChar(char ch)方法设置为了隐藏密码而显示的字符,默认为'*'字符,上例中则设置为了'#'字符(pwdField.setEchoChar('#');)。与 JTextField一样,JPasswordField也用 getText方法和 setText获得或者设置文本内容(当然在用户界面上是隐藏的)。

JTextField是单行文本框,不能显示多行文本,如果想要显示多行文本,就只好使用多行文本框 JTextArea了。JTextArea有六个构造方法,常用的也是四个:

JTextArea()

JTextArea(int rows, int columns)

JTextArea(String text)

JTextArea(String text, int rows, int columns)

text为 JTextArea的初始化文本内容;rows为 JTextArea的高度,以行为单位;columns为 JTextArea的宽度,以字符为单位。如上例中就构造了一个高 5行,宽 15个字符的多行文本框(textArea= new JTextArea(5, 15);)。

多行文本框默认是不会自动折行的(不过可以输入回车符换行),我们可以使用 JTextArea的 setLineWrap方法设置是否允许自动折行。setLineWrap(true)是允许自动折行,setLineWrap(false)则是不允许自动折行。多行文本框会根据用户输入的内容自动扩展大小,不信,自己做个实验——如果不自动折行,那么多行文本框的宽度由最长的一行文字确定的;如果行数据超过了预设的行数,则多行文本框会扩展自身的高度去适应。换句话说,多行文本框不会自动产生滚动条。怎么办?后面讲到滚动窗格(JScrollPane)的时候,你就知道了。

多行文本框里文本内容的获得和设置,同样可以使用 getText和 setText两个方法来完成。

文章到此结束,如果本次分享的java textfield是什么和java中Label、TextField是做什么的的问题解决了您的问题,那么我们由衷的感到高兴!

javabean对象是什么意思(实体域对象javabean是什么具体该怎末去用)java为什么不能用了,我们为什么要用Java