Tabelle mit Buttons

micha2233

Aktives Mitglied
Hallo Zusammen,

ich will eine Maske für einen Scanner erstellen.

Prozessbeschreibung:
Die Baugruppe wird eingescannt.
Platz wird angezeigt, falls für diese Baugruppe ein Platz im Lager vergeben ist. In der gleichen Zeile, wo der Platz steht sollen zwei Buttons erscheinen. Platz leeren Button, Platz belegen Button.
Um sich anzeigen zulassen,ob für diese Baugruppe ein Platz vergeben ist, muss ich auf die DB zugreifen und mir die Werte nach dem Einscannen des Barcodes anzeigen lassen. Das müsste ich allein hinbekommen. Genauso muss ein Zugriff auf die DB erfolgen, wenn ich einen Platz vergeben bzw. löschen möchte. Eine Besonderheit gibt es: Eine Baugruppe kann auf mehreren Plätzen liegen. Das kann mann jedoch mit einer while-Schleife, ganz gut abfangen.
Könnte mir jemand helfen diese Tabelle zu realisieren?

Anbei der Maskenentwurf.


Viele Grüße

Micha
 

micha2233

Aktives Mitglied
Hallo L-ectron-X,

da habe ich Platz für weitere Platz-Einträge gelassen. Wie gesagt, da können mehrere Plätze aufgelistet werden.

Viele Grüße

Micha
 

L-ectron-X

Gesperrter Benutzer
Also willst du jetzt wissen, wie man in eine Tabellenzelle einen JButton einfügt?
Ich habe so verstanden, dass er eigentlich nur eine GUI bauen will.

@micha2233:
da können mehrere Plätze aufgelistet werden.
Dann bietet es sich möglicherweise an, dafür ein eigenes Objekt zu erzeugen, welches immer wieder verwendet werden kann.
Könnte es dann auch passieren, dass es so viel Plätze gibt, dass man auf dem Display durch eine Liste scrollen muss?
 

L-ectron-X

Gesperrter Benutzer
Bevor wir hier weiter spekulieren: ^^:noe:
Hast du im mittleren Teil eine JTable vorgesehen, in der die Buttons positioniert werden sollen?
Oder soll das mit einem/mehreren LayoutManager/n so nach deiner Skizze aufgebaut werden?
 

micha2233

Aktives Mitglied
Hallo nochmal,

also soweit bin ich schon. Anbei der Screen meiner Maske. Ist ist sie schon ok, also mit nur einer Spalte.

fixagsbj.jpg


Hier ist mein Dialog Code. Das Problem ist, dass ich die Daten schon im Zugriff habe, d.h. im System.out spuckt er mir die aus, er schreibt die leider nicht in die Tabelle. Wie mach ich das???

Java:
public class InventoryDlg
{
  public static final String SCAN_BARCODE = "scan_barcode";
  public static final String PUT_TO_INVENTORY = "put_to_inventoy";
  public static final String PICK_FROM_INVENTORY = "pick_from_inventory";
  public static final String EXIT = "exit";

  private JFrame frame;

  private JButton scanBarcodeButton;
  private JButton exitButton;
  private JTextField storageAreaInput;
  private JButton pickButton;
  private JButton putButton;
  private JPanel inventoryDlgPanel;
  private JLabel statusMessage;
  private JTextField barcodeInput;
  private JTable storageAreaView;
  private JScrollPane scrollPane;

  public void init()
  {
    frame = new JFrame("Mobile Inventory App");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(this.getInventoryDlgPanel());
    frame.pack();

    scanBarcodeButton.setActionCommand(SCAN_BARCODE);
    putButton.setActionCommand(PUT_TO_INVENTORY);
    pickButton.setActionCommand(PICK_FROM_INVENTORY);
    exitButton.setActionCommand(EXIT);

    TableModel dataModel = new AbstractTableModel()
    {
      public int getColumnCount()
      {
        return 1;
      }

      public int getRowCount()
      {
        return 10;
      }

      public Object getValueAt(int row, int col)
      {
        return null; //new Integer(row * col);
      }
    };

    storageAreaView.setModel(dataModel);
    storageAreaView.getColumnModel().getColumn(0).setHeaderValue("Lagerplatz");
    // storageAreaView.getColumnModel().getColumn(1).setHeaderValue("belegt?");

    reset();
    this.setStatusMessage(null);
    frame.setVisible(true);    
  }

  public JPanel getInventoryDlgPanel()
  {
    return inventoryDlgPanel;
  }

  public void addActionListener(PickerUIController ctrl)
  {
    scanBarcodeButton.addActionListener(ctrl);
    putButton.addActionListener(ctrl);
    pickButton.addActionListener(ctrl);
    exitButton.addActionListener(ctrl);
  }

  public String getEnteredStorageArea()
  {
    String input = "";

    try
    {
      input = storageAreaInput.getText();
    }
    catch (Exception e)
    {
      
    }

    return input;
  }

  public String getScannedBarcode()
  {
    return barcodeInput.getText();
  }



  public void setStatusMessage(String message)
  {
    statusMessage.setText(message);
  }

  public void reset()
  {
    barcodeInput.setText(null);
    storageAreaInput.setText(null);
  }

  public void updateStorageAreaView(List reservedStorageAreas)
  {
    for (int i = 0; i < reservedStorageAreas.size(); i++)
    {
      StorageArea storageArea = (StorageArea) reservedStorageAreas.get(i);
      storageAreaView.getModel().setValueAt(storageArea.getId(), i, 1);
      // storageAreaView.getModel().setValueAt(storageArea.getSearchname(), i, 2);
    }

    storageAreaView.updateUI();

    toggleStatus();
  }

  public void toggleStatus()
  {
    storageAreaInput.setEnabled(!storageAreaInput.isEnabled());
    putButton.setEnabled(!putButton.isEnabled());
    pickButton.setEnabled(!pickButton.isEnabled());
  }
}

Viele Grüße

Micha
 

Volvagia

Top Contributor
Java:
public Object getValueAt(int row, int col)
{
	return null; //new Integer(row * col);
}

Wie soll er dir denn das in die Tabelle schreiben?
 

micha2233

Aktives Mitglied
Hast Recht!

Das ist mein Code zum Testen:

Java:
public List buildStorageAreaList(String barcode)
  {
    List result = new ArrayList();
    startEdpSession();
    EDPQuery edpQ1 = queryComponentStorageAreas(barcode);

    while (edpQ1.getNextRecord())
    {
      System.out.println(edpQ1.getField("num18") + " - " + edpQ1.getField("name") + " - " + edpQ1.getField("subeg"));
      // Integer storageAreaId = new Integer(edpQ1.getField("num18"));
      // StorageArea sa = new StorageArea(storageAreaId, edpQ1.getField("name"),  edpQ1.getField("subeg"));
      StorageArea sa = new StorageArea(edpQ1.getField("num18"), edpQ1.getField("name"),  edpQ1.getField("subeg"));
      result.add(sa);
    }

    edpQ1.breakQuery();

    return result;
  }


soll ich jetzt bspw. folgendes machen?

Java:
public Object getValueAt(int row, int col)
{
    return edpQ1.getField("num18"); //new Integer(row * col);
}
 

Volvagia

Top Contributor
Jein. Auf die ArrayList und das Feld von StorageArea zugreifen, weil die EDPQuery aussieht als könnte sie nur iteriert werden, also einen Methodenaufruf braucht, der den Zeiger vorzubewegt.
 

micha2233

Aktives Mitglied
Sorry, ich weiß echt nicht wie ich diese Methode programmieren muss. :/ Könntest Du mir da helfen die zu programmieren. Wäre Dir wirklich sehr dankbar.
 

micha2233

Aktives Mitglied
das ist die Klasse
Java:
public class StorageArea
{
  private String id;
  private String shortname;
  private String searchname;

  public StorageArea(String id, String description, String searchname)
  {
    this.id = id;
    this.shortname = (description == null) ? "": description;
    this.searchname = (searchname == null) ? "": searchname;
  }

  public String getId()
  {
    return id;
  }

  public String getShortname()
  {
    return shortname;
  }

  public String getSearchname()
  {
    return searchname;
  }
}

und das "106 - Platz106 - 106106" im
Java:
System.out.println(edpQ1.getField("num18") + " - " + edpQ1.getField("name") + " - " + edpQ1.getField("subeg"));

ausgespuckt.
 

micha2233

Aktives Mitglied
so?

Java:
public String getId()
  {
    return edpQ1.getField("num18");
  }
 
  public String getShortname()
  {
    return edpQ1.getField("name");
  }
 
  public String getSearchname()
  {
    return edpQ1.getField("subeg");
  }
}
 

Volvagia

Top Contributor
Nein. Das sind ja die Standartgetter. Du hast bei einer Methode als Eingang eine Zahl von 0 - n und musst als Ausgang einen der Werte bekommen. Wenn er wirklich nur Strings speichern soll, wäre ein Array mit Konstanten-Zugriff denkbar.
 

micha2233

Aktives Mitglied
ok, also lasse ich die Standard getter so stehen wie sie sind. Und wie würde Methode mit Array Konstanten aussehen. Ich bin ein Anfänger, daher die Frage.
 

Volvagia

Top Contributor
So z. B.:

Java:
public class StorageArea
{
	public static final byte ID_PROPERTY = 0;
	public static final byte SHORT_NAME_PROPERTY = ID_PROPERTY + 1;
	public static final byte SEARCH_NAME_PROPERTY = SHORT_NAME_PROPERTY + 1;
	
	private static final byte PROPERTY_COUNT = SEARCH_NAME_PROPERTY + 1;
	private static final String EMPTY_STRING = "";
	
	private String[] properties;
	 
	public StorageArea(String id, String description, String searchname)
	{
		super();
		
		properties = new String[PROPERTY_COUNT];
		
		properties[ID_PROPERTY] = id;
		properties[SHORT_NAME_PROPERTY] = (description != null ? description : EMPTY_STRING);
		properties[SEARCH_NAME_PROPERTY] = (searchname != null ? searchname : EMPTY_STRING);
	}
 
	public String getId()
	{
		return(properties[ID_PROPERTY]);
	} 
	public String getShortname()
	{
		return(properties[SHORT_NAME_PROPERTY]);
	}
	public String getSearchname()
	{
		return(properties[SEARCH_NAME_PROPERTY]);
	}
	public String getProperty(int addr)
	{
		return(properties[addr]);
	}
}
 

micha2233

Aktives Mitglied
Vielen Dank! Jetzt muss hier noch was rein oder?

Java:
public Object getValueAt(int row, int col)
{
    return null; //new Integer(row * col);
}
 

Volvagia

Top Contributor
Ja, das Model braucht Zugriff auf die List. Dann gehts so:

Java:
public Object getValueAt(int row, int col)
{
    StorageArea sa = (StorageArea)list.get(row); //<- Generic?
    return(sa.getProperty(col);
}

Oder umgekehrt, merk ich mir nicht.
 

Volvagia

Top Contributor
Das ist die Liste aus der anderen Klasse, wo du aus der Query die Liste befüllst. Diese brauchst du später, um die Daten auszulesen oder einzutragen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
L Anpassung der Spaltenbreite auch auf eine zweite Tabelle anwenden Java Basics - Anfänger-Themen 8
P Zweidimensionales Array als Tabelle mit befüllten Zahlen Java Basics - Anfänger-Themen 10
J Tabelle Sortieren Java Basics - Anfänger-Themen 48
Sonas814 ASCII-Tabelle Java Basics - Anfänger-Themen 2
J Jtable Eingabe nach Klick ausserhalb der Tabelle übernehmen Java Basics - Anfänger-Themen 6
J Autovervollständigung in einer Tabelle Java Basics - Anfänger-Themen 40
RudiRüssel maximale Anzahl von Schlüsseln in einer Hash Tabelle Java Basics - Anfänger-Themen 2
crrnogorka Letzte Zeile einer Tabelle "überschreibt" alle anderen Zeilen Java Basics - Anfänger-Themen 1
F Tabelle - Berechnung Rang Java Basics - Anfänger-Themen 2
N Tabelle schön in der Konsole ausgeben Java Basics - Anfänger-Themen 5
S Datenbank Tabelle eine Zeile an einer bestimmten Stelle einfügen Java Basics - Anfänger-Themen 2
D Tabelle in der Konsole Java Basics - Anfänger-Themen 3
H Meine Tabelle befüllen in .fxml Java Basics - Anfänger-Themen 16
B Import Tabelle - Struktur durch User einstellbar Java Basics - Anfänger-Themen 4
O Max Gewinn einer Tabelle Java Basics - Anfänger-Themen 12
D Apache POI Tabelle wechseln Java Basics - Anfänger-Themen 2
B Kann man eine Tabelle in Eclipse erzeugen und damit arbeiten? Java Basics - Anfänger-Themen 8
S Ich verstehe die RegEx Tabelle von Javadoc nicht so ganz Java Basics - Anfänger-Themen 3
krgewb ASCII-Tabelle Java Basics - Anfänger-Themen 12
BlueFox Tabelle in der Konsole ausgeben - Probleme Java Basics - Anfänger-Themen 1
V Operatoren Was will mir die Tabelle in meinem Lehrbuch sagen? (logische Operatoren) Java Basics - Anfänger-Themen 4
J Werte aus einer Tabelle übernehmen Java Basics - Anfänger-Themen 2
F Daten aus Excel-Tabelle in Java importieren Java Basics - Anfänger-Themen 15
W Befüllung einer Tabelle mit Checkbox, Trennung GUI und Model Java Basics - Anfänger-Themen 5
P ASCII-Tabelle Java Basics - Anfänger-Themen 5
T printf Daten aus der Tabelle in Excel übernehmen Java Basics - Anfänger-Themen 5
A Hash Tabelle Element suchen Java Basics - Anfänger-Themen 1
B Vererbung In offener Hash Tabelle einfügen Java Basics - Anfänger-Themen 4
M 1x1 Tabelle Abstände korrigieren Java Basics - Anfänger-Themen 2
P Wert aus Tabelle erhalten Java Basics - Anfänger-Themen 1
U Tabelle ändern und die Inhalte speichern Java Basics - Anfänger-Themen 9
I HTML Tabelle nur so lange erzeugen bis Höhe erreicht Java Basics - Anfänger-Themen 9
N Erste Schritte MySQL Tabelle in JList darstellen Java Basics - Anfänger-Themen 1
S Klassen Objekt- Tabelle / Dynamisches 2Dimensionales Array für Objekte Java Basics - Anfänger-Themen 6
H "Tabelle" Java Basics - Anfänger-Themen 4
B Tabelle mit Fremdschlüssel versehen Java Basics - Anfänger-Themen 0
M Primefaces tabelle bearbeiten Java Basics - Anfänger-Themen 4
M Tabelle aktualisieren (mal wieder) Java Basics - Anfänger-Themen 10
M Erste Schritte Tabelle aktualisieren (mal wieder) Java Basics - Anfänger-Themen 7
G JTable: Werte in Tabelle direkt ansprechen Java Basics - Anfänger-Themen 3
P Excel-Tabelle erstellen Java Basics - Anfänger-Themen 4
I Daten aus Arraylists in eine Tabelle übertragen Java Basics - Anfänger-Themen 2
B daten speichern in einer tabelle Java Basics - Anfänger-Themen 5
J Zuweisung/Tabelle Java Basics - Anfänger-Themen 6
M Werte aus Tabelle elegant zuordnen? Java Basics - Anfänger-Themen 2
D String aus txt in label für Tabelle einfügen Java Basics - Anfänger-Themen 8
S Abfragen wenn das ende einer Tabelle erreicht ist Java Basics - Anfänger-Themen 8
M Tabelle aktualisiert sich erst nach mausklick Java Basics - Anfänger-Themen 4
J Tabelle aus Website einlesen [nicht im Quellcode] Java Basics - Anfänger-Themen 6
J Tabelle aktuallisieren Java Basics - Anfänger-Themen 22
A Im Telefonbuch eine Tabelle ergänzen Java Basics - Anfänger-Themen 6
N Ergebnisse dynamisch in Tabelle schreiben Java Basics - Anfänger-Themen 3
F Werte aus Tabelle vergleichen/rechnen Java Basics - Anfänger-Themen 5
J Punkte hinzufügen Tabelle Java Basics - Anfänger-Themen 5
C CSV-Tabelle Java Basics - Anfänger-Themen 21
M nur 1 wert in tabelle Java Basics - Anfänger-Themen 3
M Kreuztabellenabfrage an Tabelle anfügen Java Basics - Anfänger-Themen 3
M Wert aus Tabelle lesen Java Basics - Anfänger-Themen 4
M Überschrift wird nicht angezeigt Tabelle Java Basics - Anfänger-Themen 2
O Tabelle Formatieren mit system.out.format Java Basics - Anfänger-Themen 11
M JSON Datensätze aus Website in Tabelle Java Basics - Anfänger-Themen 17
U Drag&Drop von Tabelle in Textfeld Java Basics - Anfänger-Themen 3
D Auf Objekt in Tabelle zugreifen Java Basics - Anfänger-Themen 4
D Eclipse und Visual Editor - erzeugen einer Tabelle Java Basics - Anfänger-Themen 8
Binary.Coder JTable bzw. Tabelle in bestimmte Form überführen Java Basics - Anfänger-Themen 5
D Inhalt der Spalten einer Tabelle addieren Java Basics - Anfänger-Themen 4
H JTable Überschrift der Tabelle wird nicht angezeigt Java Basics - Anfänger-Themen 5
F Aus Tabelle auslesen Java Basics - Anfänger-Themen 10
B Tabelle, Größe der Komponenten Java Basics - Anfänger-Themen 2
H ButtonGroup in Tabelle Java Basics - Anfänger-Themen 2
X Zeile in Tabelle kopieren und in andere einfügen Java Basics - Anfänger-Themen 6
X Arraylist in Tabelle Java Basics - Anfänger-Themen 18
M Tabelle mit immer sortiertem Inhalt Java Basics - Anfänger-Themen 5
R ASCII-Tabelle Java Basics - Anfänger-Themen 6
F Tabelle in anderer Klasse füllen Java Basics - Anfänger-Themen 9
Beckenbauer OOP Durch Komma getrennte Einträge in einem String in ein Array oder eine Tabelle schreiben Java Basics - Anfänger-Themen 4
M 2D-Array als Tabelle ausgeben ? Java Basics - Anfänger-Themen 6
M Konsole: Tabelle Ausgeben Java Basics - Anfänger-Themen 5
M Sortierte Tabelle in Datei schreiben Java Basics - Anfänger-Themen 5
A Leere Fläche einer Tabelle umfärben Java Basics - Anfänger-Themen 3
J Tabelle in Fenster anzeigen Java Basics - Anfänger-Themen 12
Z Array mit daten einer datenbankbefüllen und dies an eine tabelle geben Java Basics - Anfänger-Themen 6
M Einfügen von Daten in eine Tabelle Java Basics - Anfänger-Themen 9
J Java Ein mal Eins Tabelle Java Basics - Anfänger-Themen 11
G POI: Zelle aus einer Tabelle kopieren und in einr anderen einfügen Java Basics - Anfänger-Themen 5
J Feld in Tabelle suchen Java Basics - Anfänger-Themen 8
babel Datenbank Daten direkt an die Tabelle übergeben ohne Arrays Java Basics - Anfänger-Themen 9
T Programm startet nicht wg. Tabelle? Java Basics - Anfänger-Themen 19
R Moechte Tabelle ausschreiben auf der Konsole Java Basics - Anfänger-Themen 2
S Daten aus Tabelle auslesen Java Basics - Anfänger-Themen 5
J Datei auslesen und in Tabelle einfügen Java Basics - Anfänger-Themen 6
E Boolean wert innerhalb einer Tabelle ändern Java Basics - Anfänger-Themen 4
B zahlen verschieben tabelle Java Basics - Anfänger-Themen 2
P Zeilnumbruch vermeiden bei einer Tabelle *hilfe* Java Basics - Anfänger-Themen 11
M Daten in Tabelle setzen. Java Basics - Anfänger-Themen 6
C Tabelle sortieren (evtl. setComparator) Java Basics - Anfänger-Themen 2
T ASCII Tabelle darstellen Java Basics - Anfänger-Themen 7
G Tabelle änderungen Java Basics - Anfänger-Themen 48
S Dynamische Tabelle Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben