【发布时间】:2021-02-02 13:37:50
【问题描述】:
我需要的是能够创建这个盒子。我需要的是将文本输入到右侧的第一个框中,一旦按下回车按钮,右侧的文本就会转到左侧的文本。左边的文本框不应该是可编辑的。我不是一个非常熟练的程序员,但以下是我到目前为止所拥有的。感谢您提供任何和所有帮助。
//file: GridBag3.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.ActionListener;
public class GridBag3 extends JPanel {
GridBagConstraints constraints = new GridBagConstraints();
JTextField enterText = new JTextField ("Type a word you remember and press ENTER");
JTextField recieveText = new JTextField("Recieve Text");
public GridBag3() {
GridBagConstraints constraints = new GridBagConstraints();
setLayout(new GridBagLayout());
constraints.weightx = 3.0;
constraints.weighty = 3.0;
constraints.fill = GridBagConstraints.BOTH;
int x, y; // for clarity
constraints.gridheight = 2; // span two rows
addGB(recieveText, x =2, y = 1);
constraints.gridheight = 2; // set it back
addGB(enterText, x = 0, y = 1);
constraints.gridwidth = 1; // span two columns
addGB(new JLabel("Recall"), x = 1, y = 0);
constraints.gridwidth = 2; // set it back
addGB(new JLabel(""), x = 0, y = 0);
constraints.gridwidth = 1;
addGB(new JLabel(""), x = 2, y =0);
constraints.gridwidth = 1;
addGB(new JLabel(""), x = 2, y = 2);
constraints.gridwidth = 1;
addGB (new JLabel(""), x = 0, y =2);
constraints.gridwidth = 1;
}
void addGB(Component component, int x, int y) {
constraints.gridx = x;
constraints.gridy = y;
add(component, constraints);
}
public void actionPerformed(ActionEvent e)
{
enterText.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
recieveText.requestFocusInWindow();
}
});
}
public static void main(String[] args) {
JFrame frame = new JFrame("GridBag3");
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setSize(500, 500);
frame.setLocation(200, 200);
frame.setContentPane(new GridBag3());
frame.setVisible(true);
}
}
【问题讨论】:
-
也许您应该先阅读以下教程? Creating a GUI With JFC/Swing
-
当我在你的问题中运行代码时,它产生了this
-
是的,这是正确的,我只是不知道如何进入一个 Jtextfield 然后让它去另一个
标签: java swing actionlistener jtextfield