Java编写应用程序实现以下界面,在窗体的中间存在一个文本区,下方存在一个文本框和一个发送按钮。要求: 1)文本框要存在横竖滚动条。 2)实现窗口关闭功能。
时间: 2024-12-15 21:24:41 浏览: 7
在Java中,你可以使用Swing库来创建所需的界面。这里是一个简单的示例,展示了如何实现你的需求:
```java
import javax.swing.*;
import java.awt.*;
public class MyWindow extends JFrame {
private JTextArea textArea;
private JTextField textField;
private JButton sendButton;
public MyWindow() {
setTitle("Text Area and Text Field Example");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建文本区
textArea = new JTextArea(10, 30); // 10行,30列
textArea.setLineWrap(true); // 设置自动换行
JScrollPane scrollPane = new JScrollPane(textArea); // 添加滚动条
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); // 垂直滚动条始终可见
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); // 水平滚动条根据需要
// 创建文本框
textField = new JTextField(20); // 20字符宽度
textField.setRows(2); // 设置多行
textField.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createMatteBorder(1, 1, 1, 1, Color.GRAY),
BorderFactory.createEmptyBorder(5, 5, 5, 5)
)); // 边框样式
// 创建发送按钮
sendButton = new JButton("Send");
sendButton.addActionListener(e -> {
String input = textField.getText();
if (!input.isEmpty()) {
textArea.append("\n" + input); // 添加文本到文本区
}
});
// 使用GridLayout布局
setLayout(new GridLayout(2, 1)); // 两行一列
add(scrollPane); // 文本区
add(new JPanel(new GridBagLayout()));
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0; // 对齐左上角
gbc.gridy = 1; // 第二行
gbc.gridwidth = 2; // 跨越两列
gbc.fill = GridBagConstraints.BOTH; // 自适应填充
add(textField, gbc);
add(sendButton, gbc);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(MyWindow::new);
}
}[^1]
```
这个程序创建了一个包含文本区、文本框和发送按钮的窗口。文本框有滚动条,窗口关闭事件通过`JFrame.EXIT_ON_CLOSE`设置。当你点击发送按钮时,文本框的内容会被添加到文本区。
阅读全文