gpt4 book ai didi

java - Java TextArea 与 JTextArea

转载 作者:行者123 更新时间:2023-12-01 21:59:42 25 4
gpt4 key购买 nike

所以我在一个文本冒险游戏中使用 JTextAreas 并使用了一些我在网上找到的代码片段。无论我尝试什么,其中一些片段都无法工作,然后我意识到一些片段来自 TextArea 而不是 JTextArea。那么两者有什么区别呢?我通过谷歌搜索发现 JTextArea 类必须嵌入到 JScrollPane 中,但这是什么意思?

我正在使用的代码:

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

public class Text extends JPanel implements ActionListener {
protected JTextField textField;
protected JTextArea textArea;
private final static String newline = "\n";

public Text() {
super(new GridBagLayout());

textField = new JTextField(75);
textField.addActionListener(this);

textArea = new JTextArea(5,75);
textArea.setEditable(false);
JScrollPane scrollPane = new JScrollPane(textArea);

//Add Components to this panel.
GridBagConstraints c = new GridBagConstraints();
c.gridwidth = GridBagConstraints.REMAINDER;

c.fill = GridBagConstraints.HORIZONTAL;
add(textField, c);

c.fill = GridBagConstraints.BOTH;
c.weightx = 1.0;
c.weighty = 1.0;
add(scrollPane, c);
}

public void actionPerformed(ActionEvent evt) {
String text = textField.getText();
textArea.append(text + newline);
textField.selectAll();

//Make sure the new text is visible, even if there
//was a selection in the text area.
textArea.setCaretPosition(textArea.getDocument().getLength());
}

/**
* Create the GUI and show it. For thread safety,
* this method should be invoked from the
* event dispatch thread.
*/
private static void createAndShowGUI() {
//Create and set up the window.
JFrame frame = new JFrame("Text adventure");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//Add contents to the window.
frame.add(new Text());

//Display the window.
frame.pack();
frame.setVisible(true);
}

public static void main(String[] args) {
//Schedule a job for the event dispatch thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}

}

最佳答案

javax.swing.JTextArea 是旧的 Swing组件,而 java.awt.TextArea 甚至是一个更旧的 AWT组件(AWT 代表“抽象 Windows 工具包”- 一些历史 here )。

当您使用 JScrollPane 或大多数 Swing 组件时,您可能会嵌入其他 Swing 组件。

关于java - Java TextArea 与 JTextArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33783380/

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