Java 如何删除jTextArea的第一行
我对编程和java相当陌生。 我想知道如何删除jtextarea上的第一行。 虽然我可以张贴我的应用程序的编码,但我认为这是不必要的,而且我正在打电话。 请告诉我如何删除jtextfield java中的第一行 好的。。。下面是我正在尝试做的代码->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
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,结束);此代码将自动删除第一行。