На экране есть пара вкладок.Каждая вкладка со своим соединениемRequest.Но когда выбрана какая-либо вкладка, компоненты предыдущей вкладки мигают, прежде чем новые компоненты вкладки видны.Как я могу решить это.Использование addShowListener в каждой вкладке имеет свою проблему.Это показывает пустой экран.Пожалуйста, посмотрите на видео здесь
Здесь, если вы перейдете с домашней вкладки на вкладку службы, будут видны компоненты вкладки службы, и она начнет анализировать данные json (виден загрузчик).Затем компоненты с домашнего экрана будут видны до того, как проанализированные данные будут показаны в компоненте вкладки услуги.
Tabs tabs = new Tabs(Component.BOTTOM);
tabs.addTab("Home", calendarIcon, homeContainer);
tabs.addTab("Book", calendarIcon3, quickBookingContainer);
tabs.addTab("Servicing", calendarIcon1, servicingContainer);
tabs.addTab("History", calendarIcon2, serviceHistoryContainer);
add(BorderLayout.CENTER, tabs);
tabs.addSelectionListener((int oldSelected, int newSelected) -> {
if (newSelected == 0) {
//connectionRequest for parsing json data
homeContainerRequest(homeContainer, res);
} else if (newSelected == 1) {
quickBookingContainerRequest(quickBookingContainer, res);
} else if (newSelected == 2) {
serviceRequest(serviceContainer, res);
} else if (newSelected == 3) {
serviceHistoryRequest(serviceHistoryContainer, res);
}
});
public void homeContainerRequest(Container homeContainer, Resources res){
ConnectionRequest con = new ConnectionRequest(url, false) {
@Override
protected void readResponse(InputStream input) throws IOException {
JSONParser jp = new JSONParser();
Map parser = jp.parseJSON(new InputStreamReader(input));
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
}
};
con.setFailSilently(true);
con.addRequestHeader("accept", "application/json");
NetworkManager.getInstance().addToQueue(con);
}
public void quickBookingContainerRequest(Container quickBookingContainer, Resources res){
ConnectionRequest con = new ConnectionRequest(url1, false) {
@Override
protected void readResponse(InputStream input) throws IOException {
JSONParser jp = new JSONParser();
Map parser = jp.parseJSON(new InputStreamReader(input));
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
}
};
con.setFailSilently(true);
con.addRequestHeader("accept", "application/json");
NetworkManager.getInstance().addToQueue(con);
}
public void serviceHistoryRequest(Container serviceHistoryContainer, Resources res){
ConnectionRequest con = new ConnectionRequest(url2, false) {
@Override
protected void readResponse(InputStream input) throws IOException {
JSONParser jp = new JSONParser();
Map parser = jp.parseJSON(new InputStreamReader(input));
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
}
};
con.setFailSilently(true);
con.addRequestHeader("accept", "application/json");
NetworkManager.getInstance().addToQueue(con);
}