Tag: jtextarea

Java Swing:JPanel仅在JFrame窗口最大化或更改大小时添加组件

我有一个Java程序,它创建一个JFrame,一个JPanel和几个JTextAreas。 我设置了JTextAreas的文本,然后将它们添加到JPanel。 程序加载时,我只看到空的JFrame。 但是,如果我最大化或更改程序窗口的大小,JTextAreas及其各自的文本将出现在屏幕上。 我如何更正这一点,以便程序加载,填充文本区域,而不需要弄乱窗口? 我提前道歉是一个Swing noob。

JScrollPane的底部被切断了

我正在尝试创建一个简单的电子邮件客户端,正在切断身体的底部。 如果我添加一个水平滚动条,它不会出现,并且垂直滚动条的底部也不会出现。 这是我的代码: import java.awt.BorderLayout; import java.awt.Container; import java.awt.FlowLayout; import java.awt.Font; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollBar; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.UIManager; @SuppressWarnings(“serial”) public class gui extends JFrame{ gui(String title, int x, int y){ super(title); setSize(x,y); setDefaultCloseOperation(EXIT_ON_CLOSE); setResizable(false); } public void addElements(){ Font size30 = new Font(null, Font.PLAIN, 30); JPanel […]

拖放以在JPanel上移动JTextArea

我希望能够单击JTextArea并将其拖动到我的JPanel周围。 我不确定这样做的方法。 我想要做的是在拖动时更改JTextArea的x,y坐标,我不是在另一个上面或下面拖动JTextArea 。 就在屏幕上,类似于在Microsoft PowerPoint等程序中移动文本框 我能想到的唯一方法是使用MouseListener但我想知道除了检测JTextArea上的hover/按下/拖动之外是否有更简单的方法来实现它。 关于如何开始的任何想法? import java.awt.Color; import java.awt.Cursor; import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JTextArea; public class UMLEditor { public static void main(String[] args) { JFrame frame = new UMLWindow(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(30, 30, 1000, 700); frame.getContentPane().setBackground(Color.white); […]

使用一些曲线球在Swing JTextArea上强制使用最大字符

我正在尝试向Swing JLabel和JTextArea添加function,以便: 用户只能在textarea中输入500个字符(最大值) 标签包含一个字符串消息,告诉用户他们剩下多少个字符(在每个键击或退格后) 当组件初始化时,标签显示“最多500个字符!” 对于键入的前500个字符,对于键入的每个击键(a – z,A – Z,0 – 9和标点符号),标签显示“剩余x个字符”,其中x是它们到达之前剩余的字符数最多500 键入第500个字符时,标签显示“剩余0个字符”,并且不能在文本区域中输入其他字符 如果用户键入退格按钮( KeyEvent.VK_BACK_SPACE ),它们会“释放”一个字符,并且计数会递增。 因此,如果他们剩下400个字符,并且他们键入退格,标签现在显示“剩余401个字符” 如果用户突出显示一组字符并对它们执行批量命令(例如退格键,或用单个字符替换突出显示的文本),则将正确计算正确的剩余字符数,并更新标签。 因此,如果他们剩下50个字符,并且他们突出显示5个字母并点击退格,他们现在有“剩下55个字符” 我有90%的此function正常工作,但有一些错误,并且不知道如何实现上面的最后一项(突出显示的文本上的批量命令)。 这就是我所拥有的: boolean ignoreInput = false; int charMax = 500; JLabel charCntLabel = getLabel(); JTextArea myTextArea = getTextArea(); myTextArea.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent e) { return; } @Override public void keyReleased(KeyEvent e) { // […]

实时输出到jTextArea

我有一些代码,需要花费几分钟来处理,它必须连接到Web上的长数组中的每个字符串,每个字符串是一个url。 我希望这样做,以便每次连接时,都应该刷新jtextarea,这样用户就不会盯着看起来冻结20分钟的空白页面。 或者需要多长时间。 这是我尝试过的东西的一个例子: try { ArrayList myLinks = LinkParser.getmyLinksArray(jTextArea1.getText()); for (String s : myLinks) { jTextArea2.append(LinkChecker.checkFileStatus(s) + “\n”); } } catch (IOException ex) { JOptionPane.showMessageDialog(jTextArea1, “Parsing Error”, “Parsing Error”, JOptionPane.ERROR_MESSAGE); Logger.getLogger(MYView.class.getName()).log(Level.SEVERE, null, ex); }

JTextArea JLabel比较两个txt。 文件逐行

每一个人。 我通过显示在同一区域完成了我的代码两个txt文件。 但我想逐行比较两个txt文件。 我想用彩色线条来表示差异,最后,不同的字母或单词,我要大胆。 我怎么开始? 谢谢,我的代码在这里。

任何延迟Java GUI中动作的方法

我正在进行单一任务的扑克游戏,我想知道是否有任何方法可以使用如下方法(注意:非常粗略地编写代码) JTextArea textArea = new JTextArea(); public void printer(String s){ //I want to delay here, for 2 seconds each time i print to the jtextarea textArea.append(s); } public void runGame(){ printer(“Dealing cards…”); //I want to delay to add to an effect of the time it takes to actually deal the cards pokerHand.setVisibility(true); printer(“What you like […]

JTextArea setText(veryLongString)花费了太多时间

我有一个非常长的字符串,我从书中得到。 我使用setText()方法在JTextArea中显示它。 它会冻结用户界面并花费大量时间。 我该如何解决这个问题? 这是SSCCE: import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.SwingUtilities; @SuppressWarnings(“serial”) public class SSCCE extends JFrame { JTextArea textArea; public SSCCE() { String text = buildLongString(400000); textArea = new JTextArea(); textArea.setText(text); textArea.setLineWrap(true); add(new JScrollPane(textArea)); setSize(400, 350); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); } private String buildLongString(int length) { StringBuilder builder = new StringBuilder(); for (int […]

即使我有一个JScrollPane,JTextArea也会在我输入文本时展开,但滚动条也没有显示

我有这个JTextArea,它在输入文本时不断扩展。 我知道这看起来像一个重复的问题,但我已经按照答案,他们没有为我工作。 我还附加了一个JScrollPane,但没有显示滚动条。 我希望JTextArea保持不变的大小并使其可滚动。 请看看我的代码并告诉我出了什么问题,因为我不知道! 这是我的代码: package com.robot; import java.awt.Dimension; import java.awt.Toolkit; import javax.swing.*; public class GUI extends JFrame implements Runnable { //start of the constructor method for GUI public GUI() { //defines the line break String newline = System.getProperty(“line.separator”); //defines objects Toolkit tk = Toolkit.getDefaultToolkit(); Dimension dim = tk.getScreenSize(); //sets the size of the […]

如何在jtextarea中获取突出显示的文本

我有一些带有一些文字的jtextarea。 我使用java highligher来突出显示jtextarea上的一些文本。 我想用优化文本将该textarea的内容打印到另一个textarea。 那可能吗? 或者有没有办法只在jtextarea中获取突出显示的文本?