Java 绘图时的JApplet加载屏幕
在绘制图形之前,如何放置java小程序中可见的加载屏幕? 我的代码:Java 绘图时的JApplet加载屏幕,java,swing,loading,graphviz,japplet,Java,Swing,Loading,Graphviz,Japplet,在绘制图形之前,如何放置java小程序中可见的加载屏幕? 我的代码: 在小程序中绘制图形占用了加载时间的大部分。获取表示图形的字符串并将其解析为图形对象相对便宜。任何帮助都将不胜感激 将卡片布局与JProgressBar(或动画“加载”图标)一起放在一张卡片上,将图形放在另一张卡片上。首先默认为“加载”卡,然后在SwingWorker中执行长时间运行的任务。返回结果后,准备图形,将其添加到另一张卡并翻转到该卡。任何需要很长时间才能完成的操作都应该在后台线程中完成,例如SwingWorker对象。
在小程序中绘制图形占用了加载时间的大部分。获取表示图形的字符串并将其解析为图形对象相对便宜。任何帮助都将不胜感激 将
卡片布局
与JProgressBar
(或动画“加载”图标)一起放在一张卡片上,将图形放在另一张卡片上。首先默认为“加载”卡,然后在SwingWorker
中执行长时间运行的任务。返回结果后,准备图形,将其添加到另一张卡并翻转到该卡。任何需要很长时间才能完成的操作都应该在后台线程中完成,例如SwingWorker对象。顺便问一下,您在哪里“绘制图形”?上面哪几行代码需要很长时间才能处理?而且,我觉得很奇怪,你正在把一个字符串解析成某种图形。这是一个XML字符串吗?不,它是用来描述图形的点语言。
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(){
...
}
}