📄 9.16-textfielddemo.java
字号:
// TextFieldDemo.java: Add two numbers in the text fields
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TextFieldDemo extends JFrame implements ActionListener
{
// Declare three text fields
private JTextField jtfNum1, jtfNum2, jtfResult;
private JButton jbtAdd; // Declare "Add" button
// Main method
public static void main(String[] args)
{
TextFieldDemo frame = new TextFieldDemo();
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
// Constructor
public TextFieldDemo()
{
setTitle("TextFieldDemo");
setBackground(Color.yellow);
setForeground(Color.black);
// Use panel p1 to group text fields
JPanel p1 = new JPanel();
p1.setLayout(new FlowLayout());
p1.add(new Label("Number 1"));
p1.add(jtfNum1 = new JTextField(3));
p1.add(new Label("Number 2"));
p1.add(jtfNum2 = new JTextField(3));
p1.add(new Label("Result"));
p1.add(jtfResult = new JTextField(4));
jtfResult.setEditable(false); // Set jtfResult noneditable
// Use panel p2 for the button
JPanel p2 = new JPanel();
p2.setLayout(new FlowLayout());
p2.add(jbtAdd = new JButton("Add"));
// Set FlowLayout for the frame and add panels to the frame
getContentPane().setLayout(new BorderLayout());
getContentPane().add(p1, BorderLayout.CENTER);
getContentPane().add(p2, BorderLayout.SOUTH);
// Register listener
jbtAdd.addActionListener(this);
}
// Handle the add operation
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == jbtAdd)
{
// Get int values from text fields and use trim() to
// trim extraneous space in the text field
int num1 = (Integer.parseInt(jtfNum1.getText().trim()));
int num2 = (Integer.parseInt(jtfNum2.getText().trim()));
int result = num1 + num2;
// Set result in TextField jtfResult
jtfResult.setText(String.valueOf(result));
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -