我写了一个小的Java小程序作为在线表单,它将接收有关订单等的信息......并向公司收件箱发送适当的电子邮件。我的问题是applet没有正确加载,并且程序中没有任何事件驱动的代码正在运行。 (这包括填充表单中的列表和选项的功能)。我问过我的同事他是否已将* .class文件放到公司网站服务器上(与正在执行的html代码位于同一目录中),并且他已经确认他已经。
我很难过,可能导致applet无法正确加载的原因以及导致applet无法启动事件驱动代码的原因是什么?这是一个缩短版本的applet(它有点冗长所以请注意,真的把你的注意力集中在像get * * ()这样的方法上,这是没有运行的方法之一,它用选项填充经销商列表。
package OrderSpecs;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
import java.util.Properties;
import javax.swing.BorderFactory;
import javax.swing.DefaultListModel;
import javax.swing.ImageIcon;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingConstants;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Date;
import java.text.SimpleDateFormat;
import javax.swing.JTextField;
public class OrderSpecs extends JApplet implements ActionListener {
/**
* This is the OrderSpecs default constructor
*/
public OrderSpecs() {
super();
}
/**
* This method initializes this
*
* @return void
*/
public void init() {
this.setPreferredSize(new Dimension(880, 1279));
this.setSize(880, 1279);
this.setContentPane(new JScrollPane(getJContentPane()));
applicationList = new ArrayList<Application>();
Date dateNow = new Date ();
SimpleDateFormat dateformatMMDDYYYY = new SimpleDateFormat("MM/dd/yyyy");
this.dateString = new StringBuilder( dateformatMMDDYYYY.format( dateNow ) );
}
/**
* Initialize the list of industries for the drop-down list
*/
private String[] getIndustryList()
{
String[] industries =
{
" ", "Commercial Lab", "Environmental", "Food / Wine", "Government", "Marine Lab",
"Other", "Petro Chemical", "Power Generation", "Pulp & Paper", "University"
};
return industries;
}
我正在使用Eclipse进行applet开发,当我编译/运行代码时,它完全出现在我的机器上,任何想法?非常感谢,
答案 0 :(得分:2)
但文本框的长度为0
那取决于你如何定义文本字段。如果您使用:
JTextField textField = new JTextField();
然后文本字段的大小将等于文本,在这种情况下为0.您应该使用以下内容来提供首选大小:
JTextField textField = new JTextField(10);
并且我在applet中的所有下拉框都没有填充任何值
我们再次无法从发布的代码中了解您正在做什么,因此我们无法提供任何帮助。
整个小程序很长,
所以问题是你为什么要编写一个很长的程序而不进行任何调试?首先创建一个10行程序,只需创建一个组合框,将数据添加到模型并在GUI上显示组合框。如果效果很好,现在您可以将工作代码与您的程序进行比较,以查看您的工作方式有何不同。
如果它不起作用,那么你有一个简单的完整程序可以在论坛上发布。这称为SSCCE。否则我们只是在做出疯狂的猜测,这不是很好地利用我们的时间。