gpt4 book ai didi

java - 如何使用 JTextField 在 JTextField 本身上使用 ActionListener 显示否定或肯定结果

转载 作者:行者123 更新时间:2023-12-02 01:18:31 24 4
gpt4 key购买 nike

我的程序应该要求用户在 JTextField 中写入一个数字,然后在另一个禁用的 JTextField 中显示该数字为负数或正数的结果。所有这些都必须在没有按钮的情况下完成。

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

public class PositiveOrNegative extends JFrame {
JLabel l1, l2 ;
JTextField t1, t2 ;

public PositiveOrNegative()
{
FlowLayout layout = new FlowLayout();
this.setLayout(layout);

l1 = new JLabel("Enter a number ");
t1 = new JTextField(10) ;
l2 = new JLabel("The number is ");
t2 = new JTextField(10) ;

this.add(l1);
this.add(t1);
this.add(l2);
this.add(t2);
t2.enable(false);
t2.setBackground(Color.PINK);
}

public void JavaJTextFieldActionListner() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
t1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String n = t1.getText() ;
int number = Integer.parseInt(n) ;
if (number >= 0)
t2.setText("POSITIVE") ;
else
t2.setText("NEGATIVE") ;
}
});
}

public static void main(String[] args) {
PositiveOrNegative p = new PositiveOrNegative();
p.setTitle("AWT SIGN");
p.setBounds(300, 300, 300, 120);
p.setVisible(true);
}
}

最佳答案

在您的示例中,您忘记调用方法JavaJTextFieldActionListner。我已将其删除并将代码移至构造函数中。我还添加了对错误输入的处理。结果如下:

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class PositiveOrNegative extends JFrame {

JLabel l1, l2 ;
JTextField t1, t2 ;

public PositiveOrNegative() {
FlowLayout layout = new FlowLayout();

this.setLayout(layout);

l1 = new JLabel("Enter a number ");
t1 = new JTextField(10);
l2 = new JLabel("The number is ");
t2 = new JTextField(10);

this.add(l1);
this.add(t1);
this.add(l2);
this.add(t2);
t2.setEditable(false);
t2.setBackground(Color.PINK);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
t1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String n = t1.getText();
try {
int number = Integer.parseInt(n);

if (number >= 0)
t2.setText("POSITIVE");
else
t2.setText("NEGATIVE");
} catch (Exception ex) {
t2.setText("Not an integer");
}
}
});
}

public static void main(String[] args) {
PositiveOrNegative p = new PositiveOrNegative();
p.setTitle("AWT SIGN");
p.setBounds(300, 300, 300, 120);
p.setVisible(true);
}

}

关于java - 如何使用 JTextField 在 JTextField 本身上使用 ActionListener 显示否定或肯定结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58164344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com