2015-04-17 2 views
1

Я делаю Gui, в котором у меня есть кнопки и JTextField.Отображение значения JTextField в пакетном файле

В настоящее время я читаю значение из текстового файла в редактируемый JTextField и JButton(run), который выполняет командный файл. Как мы можем отобразить значение JTextfield в пакетном файле. Теперь, когда я запускаю программу и нажимая кнопку запуска, командный файл запускает показ значения, но вместо запуска значения должен отображать значение JTextfield.

Код:

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import java.io.*; 
import java.util.*; 
import java.awt.event.*; 

public class A extends JPanel 
{ 
public A() { 

JPanel buttonPanel = new JPanel(); 
add(buttonPanel); 
buttonPanel.setLayout(new FlowLayout()); 


JTextField field = new JTextField(10); 
buttonPanel.add(field); 


try{ 
     InputStream ips=new FileInputStream("a.txt"); 
     InputStreamReader ipsr=new InputStreamReader(ips); 
     BufferedReader br=new BufferedReader(ipsr); 
     String line; 
     while ((line=br.readLine())!=null){ 
      field.setText(line); 
      } 
     br.close(); 
    }  
    catch (Exception e){ 
     e.printStackTrace(); 
    } 

JButton button = new JButton("Run"); 
buttonPanel.add(button); 
button.addActionListener(new ActionListener() 
{ 
    public void actionPerformed(ActionEvent e) 
    { 
     try { 
      Runtime.getRuntime().exec("cmd /c start p.bat"); 
      }catch (Exception ex) { 
     ex.printStackTrace(); 
     } 
    } 
    }); 

} 
public static void main(String[] args) { 
A app = new A(); 
JFrame m = new JFrame("A"); 
m.getContentPane().add(app); 
m.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
m.pack(); 
m.setVisible(true); 
} 
} 

a.txt:

1248 

p.bat:

echo value running 
pause 
+1

Что ваш вопрос здесь ? вы хотите указать значение текстового поля на ваш 'p.bat' как вход? – Sridhar

ответ

0

Изменить p.bat на:

echo value %1 
pause 

и где вы работаете команда:

Runtime.getRuntime().exec("cmd /c start p.bat" + " " + field.getText());

, если поле может содержать более одного слова, которое вы должны положить его в сторону «», как:

Runtime.getRuntime().exec("cmd /c start p.bat" + " \"" + field.getText()+ "\"");

Смежные вопросы