2011-04-06 103 views
0

我寫了一個小型java小程序,充當在線表單,它將接收有關訂單等的信息......並將適當的電子郵件發送到公司收件箱。我的問題是applet加載不正確,程序中沒有事件驅動的代碼正在運行。 (這包括填充表單中的列表和選項的函數)。我問過我的同事是否已經將* .class文件放到公司的網絡服務器上(與正在執行的html代碼位於同一個目錄中),並且他已經證實他擁有。Java小程序不能正確顯示

我很難過,可能會導致applet無法正確加載以及導致applet無法啓動事件驅動代碼的原因是什麼?這是一個簡短版本的小程序(它有點冗長,所以要注意,真的提請您注意諸如get * *()這樣的方法,它是未運行的方法之一,它會填充分發者列表與選擇)。

我使用Eclipse進行開發的小程序,當我編譯/運行它完美地出現在我的機器上的代碼,任何想法
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; 
    } 

?非常感謝,

  • 邁克
+1

您的瀏覽器Java控制檯顯示哪些錯誤?怎麼樣的瀏覽器錯誤日誌?您是否已驗證該網頁下載該小程序?所有這些將有助於解答。 – justkt 2011-04-06 14:07:00

+0

看起來像所有的突出代碼是缺少的? – 2011-04-06 14:08:30

+0

頁面將加載小程序,但文本框的長度爲0,並且我在小程序中的下拉框中沒有填充任何值,它幾乎就像小程序沒有被初始化,除了一切正在顯現,只是沒有一個在工作。 – 2011-04-06 14:10:20

回答

2

但文本框將是0長度

嗯,這取決於你如何定義文本字段。如果你使用:

JTextField textField = new JTextField(); 

然後文本字段將有一個大小相等,在這種情況下是0。您應該使用類似的文字下面給出較好大小:

JTextField textField = new JTextField(10); 

,沒有的,我在applet的下拉框將填入任何值

同樣,我們不能從發佈的代碼告訴你在做什麼,所以我們不能Ø提供任何幫助。

其全部的小程序很長,

所以,問題是你爲什麼要編寫一個程序,這是非常不長,一路上做任何調試?首先創建一個10行程序,該程序只創建一個組合框,將數據添加到模型並在GUI上顯示組合框。如果它工作的很好,現在您可以將工作代碼與您的程序進行比較,以查看您所做的改變。

如果它不起作用,那麼你有一個簡單的完整程序發佈在論壇上。這被稱爲SSCCE。否則,我們只是進行野蠻的猜測,這對我們的時間用處不大。