请问如果控制JTextArea,使其弹出的时候窗口不超过屏幕之外。
8条回答 默认 最新
- clxy大叔 2013-04-18 18:10关注
简单的例子
[code="java"]
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;public class TextareaTest {
public static void main(String[] args) { final JFrame frame = new JFrame("Textarea"); final JDialog dialog = new TextareaDialog(frame, true); JButton button = new JButton("Click Me!"); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dialog.setLocationRelativeTo(frame); dialog.pack(); dialog.setSize(300, 200); dialog.setVisible(true); } }); frame.getContentPane().add(button, BorderLayout.CENTER); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.pack(); frame.setVisible(true); }
}
class TextareaDialog extends JDialog {
JTextArea textarea = new JTextArea(); public TextareaDialog(Frame owner, boolean modal) { super(owner, modal); // 初始化 setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); setTitle("文本框测试"); // 添加文本框。 textarea.setLineWrap(true); JScrollPane scroll = new JScrollPane(textarea); getContentPane().add(scroll, BorderLayout.CENTER); // ====-------------------------------测试数据。 String text = "长长的测试数据"; for (int i = 0; i <= 1000; i++) { text += "好长"; } textarea.setText(text); }
}
[/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
- ¥15 Windows11, backspace, enter, space键失灵