[chore] jtable not displayed correctly

This commit is contained in:
MAMBILA TETE jean philipp 2024-04-23 21:13:30 +02:00
parent c073af652f
commit 49bc9a038c
2 changed files with 112 additions and 44 deletions

View file

@ -58,7 +58,7 @@
<grid row="1" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="0" fill="0" indent="0" use-parent-layout="false"/> <grid row="1" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="0" fill="0" indent="0" use-parent-layout="false"/>
</constraints> </constraints>
<properties> <properties>
<text value="Search itinerary"/> <text value="Search stop"/>
</properties> </properties>
</component> </component>
<vspacer id="8b80"> <vspacer id="8b80">
@ -100,6 +100,7 @@
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="4" anchor="0" fill="0" indent="0" use-parent-layout="false"/> <grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="4" anchor="0" fill="0" indent="0" use-parent-layout="false"/>
</constraints> </constraints>
<properties> <properties>
<labelFor value="44153"/>
<text value="Network"/> <text value="Network"/>
</properties> </properties>
</component> </component>
@ -109,7 +110,12 @@
</constraints> </constraints>
<properties/> <properties/>
<border type="none"/> <border type="none"/>
<children/> <children>
<component id="2046e" class="javax.swing.JTable" binding="table" custom-create="true">
<constraints/>
<properties/>
</component>
</children>
</scrollpane> </scrollpane>
</children> </children>
</grid> </grid>
@ -135,9 +141,18 @@
</component> </component>
</children> </children>
</grid> </grid>
<grid id="30e2e" binding="ItineraryPanel" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<card name="Card4"/>
</constraints>
<properties/>
<border type="none"/>
<children/>
</grid>
</children> </children>
</grid> </grid>
<grid id="67039" class="javax.swing.JMenuBar" layout-manager="GridLayoutManager" row-count="7" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1"> <grid id="67039" class="javax.swing.JMenuBar" layout-manager="GridLayoutManager" row-count="9" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/> <margin top="0" left="0" bottom="0" right="0"/>
<constraints> <constraints>
<grid row="0" column="0" row-span="2" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/> <grid row="0" column="0" row-span="2" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
@ -156,13 +171,6 @@
<text value="Home"/> <text value="Home"/>
</properties> </properties>
</component> </component>
<vspacer id="9d1fd">
<constraints>
<grid row="6" column="0" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false">
<preferred-size width="102" height="14"/>
</grid>
</constraints>
</vspacer>
<component id="43d5e" class="javax.swing.JMenuItem" binding="Network"> <component id="43d5e" class="javax.swing.JMenuItem" binding="Network">
<constraints> <constraints>
<grid row="3" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="0" indent="0" use-parent-layout="false"> <grid row="3" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="0" indent="0" use-parent-layout="false">
@ -204,6 +212,26 @@
</grid> </grid>
</constraints> </constraints>
</vspacer> </vspacer>
<component id="664f9" class="javax.swing.JMenuItem" binding="Itinerary">
<constraints>
<grid row="7" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="0" indent="0" use-parent-layout="false">
<preferred-size width="102" height="20"/>
</grid>
</constraints>
<properties>
<text value="Itinerary"/>
</properties>
</component>
<vspacer id="936ed">
<constraints>
<grid row="6" column="0" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
</constraints>
</vspacer>
<vspacer id="c45a6">
<constraints>
<grid row="8" column="0" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
</constraints>
</vspacer>
</children> </children>
</grid> </grid>
</children> </children>

View file

@ -4,6 +4,7 @@ import fr.u_paris.gla.project.itinerary.Stop;
import javax.swing.*; import javax.swing.*;
import javax.swing.table.DefaultTableModel; import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
@ -11,7 +12,7 @@ import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent; import java.awt.event.KeyEvent;
import java.util.ArrayList; import java.util.ArrayList;
public class View extends JFrame{ public class View extends JFrame {
private JPanel Cardpanel; private JPanel Cardpanel;
private JMenuItem Home; private JMenuItem Home;
private JMenuItem Network; private JMenuItem Network;
@ -27,13 +28,22 @@ public class View extends JFrame{
private JTable table; private JTable table;
private JScrollPane mypane; private JScrollPane mypane;
private JPanel ItineraryPanel;
private JMenuItem Itinerary;
private ArrayList<Stop> StopList; private ArrayList<Stop> StopList;
private Stop StopCur; private Stop departureCur;
private Stop arrivalCur;
private String searchCur;
private ArrayList<Stop> searchRes; private ArrayList<Stop> searchRes;
private int count = 0;
public View(ArrayList<Stop> s) throws HeadlessException { public View(ArrayList<Stop> s) throws HeadlessException {
this.createUIComponents(); this.createUIComponents();
this.StopList = s; this.StopList = s;
@ -43,7 +53,8 @@ public class View extends JFrame{
setTitle("app"); setTitle("app");
setExtendedState(JFrame.MAXIMIZED_BOTH); setExtendedState(JFrame.MAXIMIZED_BOTH);
//setUndecorated(true); //setUndecorated(true);
setVisible(true);; setVisible(true);
;
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Home.addActionListener(new ActionListener() { Home.addActionListener(new ActionListener() {
@ -59,8 +70,10 @@ public class View extends JFrame{
Network.addActionListener(new ActionListener() { Network.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
showSearch(s);
Cardpanel.removeAll(); Cardpanel.removeAll();
Cardpanel.add(NetworkPanel); Cardpanel.add(NetworkPanel);
Cardpanel.repaint(); Cardpanel.repaint();
Cardpanel.revalidate(); Cardpanel.revalidate();
} }
@ -82,23 +95,40 @@ public class View extends JFrame{
public void keyReleased(KeyEvent e) { public void keyReleased(KeyEvent e) {
super.keyReleased(e); super.keyReleased(e);
if (e.getKeyCode() == KeyEvent.VK_ENTER) { if (e.getKeyCode() == KeyEvent.VK_ENTER) {
System.out.println("Enter key released");
searchCur = textField1.getText();
showSearch(s);
System.out.println("Enter key released with text " + searchCur);
Cardpanel.removeAll();
Cardpanel.add(NetworkPanel);
Cardpanel.repaint();
Cardpanel.revalidate();
} }
} }
}); });
searchButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Cardpanel.removeAll();
searchCur = textField1.getText();
showSearch(s);
System.out.println("search button clicked with text " + searchCur);
Cardpanel.add(NetworkPanel);
Cardpanel.repaint();
Cardpanel.revalidate();
}
});
} }
public static void main(String[] args) { public static void main(String[] args) {
ArrayList<Stop> s = new ArrayList<>(); ArrayList<Stop> s = new ArrayList<>();
s.add(new Stop("M8", "Balard", 1.0315897, 3.0265513)); s.add(new Stop("M8", "Balard", 1.0315897, 3.0265513));
s.add(new Stop("M14", "Gare de Lyon", 2.4658452681, 3.0265513)); s.add(new Stop("M14", "Gare de Lyon", 2.4658452681, 3.0265513));
System.out.println(s.toString());
View v = new View(s); View v = new View(s);
v.showSearch(s);
} }
@ -107,51 +137,61 @@ public class View extends JFrame{
private void createUIComponents() { private void createUIComponents() {
// TODO: place custom component creation code here // TODO: place custom component creation code here
table = new JTable();
dtm = new DefaultTableModel(0, 0);
String[] header = new String[] { "Line", "Stop" }; dtm = new DefaultTableModel(1, 2);
String[] header = new String[]{"Line", "Stop"};
dtm.setColumnIdentifiers(header); dtm.setColumnIdentifiers(header);
table.setModel(dtm); dtm.setValueAt("test", 0, 0);
dtm.setValueAt("test", 0, 1);
table = new JTable(dtm);
table.setPreferredScrollableViewportSize(table.getPreferredSize());
mypane = new JScrollPane(table); mypane = new JScrollPane(table);
} }
private void showSearch(ArrayList<Stop> stops) { public void showSearch(ArrayList<Stop> stops) {
// Clear existing rows from the table // Clear existing rows from the table
dtm.setRowCount(0); dtm.setRowCount(0);
// Add new rows based on the search results // Add new rows based on the search results
count = 0;
for (Stop stop : stops) { for (Stop stop : stops) {
// Add a row to the table with Stop's line in the first column and Stop's name in the second column // Add a row to the table with Stop's line in the first column and Stop's name in the second column
dtm.addRow(new Object[]{stop.getLines(), stop.getName()}); dtm.addRow(new Object[]{stop.getLines().iterator().next(), stop.getName()});
++count;
} }
this.displayTableValues();
dtm.fireTableDataChanged(); table.setModel(dtm);
table.repaint();
table.revalidate(); table.revalidate();
Cardpanel.repaint(); table.repaint();
Cardpanel.revalidate();
mypane.setViewportView(table);
mypane.revalidate();
mypane.repaint();
NetworkPanel.revalidate();
NetworkPanel.repaint();
this.displayTableValues();
} }
private void displayTableValues() { public void displayTableValues() {
int rowCount = dtm.getRowCount(); TableModel mod = table.getModel();
int columnCount = dtm.getColumnCount(); for (int row = 0; row < mod.getRowCount(); row++) {
for (int column = 0; column < mod.getColumnCount(); column++) {
// Iterate over each row System.out.print(mod.getValueAt(row, column).toString() + " ");
for (int row = 0; row < rowCount; row++) {
// Iterate over each column
for (int col = 0; col < columnCount; col++) {
// Get the value at the current cell
Object value = dtm.getValueAt(row, col);
// Display the value
System.out.println("Value at row " + row + ", column " + col + ": " + value);
} }
} System.out.print(";");
}
}
System.out.println();
}
} }