Pessoal, gostaria de saber como faço para criar uma única janela para mostrar os resultados. Eu fiz um programa sobre Produtor e Consumidor. Utilizei a saída simples (system.out.println). Gostaria de saber como criar somente uma janela que mostre os resultados, já que estes são contínuos.
Não entendo muito dessa parte de interface gráfica. Tentei usando o JOptionPane, mas ficou uma grande bagunça. A cada processo abria uma janelinha…hehe. Gostaria de que os todos os resultados aparecessem numa mesma janela.
Acho que não entendi muito bem. Eu tentei fazer como você falou, mas não consegui:
[code]import javax.swing.JOptionPane;
public class Prod_Cons {
static int buffer[] = new int[500];
static int posicao = 0;
static Produtor p1 = new Produtor();
static Produtor p2 = new Produtor();
static Consumidor c = new Consumidor();
public static void main(String[] args) {
p1.start();
p2.start();
c.start();
}
synchronized static public void insereDadosBuffer(int dado){
if(posicao == 0){
StringBuffer str = new StringBuffer();
if(buffer[posicao] != 0){
posicao++;
}
}else{
posicao++;
}
buffer[posicao] = dado;
str.append("Insere no buffer: " + dado + " na posicao: " + posicao);
}
synchronized static public void removeDadosBuffer(){
StringBuffer str = new StringBuffer();
str.append("remove do buffer: " + buffer[posicao] + " na posicao: " + posicao);
buffer[posicao] = 0;
posicao--;
}
JOptionPane.showMessageDialog(null, str, "Produtor x Consumidor", JOptionPane.INFORMATION_MESSAGE);
synchronized static public int getPosicao(){
return posicao;
}
Da uma olhada nesta classe do swing que existe algumas opções boas
import javax.swing.JTextArea;
JTextArea janela = new JTextArea();
String saida="";
//----------------------------------------------
saida = siada + " O que for mostra para o usuario ";
//-----------------------------------------------
janela.setText(saida);
JOptionPane.showMessageDialog(null,janela,"TITULO",JOptionPane.INFORMATION_MESSAGE);