Faire JTextArea de défilement
N'quelqu'un voit un problème avec mon code qui pourrait empêcher JTextArea à devenir de défilement lorsque vous interrogez les données qui se dilate de limites, il semble également que certains mots sont se couper en deux, mais le JScrollPane, qui est censé être censé corriger le problème n'arrive pas à le faire.
Merci pour l'aide.
package guiprojj;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Map;
import javax.swing.*;
import com.eclipsesource.json.JsonObject;
import com.google.gson.JsonParser;
import com.json.parsers.JSONParser;
import com.json.parsers.JsonParserFactory;
public class gui {
public static void main(String[] args)
{
JFrame maingui = new JFrame("Gui");
JButton enter = new JButton("Enter");
final JTextArea movieinfo = new JTextArea(5,20);
final JTextField movietext = new JTextField(16);
final JScrollPane scrolll = new JScrollPane(movieinfo);
JPanel pangui = new JPanel();
pangui.add(movietext);
pangui.add(enter);
scrolll.add(movieinfo);
pangui.add(movieinfo);
maingui.setResizable(false);
maingui.setVisible(true);
movieinfo.setLineWrap(true);
movieinfo.setEditable(false);
maingui.add(pangui);
scrolll.getPreferredSize();
//pangui.setPreferredSize(new Dimension(300, 150));
//pangui.add(scrolll, BorderLayout.CENTER);
//movieinfo.add(scrolll);
maingui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
maingui.pack();
enter.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
System.out.println(Test.getMovieInfo(movietext.getText()));
JsonParserFactory factory=JsonParserFactory.getInstance();
JSONParser parser=factory.newJsonParser();
Map jsonData=parser.parseJson(Test.getMovieInfo(movietext.getText()));
String Title = (String)jsonData.get("Title");
String Year = (String)jsonData.get("Year");
String Plot = (String)jsonData.get("Plot");
movieinfo.setText("Title: "+Title+"\nYear: "+ Year +"\nPlot: "+Plot);
}
});
}
}
movieinfo.setText("Title: "+Title+"\nYear: "+ Year +"\nPlot: "+Plot);
Envisager de convertir l' JTextArea
à un JTable
si les parcelles sont assez court, sinon utilisez un JTextComponent
qui supporte le style de texte et en faire 3 en-têtes pour les 3 sections.OriginalL'auteur Eric Lang | 2013-09-17
Vous devez vous connecter pour publier un commentaire.
Un composant ne peut avoir qu'un seul parent. Vous créez le composant scrollpane avec la zone de texte qui est bon. Mais ensuite, vous ajoutez le composant textarea pour le panneau, ce qui est mauvais depuis la zone de texte est supprimé à partir du composant scrollpane).
Vous devez ajouter le composant scrollpane de le panel puisque c'est le composant qui contient la zone de texte.
Ce n'est pas pris en charge par un composant Swing, que je sache. La zone de texte n'est pas un "éditeur de texte".
Ne wrapStyleWord s'adapter à votre besoin?
Complètement compris, mais il doit y avoir un moyen d'empêcher ça: i.minus.com/jnIzseKsa1oWp.png (Look @ la parole entre les deux)
Grandement apprécier jackrabbit, vous frappez le clou sur la tête.
OriginalL'auteur camickr
Je pense que vous devriez utiliser un ScrollPane.
OriginalL'auteur JNL