Salut,
je veux réaliser un simple éditeur contenant une barre de menu et une zone de texte , pour cette dernière j'ai essayé avec JTextArea mais aucune zone de texte n'est affiché je veux savoir l'erreur de mon code
voici le code que j'ai implémenté
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
 
import javax.swing.AbstractButton;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.KeyStroke;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.DefaultEditorKit.CopyAction;
import javax.swing.text.PlainDocument;
import javax.swing.text.StyledEditorKit;
 
import beaver.Action;
 
import java.awt.event.ActionEvent;
import java.text.NumberFormat;
 
import javax.swing.JFormattedTextField;
 
import org.w3c.dom.Document;
 
public class Frame extends JFrame{
	  JTextArea grandeZone = new JTextArea(4, 10);
    private JPanel container = new JPanel();
    private JMenuBar menuBar = new JMenuBar();
    private JMenu fichier = new JMenu("Fichier"),
    		      edition = new JMenu("Edition"),
    		      graphe = new JMenu("Graphe d'appels"),
    		      analyse = new JMenu("Analyse Clustering"),
    		      filtrage = new JMenu("Filtrage"),
    		      aPropos = new JMenu("À propos");
 
    private JMenuItem nouveau = new JMenuItem("Nouveau"),
                      ouvrir = new JMenuItem("Ouvrir"),
                      enregistrer = new JMenuItem("Enregistrer"),
                      enregistrer1 = new JMenuItem("Enregistrer_sous"),
                      quitter = new JMenuItem("Quitter"),
                      copier = new JMenuItem("Copier"),
	                  couper = new JMenuItem("Couper"),
	                  coller = new JMenuItem("Coller"),
	                  lancer1 = new JMenuItem("Lancer L'analyseur du graphe d'appels"),
	                  lancer2 = new JMenuItem("Lancer l'annalyseur clustering"),
	                  visualiser = new JMenuItem("Toutes les préoccupations dans le code source"),
	                  concerns = new JMenuItem("Les préoccupations transversales"),
    				  aProposItem = new JMenuItem(" ? ");
 
    public Frame(){
            this.setTitle("Aspect Mining par Clustering");
            this.setSize(900, 600);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            this.setLocationRelativeTo(null);
            container.setBackground(Color.white);
            container.setLayout(new BorderLayout());
            JPanel top = new JPanel();
            JScrollPane texteAsc;
            setLayout(new BorderLayout(5, 5));
 
            texteAsc = new JScrollPane(grandeZone);
            add(container, BorderLayout.NORTH);
            add(texteAsc, BorderLayout.CENTER);
            Font police = new Font("Arial", Font.BOLD, 14);            
            container.add(top, BorderLayout.NORTH);
            this.setContentPane(top);
            this.initMenu();
            this.setVisible(true); 
}
 
    private void initMenu(){
    	nouveau.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L,
                KeyEvent.CTRL_MASK));
    	//Menu animation
    	fichier.add(nouveau);
    	ouvrir.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,
                KeyEvent.CTRL_MASK));
    	fichier.add(ouvrir);
    	enregistrer.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,
                KeyEvent.CTRL_MASK));
    	fichier.add(enregistrer);
    	fichier.add(enregistrer1);
    	fichier.addSeparator();
        //Pour quitter l'application
    	quitter.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,
                KeyEvent.CTRL_DOWN_MASK + KeyEvent.SHIFT_DOWN_MASK));
    	quitter.addActionListener(new ActionListener(){
    		public void actionPerformed(ActionEvent event){
    			System.exit(0);
    		}
    	});
    	fichier.add(quitter);
    	copier.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent arg0) {
				CopyAction copier=new StyledEditorKit.CopyAction();
			}    		    		
    	});
    	copier.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,
                KeyEvent.CTRL_MASK));
    	edition.add(copier);
    	couper.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,
                KeyEvent.CTRL_MASK));
    	edition.add(couper);
    	coller.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,
                KeyEvent.CTRL_MASK));
    	edition.add(coller);
    	lancer1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,
                KeyEvent.CTRL_MASK));
    	graphe.add(lancer1);
    	lancer2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W,
                KeyEvent.CTRL_MASK));
    	analyse.add(lancer2);
    	visualiser.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_K,
                KeyEvent.CTRL_MASK));
    	filtrage.add(visualiser);
    	concerns.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,
                KeyEvent.CTRL_MASK));
    	filtrage.add(concerns);
    	//menu à propos
    	aProposItem.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent arg0) {
				JOptionPane jop = new JOptionPane();				
				String mess = "Notre application est un moyen offert aux utilisateurs pour leur aider  ! \n";
				mess += "de détecter les préoccupations transversales dans un code orienté objet \n";
				mess += "\n C'est une approche semi-automatique d'identification des préoccupations";
				jop.showMessageDialog(null, mess, "À propos", JOptionPane.INFORMATION_MESSAGE);
			}    		    		
    	});
    	aProposItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,
                KeyEvent.CTRL_MASK));
    	aPropos.add(aProposItem);
 
    	//Ajout des menus dans la barre de menus
    	fichier.setMnemonic('F');
    	menuBar.add(fichier);
    	edition.setMnemonic('E');
    	menuBar.add(edition);
    	graphe.setMnemonic('G');
    	menuBar.add(graphe);
    	analyse.setMnemonic('A');
    	menuBar.add(analyse);
    	filtrage.setMnemonic('L');
    	menuBar.add(filtrage);
    	aPropos.setMnemonic('P');
    	menuBar.add(aPropos);
    	//Ajout de la barre de menus sur la fenêtre
    	this.setJMenuBar(menuBar);
    }
    }
merci