Java小程序文件输入
我正在尝试创建一个小程序,它可以计算值、接收文件并将其显示在文本框中。我知道这样做的时候我比较接近,但是我不能让程序工作,说它没有初始化。任何帮助都将不胜感激Java小程序文件输入,java,file-io,applet,japplet,calculated-field,Java,File Io,Applet,Japplet,Calculated Field,我正在尝试创建一个小程序,它可以计算值、接收文件并将其显示在文本框中。我知道这样做的时候我比较接近,但是我不能让程序工作,说它没有初始化。任何帮助都将不胜感激 import java.awt.*; import java.applet.*; import java.util.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.net.*; public class FoV2_Calc
import java.awt.*;
import java.applet.*;
import java.util.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.net.*;
public class FoV2_Calculator extends JApplet
{
double FoV = 0, nt = 0, gamma = 0;
String nr, wl, es;
JLabel l1,l2,l3,l4,l5,l6,l7,l8,l9;
JButton calculate;
JTextField t1, t2, t3;
JTextArea a1;
String fileToRead = "test.txt";
StringBuffer strBuff;
public static void main(String[] args)
{
new FoV2_Calculator();
}
public FoV2_Calculator()
{
this.setSize(1000,400);
this.add(getCustPanel());
this.setVisible(true);
}
private JPanel getCustPanel()
{
JPanel panel = new JPanel ();
SpringLayout layout = new SpringLayout();
panel.setLayout (layout);
a1 = new JTextArea(10, 80);
a1.setEditable(false);
l1 = new JLabel("Input");
layout.putConstraint(SpringLayout.WEST, l1, 5, SpringLayout.WEST, panel);
panel.add(l1);
l2 = new JLabel("Intermediate Values");
layout.putConstraint(SpringLayout.WEST, l2, 400, SpringLayout.WEST, panel);
panel.add(l2);
l3 = new JLabel("Output");
layout.putConstraint(SpringLayout.WEST, l3, 650, SpringLayout.WEST, panel);
panel.add(l3);
l4 = new JLabel("Number of Rings");
layout.putConstraint(SpringLayout.WEST, l4, 5, SpringLayout.WEST, panel);
layout.putConstraint(SpringLayout.NORTH, l4, 50, SpringLayout.NORTH, panel);
panel.add(l4);
l5 = new JLabel("Wavelength");
layout.putConstraint(SpringLayout.WEST, l5, 5, SpringLayout.WEST, panel);
layout.putConstraint(SpringLayout.NORTH, l5, 100, SpringLayout.NORTH, panel);
panel.add(l5);
l6 = new JLabel("Emitter Space");
layout.putConstraint(SpringLayout.WEST, l6, 5, SpringLayout.WEST, panel);
layout.putConstraint(SpringLayout.NORTH, l6, 150, SpringLayout.NORTH, panel);
panel.add(l6);
t1 = new JTextField(20);
layout.putConstraint(SpringLayout.WEST, t1, 115, SpringLayout.WEST, panel);
layout.putConstraint(SpringLayout.NORTH, t1, 50, SpringLayout.NORTH, panel);
panel.add(t1);
t2 = new JTextField(20);
layout.putConstraint(SpringLayout.WEST, t2, 115, SpringLayout.WEST, panel);
layout.putConstraint(SpringLayout.NORTH, t2, 100, SpringLayout.NORTH, panel);
panel.add(t2);
t3 = new JTextField(20);
layout.putConstraint(SpringLayout.WEST, t3, 115, SpringLayout.WEST, panel);
layout.putConstraint(SpringLayout.NORTH, t3, 150, SpringLayout.NORTH, panel);
panel.add(t3);
l6 = new JLabel("Grating Lobe Separation " + gamma);
layout.putConstraint(SpringLayout.WEST, l6, 400, SpringLayout.WEST, panel);
layout.putConstraint(SpringLayout.NORTH, l6, 50, SpringLayout.NORTH, panel);
panel.add(l6);
l7 = new JLabel("Number of Tiles " + nt);
layout.putConstraint(SpringLayout.WEST, l7, 400, SpringLayout.WEST, panel);
layout.putConstraint(SpringLayout.NORTH, l7, 100, SpringLayout.NORTH, panel);
panel.add(l7);
l8 = new JLabel("Field of View " + FoV);
layout.putConstraint(SpringLayout.WEST, l8, 650, SpringLayout.WEST, panel);
layout.putConstraint(SpringLayout.NORTH, l8, 50, SpringLayout.NORTH, panel);
panel.add(l8);
calculate = new JButton("Calculate");
layout.putConstraint(SpringLayout.WEST, calculate, 825, SpringLayout.WEST, panel);
layout.putConstraint(SpringLayout.NORTH, calculate, 425, SpringLayout.NORTH, panel);
panel.add(calculate);
layout.putConstraint(SpringLayout.WEST, a1, 25, SpringLayout.WEST, panel);
layout.putConstraint(SpringLayout.NORTH, a1, 200, SpringLayout.NORTH, panel);
String prHtml = this.getParameter("fileToRead");
if (prHtml != null) fileToRead = new String(prHtml);
readFile();
panel.add(a1);
calculate.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
nr = t1.getText();
wl = t2.getText();
es = t3.getText();
double nrNUM = Double.parseDouble(nr);
double wlNUM = Double.parseDouble(wl);
double esNUM = Double.parseDouble(es);
gamma = wlNUM / (2 * nrNUM);
nt = (nrNUM + 100);
FoV = gamma * (nrNUM + 90);
l6.setText("Grating Lobe Separation " + String.format("%.3g%n", gamma));
l7.setText("Number of Tiles " + String.format("%.3g%n", nt));
l8.setText("Field of View " + String.format("%.3g%n", FoV));
}
});
return panel;
}
public void readFile(){
String line;
URL url = null;
try{
url = new URL(getCodeBase(), fileToRead);
}
catch(MalformedURLException e){}
try{
InputStream in = url.openStream();
BufferedReader bf = new BufferedReader
(new InputStreamReader(in));
strBuff = new StringBuffer();
while((line = bf.readLine()) != null){
strBuff.append(line + "\n");
}
a1.append("File Name : " + fileToRead + "\n");
a1.append(strBuff.toString());
}
catch(IOException e){
e.printStackTrace();
}
}
}
小程序不使用公共静态void main(字符串[]args)。他们使用init 替换
public static void main(String[] args)
{
new FoV2_Calculator();
}
public FoV2_Calculator()
{
this.setSize(1000,400);
this.add(getCustPanel());
this.setVisible(true);
}
与
public void init()
{
this.setSize(1000,400);
this.add(getCustPanel());
this.setVisible(true);
}