Olá, Pessoal, tudo bem?
Estou com uma dúvida tenho apanhando para montar um interface gráfica aqui, gostaria de saber se é possivel concatenar String + double + inteiro dentro de um JTextPane?
A minha lógica seria o seguinte tenho tanto “String” depois tenho um laço “for” + “while” depois um “for” novamente
quando fiz em modo texto deu certo pois imprimia cada linha com “System.out.println()” neste conseguia concatenar de boa e depois nos outros laços fazer novamente, mas agora com esse JTextPane ele fica sobreescrevendo e também os laços “for” e “while” não geram a sequencia numérica que preciso ele só aparece o ultimo número.
Obrigado
Mostre o código de como você está fazendo no JTextPane.
Lembrando que, para manter o que já foi colocado no JTextPane, você precisa pegar o texto anterior e colocá-lo novamente toda vez que for adicionar alguma coisa. Exemplo:
JTextPane meuTextPane = new JTextPane();
// outros códigos...
String informacao1 = "Primeiro Texto ";
meuTextPane.setText(informacao1);
String informacao2 = "Segundo Texto ";
meuTextPane.setText(meuTextPane.getText() + informacao2); // adiciona a informacao2 sem apagar o texto que já estava lá
Abraço.
Então eu consegui dessa forma concatenar, MAIS ELE EXTRAPOLA DA CAIXA E NÃO CONSIGO COLOCAR SCROLL PARA VER.
Código que antes eu usava no terminal:
public void setNumeroNormal(double total, double dividirNumContatos) {
saida();
this.total = total;
this.dividirNumContatos = dividirNumContatos;
totalDivisao = total / dividirNumContatos;
BigDecimal bTotalDivisao = new BigDecimal(totalDivisao).setScale(0, RoundingMode.CEILING);
int intTotalDivisao = ((BigDecimal)bTotalDivisao).intValue();
int intDividirNumContatos = (int)dividirNumContatos;
int totalArredondadorFor = intDividirNumContatos * intTotalDivisao;
int contadorMenor = 0;
//DecimalFormat df = new DecimalFormat();
//df.applyPattern("000");
System.out.print(intDividirNumContatos);
System.out.println("");
for (int t = 1; t <= intDividirNumContatos; t++) {
System.out.print("\\" + "n" + t + "\\");
}
while (contadorMenor <= intTotalDivisao - 1) {
contadorMenor ++;
System.out.println("");
for (int i = contadorMenor; i <= totalArredondadorFor; i = i + intTotalDivisao) {
System.out.print("\\" + getDecimalFormat().format(i) + "\\");
}
}
}
Agora código novo que concatenei MAI TENHO UM PROBLEMA A CAIXA NÃO TEM SCROLL DE ROLAGEM ENTÃO PARTE DO CÓDIGO GERADO NÃO CONSIGO VER, como poderia fazer pra consertar isso?
public void numeroNormal() {
numeros = new Numeros();
String h = "";
String convTotal = ((String)txtTotal.getText());
double doubleTotal = Double.valueOf(convTotal);
numeros.setTotal(doubleTotal);
String convContatos01 = ((String)txtContatos01.getText());
double doubleContatos01 = Double.valueOf(convContatos01);
numeros.setDividirNumContatos(doubleContatos01);
String convCasaDecimais = ((String)txtCasaDecimais.getText());
numeros.setPattern(convCasaDecimais);
double mTotalDivisao = numeros.getTotal() / numeros.getDividirNumContatos();
BigDecimal bTotalDivisao = new BigDecimal (mTotalDivisao).setScale(0, RoundingMode.CEILING);
int intTotalDivisao = ((BigDecimal)bTotalDivisao).intValue();
int intDividirNumContatos = (int)numeros.getDividirNumContatos();
int totalArredondadorFor = intDividirNumContatos * intTotalDivisao;
int contadorMenor = 0;
h = h + (Integer.toString(intDividirNumContatos));
h = h + "\n";
for (int t = 1; t <= intDividirNumContatos; t++) {
h = h + ("\\" + "n" + (Integer.toString(t) + "\\"));
}
h = h + "\n";
while (contadorMenor <= intTotalDivisao - 1) {
contadorMenor ++;
h = h + (Integer.toString(contadorMenor));
for (int i = contadorMenor; i <= totalArredondadorFor; i = i + intTotalDivisao ) {
h = h + "\\" + String.valueOf((getDecimalFormat().format(i))) + "\\";
}
}
//String convContatos01 = ((String)txtContatos01.getText());
textPane.setText(h);
}
As barras de rolagem (scrollbars) do JTextPane (assim como de outros componentes) não é automática. Você precisa colocar o componente dentro de um JScrollPane.
Recomendo a leitura: https://docs.oracle.com/javase/tutorial/uiswing/components/editorpane.html e http://docs.oracle.com/javase/tutorial/uiswing/components/scrollpane.html . Lá tem exemplos inclusive, não deixe de vê-los.
Abraço.