Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何删除jTextArea的第一行_Java_Swing_Jtextarea - Fatal编程技术网

Java 如何删除jTextArea的第一行

Java 如何删除jTextArea的第一行,java,swing,jtextarea,Java,Swing,Jtextarea,我对编程和java相当陌生。 我想知道如何删除jtextarea上的第一行。 虽然我可以张贴我的应用程序的编码,但我认为这是不必要的,而且我正在打电话。 请告诉我如何删除jtextfield java中的第一行 好的。。。下面是我正在尝试做的代码-> String x = (String) jComboBox1.getSelectedItem(); String z = JOptionPane.showInputDialog("Please enter new name for Database

我对编程和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中重命名数据库。它工作正常,但只移动一个表,然后在新数据库中出现“表已经存在(和它移动的表名相同)”的错误。由于它从textarea中的行中获取表名,我怀疑它一次又一次地读取同一行。因此,我的想法是在每次代码完成时删除第一行,这样它就不会使用相同的表名两次。 要明确我想做什么-> 假设我的文本区域由以下几行组成->

line 1
line 2
line 3
line 4
so on...
我希望在执行代码之后,第1行应该被删除,文本区域中出现的新文本应该是->

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

创建
扫描仪后,只需调用
扫描仪.nextLine()

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

我们通常不喜欢随意发布答案。请回到家里,把你尝试过的东西贴出来,然后我们会帮助你。而且我真的不知道你说的删除第一行是什么意思,因此需要代码。。。请不要给我太多的大拇指:哦,我对编程和这个网站都是新手,我真的对这里的情况知之甚少。不管怎样,我编辑了我的帖子,并添加了您要求的详细信息。实际上,先生,我现在只是从各个方面测试了这个命令(之前我很匆忙,只是检查了它是否出现异常),我只是注意到它只是复制了最后一个表(假设我的数据库有3个表,table1/table2/table3;然后它只复制了表3)。因此,我认为唯一更好的方法是在每次执行后从textarea中删除第一行。因此,请告诉我从textarea中删除第一行的命令。@user2828458,每次要跳过一行,只需调用
scanner.nextLine()
。但我认为你们应该回到纸上,更彻底地思考你们想做什么以及你们打算怎么做。在运行代码之前编写/绘制代码总是很有帮助的再次谢谢,先生。你帮了大忙。虽然我终于找到了一种方法来删除第一行。以下代码可用于->int end=jTextArea1.getLineEndOffset(0);jTextArea1.replaceRange(“,0,结束);此代码将自动删除第一行。