Как я могу поместить экран загрузки, который будет отображаться в java-апплете, пока график не будет нарисован? Мой код:Экран загрузки JApplet во время рисования
public class Test extends JApplet
{
GrappaPanel gp = null;
JPanel jpanel = null;
JEditorPane dataDisplayer = null;
Graph graph = null;
JProgressBar progressBar = null;
public void init() {
Parser program =null;
InputStream input;
String sgraph = getGraph();
try {
input = new ByteArrayInputStream(sgraph.getBytes("UTF-8"));
program = new Parser(input);
program.parse();
} catch (Exception e) {
e.printStackTrace();
}
graph = program.getGraph();
gp = new GrappaPanel(graph);
JScrollPane jspg = new JScrollPane(gp,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
GridBagLayout gb = new GridBagLayout();
jpanel = new JPanel(gb);
setContentPane(jpanel);
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.BOTH;
gbc.gridwidth = GridBagConstraints.REMAINDER;
gbc.weightx = 1.0;
gbc.weighty = 1.0;
gb.setConstraints(jspg,gbc);
jpanel.add(jspg);
}
private String getGraph(){
...
}
}
Рисование графика в апплете занимает большую часть времени загрузки. Получение строки, представляющей граф, и разбора его на объект Graph относительно дешево. Любая помощь будет оценена!
Все, что требуется для завершения, должно выполняться в фоновом потоке, например, с объектом SwingWorker. –
Кстати, где вы «рисуете график»? Какие строки кода выше занимают много времени? Кроме того, мне смешно, что вы разбираете String в какую-то графику. Является ли это строкой XML? –
Нет, это точечный язык, который используется для описания графика. –