Java-апплет не отображается правильно

89
5

Я написал небольшой апплет java, чтобы он выступал в качестве онлайн-формы, которая будет принимать информацию о заказах и т.д.... и отправила соответствующие письма в почтовые ящики компании. Моя проблема в том, что апплет не загружается правильно и что ни один из управляемых событиями кода в программе не работает. (Сюда входят функции, которые заполняют списки и варианты в форме). Я попросил своего сотрудника, если он поставил файл *.class на веб-сервер компании (в том же каталоге, что и выполняемый html-код), и он подтвердил, что у него есть.


Я в тупике, что может привести к неправильной загрузке апплета и что может привести к тому, что апплет не сможет запустить код, управляемый событиями? Вот апплет в сокращенной версии (он немного длинный, так что смотрите, действительно обращайте внимание на такие методы, как 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 для разработки апплетов, и когда я компилирую/запускаю код, он отлично отображается на моей машине, любые идеи? Большое спасибо,


    Mike

спросил(а) 2021-01-19T14:04:28+03:00 6 месяцев, 1 неделя назад
1
Решение
78

но текстовые поля будут иметь длину 0



Ну, это зависит от того, как вы определяете текстовое поле. Если вы используете:


JTextField textField = new JTextField();

Тогда текстовое поле будет иметь размер, равный тексту, который в этом случае равен 0. Для получения предпочтительного размера вы должны использовать примерно следующее:


JTextField textField = new JTextField(10);

и ни одно из раскрывающихся ящиков, которые у меня есть в апплете, не заполнено никакими значениями



Снова мы не можем сказать из опубликованного кода, что вы делаете, поэтому мы не можем помочь.


Апплет в полном объеме очень длинный,



Итак, возникает вопрос, почему вы пишете очень длинную программу, не проводя отладки на этом пути? Начните с создания 10-строчной программы, которая просто создает поле со списком, добавляет данные в модель и отображает поле со списком в графическом интерфейсе. Если он отлично работает, теперь вы можете сравнить рабочий код с вашей программой, чтобы увидеть, что вы делаете по-другому.


Если он не работает, у вас есть простая полная программа для публикации на форуме. Это называется SSCCE. В противном случае мы просто делаем дикие догадки, которые не очень хорошо используют наше время.

ответил(а) 2021-01-19T14:04:28+03:00 6 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема