首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在jtextarea中选择行

如何在jtextarea中选择行
EN

Stack Overflow用户
提问于 2019-04-20 12:59:26
回答 1查看 469关注 0票数 0

我需要在jtextarea中选择一行

这是我的第一个项目,我用java做了一个pos系统,这里我需要做的是,当jtextarea中有一个由客户添加到购物车的产品列表时,突然客户想要从购物车中删除一些项目,那么我的pos系统应该允许从行中选择项目,并将其从mysql表中删除。

代码语言:javascript
复制
textArea1.setText(item1 + "\n" + item2 + "\n" + item3 + "\n");

当在jtextarea中有一个产品列表,这些产品是由客户添加到购物车中的,突然客户想要删除一些项目,那么我的pos系统应该允许从行中选择项目并将其删除,并将其从mysql表中删除。

如果你认为有比jtextarea更好的对象,那么也请推荐它。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-04-25 05:50:50

根据@MadProgrammer的答案之一(遗憾的是我无法获得链接),我能够生成以下代码

代码语言:javascript
复制
import javax.swing.text.BadLocationException;
import javax.swing.text.Utilities;

public class TextLineSelectionTest extends javax.swing.JFrame {

    public TextLineSelectionTest() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jTextArea1 = new javax.swing.JTextArea();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jTextArea1.setColumns(20);
        jTextArea1.setRows(5);
        jTextArea1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jTextArea1MouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(jTextArea1);

        getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);

        pack();
    }// </editor-fold>                        

    private void jTextArea1MouseClicked(java.awt.event.MouseEvent evt) {                                        
        int pos = jTextArea1.getCaretPosition();
        try {

            int start =Utilities.getRowStart(jTextArea1, pos);
            int end =Utilities.getRowEnd(jTextArea1, pos);
            jTextArea1.setSelectionStart(start);
            jTextArea1.setSelectionEnd(end);
        } catch (BadLocationException e) {
            //something is messed up
            e.printStackTrace();
        }
    }                                       

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new TextLineSelectionTest().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextArea jTextArea1;
    // End of variables declaration                   
}

通过使用默认的Utilities

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55770403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档