Bonjour,
Alors j'ai lu avec attention les tutorials et fait des recherches dans ce forum mais je n'arrive toujours pas à comprendre comment trier mon tableau. Voici le code de mon main Panel :
J'ai intégré la classe MyTableModel pour pouvoir lancer ces lignes de code :
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 public MainPanel() { super("Search"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setLocation(300, 300); final JPanel mainFiller = new JPanel(); mainFiller.setLayout(new BoxLayout(mainFiller, BoxLayout.PAGE_AXIS)); final JPanel searchPanel = new JPanel(new FlowLayout()); final JMenuBar barre = new JMenuBar() ; this.setJMenuBar(barre); final JMenu Menu = new JMenu("Menu"); barre.add(Menu); final JMenuItem dictionnaire = new JMenuItem("Dictionary"); Menu.add(dictionnaire); dictionnaire.addActionListener(new ActionListener(){ public void actionPerformed(final ActionEvent e){executerActionDico();} }); final JMenuItem pattern = new JMenuItem("Add Regular Expression"); Menu.add(pattern); pattern.addActionListener(new ActionListener(){ public void actionPerformed(final ActionEvent e){executerActionPattern();} }); Menu.addSeparator(); // on ajoute un séparateur entre ouvrir et quitter final JMenuItem quitter = new JMenuItem("Quit"); Menu.add(quitter); quitter.addActionListener(new ActionListener(){ public void actionPerformed(final ActionEvent e){executerActionQuitter();} }); fileName1 = new JTextField(30); fileName1.addKeyListener(this); fileName2 = new JTextField(30); fileName2.addKeyListener(this); generateButton = new JButton("Generate words"); generateButton.addActionListener(new ActionListener(){ public void actionPerformed(final ActionEvent e){executerActionGenerate();} }); searchPanel.add(new JLabel("Domain Collection: ")); searchPanel.add(fileName1); searchPanel.add(new JLabel("Reference Collection: ")); searchPanel.add(fileName2); searchPanel.add(generateButton); resultList = new JTable(); resultList.setModel(new DefaultTableModel(new Object[0][0], columnNames)); resultList.getColumnModel().getColumn(0).setPreferredWidth(70); resultList.getColumnModel().getColumn(1).setPreferredWidth(150); resultList.getColumnModel().getColumn(2).setPreferredWidth(60); resultList.getColumnModel().getColumn(3).setPreferredWidth(60); resultList.getColumnModel().getColumn(4).setPreferredWidth(150); resultList.getColumnModel().getColumn(5).setPreferredWidth(150); mainFiller.add(searchPanel); final JPanel resultPanel = new JPanel(new BorderLayout()); final JScrollPane scroller = new JScrollPane(resultList); scroller.setBorder(BorderFactory.createEtchedBorder()); resultPanel.add(scroller, BorderLayout.CENTER); mainFiller.add(resultPanel); this.getContentPane().add(mainFiller); this.pack(); this.show(); }
A l'étape initial mon tableau est vide puis lors de l'action sur le bouton generate, il se remplis, voici le code actuel de l'action :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 TableSorter sorter = new TableSorter(new TableModel( )); JTable tableau = new JTable(sorter); sorter.setTableHeader(tableau.getTableHeader());
Le constructeur process remplit mon tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 protected void executerActionGenerate() { final DefaultTableModel model = (DefaultTableModel)resultList.getModel(); model.setNumRows(0); Process p = new Process(fileName1.getText(),fileName2.getText(), model); }
J'ai réussi à l'étape initial à observer un tri avec des données que j'avais mises dans le tableau mais comment faire pour la suite ? Je suis perdu..Aidez moi svp...
Partager