java - 如何删除 jTextArea 的第一行

标签 java swing jtextarea

我对编程和java很陌生。 我想知道如何删除 jtextarea 上的第一行。 虽然我可以发布我的应用程序的编码,但我认为没有必要,而且我正在打电话。 请告诉我如何删除 jtextfield java 中的第一行。

好的...这是我想要做的事情的代码->

String x = (String) jComboBox1.getSelectedItem();
String z = JOptionPane.showInputDialog("Please enter new name for Database");
        try{
        Class.forName("java.sql.DriverManager");
        Connection con = (Connection)
        DriverManager.getConnection("jdbc:mysql://localhost:"+GlobalParams.portvar+"/",""+k,""+j);
        Statement stmnt = (Statement) con.createStatement();
        String query3 = "Create database "+z;
        stmnt.executeUpdate(query3);
        String query = "use "+x;
        stmnt.executeQuery(query);
        String query2 = "show tables";
        Statement stmnt2 = (Statement) con.createStatement();
        ResultSet rs = stmnt2.executeQuery(query2);
        while (rs.next()){ 
        String dname = rs.getString("Tables_in_"+x);
        if(jTextArea1.getText().equals("")){
        jTextArea1.setText(jTextArea1.getText()+dname);
        }
        else{
            jTextArea1.setText(jTextArea1.getText()+"\n"+dname);
        }
        String y = jTextArea1.getText();
        Scanner scanner = new Scanner(y);
while (scanner.hasNextLine()) {
        String line = scanner.nextLine();
        String query4 =  "RENAME TABLE "+x+"."+line+" TO "+z+"."+line;
        //I will add remove first line code here.--------------------------------------
        stmnt.executeUpdate(query4);
        String query5 = "drop database "+x;
        stmnt.executeUpdate(query5);
}}}

    catch(Exception e){
        JOptionPane.showMessageDialog(this,e.getMessage());
    }

正如你所看到的,我正在尝试创建一个重命名 mysql 中的数据库的程序。它工作正常,但它只移动一张表,然后在新数据库中给出“表已存在(与移动的表名称相同)”的错误。由于它从文本区域中存在的行获取表名,因此我怀疑它一次又一次地读取同一行。所以我的想法是每次代码完成时删除第一行,这样就不会两次使用相同的表名。 明确我想做什么-> 假设我的文本区域由以下几行组成->

line 1
line 2
line 3
line 4
so on...

我希望在执行代码后,应删除第 1 行,并且文本区域中出现的新文本应为 ->

line 2
line 3
line 4
line 5
so on...

最佳答案

只需在创建 Scanner 后调用 scanner.nextLine() 即可:

Scanner scanner = new Scanner(y);
if (scanner.hasNextLine()) // Skips first line
    scanner.nextLine();
while (scanner.hasNextLine()) {
    String line = scanner.nextLine();
    ...
}

关于java - 如何删除 jTextArea 的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19194397/

相关文章:

java - 实体模型或Pojo类作为REST API的返回对象

java - JLayeredPane 中的顶层未显示

java - Spring 中的请求和 session bean 生命周期

java - 如何获取终端结果并设置 JTextArea 来读取终端?

java - Spring Boot + Elasticsearch : Connection Refused with Java RestHighLevelClient

java - JFrame 未正确居中

java - 在文本文件中查找字符串。然后得到以下行并需要拆分

java - 如何仅在 JTextArea 的部分内容中显示粗体文本?

java - JTextArea 和 JtextPane 中文本的对齐方式

java - 在从 JTextArea 获取文本的文档中保存文件时如何修复新行