Code Java pour afficher des lignes nombre de jtextarea
J'essaie d'écrire du code java pour afficher la zone de texte et si j'ajoute 9000 lignes dans le jtextarea au droit d'afficher 9000 lignes et la ligne verticale.
Est-il de toute façon que je peux le faire??
Est-il de toute façon que je peux ajouter le numéro de ligne comme dans les photos..
S'il vous plaît aider moi!! Merci!!
Voici mon code:
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.ScrollPaneConstants;
import javax.swing.text.DefaultCaret;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
//TODO Auto-generated method stub
final JFrame frame = new JFrame("Test");
JPanel panel = new JPanel();
panel.setLayout((LayoutManager) new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.setOpaque(true);
final JTextArea textArea = new JTextArea(20, 30);
textArea.setWrapStyleWord(true);
textArea.setEditable(true);
textArea.setFont(Font.getFont(Font.SANS_SERIF));
JScrollPane scroller = new JScrollPane(textArea);
scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
JPanel inputpanel = new JPanel();
inputpanel.setLayout(new FlowLayout());
JButton button = new JButton("Enter");
DefaultCaret caret = (DefaultCaret) textArea.getCaret();
caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
panel.add(scroller);
inputpanel.add(button);
panel.add(inputpanel);
frame.getContentPane().add(BorderLayout.CENTER, panel);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
frame.setResizable(false);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frame.dispose();
}});
frame.setSize(500, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
S'il vous plaît aider moi!! Merci!!
OriginalL'auteur user2726811 | 2013-09-12
Vous devez vous connecter pour publier un commentaire.
Voir Texte Composant Le Numéro De Ligne pour un composant qui peut être utilisé comme un en-tête de ligne du composant scrollpane qui contient une zone de texte.
J'ai utilisé une fois et j'ai besoin de l'utiliser à nouveau. Merci @camickr.
OriginalL'auteur camickr
Voici le code en se basant sur le post de ici mais fixe, par exemple à l'aide efficace de concaténation de Chaîne pour éviter les lag lorsque vous maintenez la
ENTER
clé par exemple.Dans votre GUI classe, il suffit d'instancier
LineNumberTextArea
et de lui donner laJTextArea
instance à vous attacher. Également définir laJScrollPane
'srowHeaderView
à laLineNumberingTextArea
exemple:Enfin ajouter un DocumentListener pour votre
JTextArea
de mettre à jour les numéros de ligne lorsque le document est modifié:OriginalL'auteur BullyWiiPlaza
Dans un JScrollPane, la barre de défilement verticale ne fonctionne pas correctement avec un composant TextLineNumber.
Afin de corriger ce problème (et un autre problème de l'affichage),
J'ai modifié la classe TextLineNumber en JTextLineNumber.
Dans cette nouvelle classe, le texte de la classe du composant est JTextPane mais vous pouvez le modifier pour JTextComponent.
Pour l'utiliser, mettez votre JTextLineNumber composant d'un panneau (avec une bordure de mise en page) à l'OUEST et votre texte au CENTRE.
Enfin mettre ce panneau dans un panneau défilant.
J'espère que ça aidera quelqu'un.
La classe JTextLineNumber :
OriginalL'auteur Dominique
Vous besoin de quelque chose comme cela peut-être.Pris le lien de camickr.
Ajouter la classe TextLineNumber à partir de ce lien dans le dossier de travail:
Cliquez sur ici!
La classe ouvrière:
http://img28.imageshack.us/img28/3731/vm6p.png
-1 pour l'alimentation à la cuillère code. @user2726811, excusez-moi, je vous ai donné la réponse 13 heures plus tôt. Toute cette affiche n'a été copier les deux lignes de code à partir de mon blog en un exemple. Vous devriez être en mesure de comprendre comment le faire sur votre propre. Bonne chance dans l'obtention de l'aide auprès de moi la prochaine fois.
Je vais en faire moi-même. Je ne veux pas le finir, je veux savoir comment il fonctionne. que je vais créer mon auto.. je vous Remercie beaucoup pour votre aide!!
L'idée est que le crédit doit être donné à la personne qui a fait la suggestion (et écrit le code dans ce cas), et non pas quelqu'un qui a copié d'une autre personne, de la suggestion.
hmmm!! yap, vrai que!!
OriginalL'auteur Ms_Joe