Update von Frameinhalt und Scrollbar

Status
Nicht offen für weitere Antworten.

adriana

Mitglied
Hallo, kann mir jemand bei folgendem Problem helfen (bin neu in der GUI Welt):

Ich habe ein Frame mit Menubar und einer kleinen Tabelle. Zum Frame habe ich eine Scrollbar hinzugefügt, jedoch tut sich nichts, wenn ich die Scrollbar bewege. Die Tabelle bleibt an derselben Stelle. Ich hatte es mir einem adjustmendlistener versucht, aber es klappt nicht. Ich weiss auch gar nicht, ob das der richtige Weg wäre. Kann mir da jemand helfen? Wie macht man sowas generell?

Danke im Voraus
adriana
 

L-ectron-X

Gesperrter Benutzer
Du musst dich unbedingt an die Namenskonventionen halten, da es sonst zu Verwechslungen und damit zu unbrauchbaren Tipps kommen kann.
Du scheinst in deinem Code Swing (JTable) und AWT (Frame, ScrollBar) zu vermischen.
In den FAQ ist ein Beitrag zu finden, warum man dies nicht tun sollte.

Für ein Swing-Beispiel würde man in etwa so vorgehen:
Erzeugen einer Klasse, die von JFrame erbt.
In dieser Klasse erzeugst du eine Instanz deiner JTable und übergibst einer Instanz von JScrollPane die JTable-Referenz per Konstruktor.
Code:
public class MyFrame extends JFrame {
  ...
  public MyFrame(...) {
    myTable = new JTable(...);
    ...
    scrollPane = new JScrollPane(myTable);
    add(scrollPane);
    ...
  }
  ...
}
 

adriana

Mitglied
Hi danke für die Antwort....ich habe jedoch auch ein anderes Problem: ich will nicht nur eine Tabelle, sondern, der User soll über das Menü beliebig viele kleine Tabellen erstellen können (sowas wie eine UML Darstellung). Diese bestehen aus Zeilen und nur einer Spalte. Ich habe es so implementiert, dass man neue Zeilen hinzufügen und beliebige auch wieder entfernen kann. Die Tabellen sollen auch per Maus resized, gedraggt und gedroppt werden können (worüber ich noch am grübeln bin) :? Vielleicht hab ich da jetzt einen total falschen Ansatz gemacht???
 

André Uhres

Top Contributor
Du könntest jede JTable einfach in ein JInternalFrame tun und die JInternalFrames in ein JDesktopPane.
Dann wäre das mit dem Verschieben und Grösseverändern schonmal gelöst.

Aber das ist sicher nicht das was du willst.
 

L-ectron-X

Gesperrter Benutzer
Als Ersatz für eine JTable, die nur eine Spalte, aber beliebeig viele Zeilen hat, eignet sich eine JList.
Lässt sich auch gut mit André's Vorschlag kombinieren.
 

adriana

Mitglied
Danke für die Hilfe. Aber ich hab immer noch keine Ahnung, was ich da genau tun muss. Das Layout meines Frames, worin Menübar und Scrollbar enthalten sind hat ein BorderLayout. Die Tabellen, die reinkommen, will ich jedoch als null Layout haben, damit sie ihre Grösse beim Resizen des Frames beibehalten. Ich hatte mir überlegt, jede Tabelle in ein JPanel zu legen, um es dann damit verschieben zu können. Geht das auch, wenn ich da null layout für benutze? Oder müsste ich da GridBagLayout nehmen?
 

adriana

Mitglied
Habe die Sachen von dem anderen Thread ausprobiert, aber ich machs falsch. Ich poste mal meinen Code:

Diese Methode kreiert die jtable:

Code:
private void createTable() {
		Object [][]data = { {"Module X"}, {"Function1"}, {"Function2"},{},{},{},{},{},{},{},{} };
		String[] columnNames = {""};
		jTable1Model = new DefaultTableModel(data, columnNames);
		jTable1 = new JTable(jTable1Model);
		jTable1.setModel(jTable1Model);
		jTable1.setBounds(30, 100, 217, 130); 					
		jTable1.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
		jTable1.setGridColor(new java.awt.Color(0,0,0));
		jTable1.setRowSelectionAllowed(true);
		tablearea.add(jTable1);
		
	}

Dieser ActionListener zeichnet dann die Tabelle, wenn im Menü "New Module" angewählt wird:

Code:
ActionListener editListener = new ActionListener() {
						
public void actionPerformed(ActionEvent editEvent) {
 if (editEvent.getActionCommand().equalsIgnoreCase("New Module"))
{
  createTable();
  tablearea.add(jTable1);
  repaint();						
}

tablearea is eine Instanz einer Klasse namens TableContainer, die die Klasse Container erweitert und wo ich eine Methode habe, in der das Layout auf null gesetzt ist (damit die Tabelle null Layout hat). tablearea füge ich dann meinem Hauptframe hinzu, welches BorderLayout hat.

Wie kann ich jetzt die Tabelle als Ganzes auswählen und herumziehen im Frame?
Sorry, bin aber ein echter Anfänger :oops:
 

adriana

Mitglied
Code:
public void mousePressed(MouseEvent e)
	{
		Component c = getComponentAt(e.getPoint()); 
        if (c instanceof TableContainer) { 
            movetable = (TableContainer) c; 
            deltaX = e.getX() - movetable.getX(); 
            deltaY = e.getY() - movetable.getY(); 
        } 

		}	
	
	 //Move the table around
	 public void mouseDragged(MouseEvent me)
	{
		 if (movetable != null) { 
	            int x = (int) (me.getX() - deltaX); 
	            int y = (int) (me.getY() - deltaY); 
	            movetable.setLocation(x, y); 
	            repaint(); 
	        } 

	}

Nicht lachen, ich hab langsam keine Ahnung mehr, was ich da tue :cry:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T ProgressBox - Update AWT, Swing, JavaFX & SWT 9
Ernesto95 JavaFX JavaFX GUI mit sehr vielen Update requests AWT, Swing, JavaFX & SWT 4
G update, paintComponent AWT, Swing, JavaFX & SWT 1
T GUI Update /EDT AWT, Swing, JavaFX & SWT 7
izoards JavaFX Concurrency Update UI AWT, Swing, JavaFX & SWT 35
ms_cikar Update swingUtilities Repaint in der Schleife AWT, Swing, JavaFX & SWT 3
J TableView Update/Refresh CPU AWT, Swing, JavaFX & SWT 2
A Verständnisfragen im Umgang mit update() und JFrames AWT, Swing, JavaFX & SWT 5
ralfb1105 Swing JComboBox update der Daten AWT, Swing, JavaFX & SWT 8
blazingblade JavaFX Tableview Clock Column update AWT, Swing, JavaFX & SWT 5
R Update eines Labels bei Methodenaufruf einer anderen Klasse AWT, Swing, JavaFX & SWT 9
B Swing Update Swing Komponente bevor Methode startet. AWT, Swing, JavaFX & SWT 4
M JavaFX ComboBox: Update zur Laufzeit AWT, Swing, JavaFX & SWT 16
W Swing ProgressBar update AWT, Swing, JavaFX & SWT 4
B IconImage update im Tabbedpane AWT, Swing, JavaFX & SWT 3
M Update überschreiben klappt nicht AWT, Swing, JavaFX & SWT 4
Q JList Update Problem AWT, Swing, JavaFX & SWT 1
N Observer: update ruft nicht repaint auf AWT, Swing, JavaFX & SWT 0
M "Update" der JTable funktioniert nicht AWT, Swing, JavaFX & SWT 2
S Swing Update eine JTabelle nach einer Drag&Drop Operation AWT, Swing, JavaFX & SWT 0
C Swing Update von swing-TableModels per Thread. Eins geht, das andere nicht, warum? AWT, Swing, JavaFX & SWT 12
V Swing Update Textarea AWT, Swing, JavaFX & SWT 2
T Event Handling JFreeChart Update AWT, Swing, JavaFX & SWT 2
Farbtopf Live update JFreeChart AWT, Swing, JavaFX & SWT 3
F Swing GUI-Thread für automatisches Update nutzen AWT, Swing, JavaFX & SWT 10
El_Lobo Swing bei Update von Graphik Koordinatensystem nicht jedesmal neu zeichnen AWT, Swing, JavaFX & SWT 2
M Update JPanel AWT, Swing, JavaFX & SWT 12
N update model nach dem filtern AWT, Swing, JavaFX & SWT 2
E Umgang mit der Update Methode AWT, Swing, JavaFX & SWT 38
E Swing Update JTable AWT, Swing, JavaFX & SWT 6
L Update JTree Verzeichnisse AWT, Swing, JavaFX & SWT 9
G Swing Update-Funktion für Swing-Anwendung AWT, Swing, JavaFX & SWT 5
E Swing JTextField Listener nach Update?! AWT, Swing, JavaFX & SWT 2
D Swing JTable Problem bei automatischem update von Zellen AWT, Swing, JavaFX & SWT 3
P 2D-Grafik PaintComponent() übernimmt keine Werte aus update() AWT, Swing, JavaFX & SWT 8
D Swing update eines Labels nicht sichtbar AWT, Swing, JavaFX & SWT 9
N Tablle nach SQL-Update neu Laden AWT, Swing, JavaFX & SWT 4
M SWT grabExcessHorizontalSpace update ? refresh ? AWT, Swing, JavaFX & SWT 6
P Observer und GUI Update AWT, Swing, JavaFX & SWT 2
w0ddes Swing Update: Laufendes GUI updaten AWT, Swing, JavaFX & SWT 8
D JTable während edit kein update machen lassen AWT, Swing, JavaFX & SWT 2
M Swing Kein update bei simulierten HTML-Link AWT, Swing, JavaFX & SWT 4
C SWT Shell update probleme - Mausbewegung nötig AWT, Swing, JavaFX & SWT 2
hdi Swing GUI update vs. Process Speed AWT, Swing, JavaFX & SWT 31
hdi Swing Gui Update Problem (EDT) AWT, Swing, JavaFX & SWT 6
C JList update über tabbedPane? AWT, Swing, JavaFX & SWT 18
M Update einer JTEextArea AWT, Swing, JavaFX & SWT 2
H JTable mySQL Update AWT, Swing, JavaFX & SWT 8
S Update des fensters beim Ersetzen von JPanels AWT, Swing, JavaFX & SWT 9
G Features nach Update löschen AWT, Swing, JavaFX & SWT 2
J Fragen zur Vererbung und Update AWT, Swing, JavaFX & SWT 12
B Update von JLabels AWT, Swing, JavaFX & SWT 2
C Habe Probleme beim Bild laden! *Update 30.11.2006* AWT, Swing, JavaFX & SWT 28
C JTreeTable update Problem AWT, Swing, JavaFX & SWT 4
S Probleme mit dem Update einer JList AWT, Swing, JavaFX & SWT 7
B View zeichnet Daten aus dem Model ohne Update AWT, Swing, JavaFX & SWT 4
F MVC: Update von View und Controller AWT, Swing, JavaFX & SWT 5
C JTable update: Selektion beibehalten AWT, Swing, JavaFX & SWT 12
P paintComponent /paint/ update/ offscreenImage / Graphics2D / AWT, Swing, JavaFX & SWT 4
S JMenuBar + update AWT, Swing, JavaFX & SWT 3
G JTree - ungültiger selection update AWT, Swing, JavaFX & SWT 2
G Problem mit JLabel Update AWT, Swing, JavaFX & SWT 3
C [JTable] Update der Datenbank AWT, Swing, JavaFX & SWT 6
N update()-Methode für Canvas AWT, Swing, JavaFX & SWT 9
A problem mit update nach event, JSplitpane spinnt AWT, Swing, JavaFX & SWT 2
S Update von Grafik auf JPanel AWT, Swing, JavaFX & SWT 2
M GUI Update während der Verarbeitung einer Methode AWT, Swing, JavaFX & SWT 3
M update JTable AWT, Swing, JavaFX & SWT 3
T Problem bei Update von JTables in JTabbedPane AWT, Swing, JavaFX & SWT 2
D Problem beim Update von unsichtbaren JComponents mit Timern AWT, Swing, JavaFX & SWT 5
D Swing: GUI-Update-Problem AWT, Swing, JavaFX & SWT 3
J Warum funktioniert das Update des UI nicht? AWT, Swing, JavaFX & SWT 8
I GUI-Update-Probleme AWT, Swing, JavaFX & SWT 2
G Update von JPanel nach Buttonbetätigung AWT, Swing, JavaFX & SWT 1
M Scrollbar funktioniert nicht AWT, Swing, JavaFX & SWT 10
CptK Ordentlicher Code & Panel ab bestimmter Komponentenzahl scrollbar machen AWT, Swing, JavaFX & SWT 12
ralfb1105 jTextArea Scrollbar hinzufügen - mit Jigloo erstellt AWT, Swing, JavaFX & SWT 7
G Wie Scrollbar einfügen? AWT, Swing, JavaFX & SWT 1
A Swing Panel mit ScrollBar AWT, Swing, JavaFX & SWT 7
M JavaFX TextArea disabled - ScrollBar enabled AWT, Swing, JavaFX & SWT 3
H JavaFX Abstand rechts zur scrollbar AWT, Swing, JavaFX & SWT 1
I Swing Scrollbar AWT, Swing, JavaFX & SWT 2
W Scrollbar in Registerkarte AWT, Swing, JavaFX & SWT 1
M eigene horizontale Scrollbar AWT, Swing, JavaFX & SWT 1
M JTable horizontale scrollbar löschen AWT, Swing, JavaFX & SWT 3
G Scrollbar AWT, Swing, JavaFX & SWT 13
G Scrollbar für das Fenster einfügen AWT, Swing, JavaFX & SWT 3
M Swing JTextArea mit ScrollBar AWT, Swing, JavaFX & SWT 9
A JScrollPane - ScrollBar Buttongröße verändern AWT, Swing, JavaFX & SWT 1
A Scrollbar gestalten AWT, Swing, JavaFX & SWT 2
E JavaFX ScrollBar in TableView bei Column Resize AWT, Swing, JavaFX & SWT 2
T Swing JScrollPane Farbe der Scrollbar AWT, Swing, JavaFX & SWT 3
B Export eines Panel mit ScrollBar AWT, Swing, JavaFX & SWT 4
5 Scrollbar AWT, Swing, JavaFX & SWT 4
M Swing JTextPane + Scrollbar = Fragen AWT, Swing, JavaFX & SWT 15
H Swing JTextPane hat unästhetisches Scrollbar AWT, Swing, JavaFX & SWT 3
M Horizontal Scrollbar wird ignoriert AWT, Swing, JavaFX & SWT 10
M Swing Scrollbar im JFrame (JPanel?) AWT, Swing, JavaFX & SWT 6
W jTable Scrollbar Problem AWT, Swing, JavaFX & SWT 2
A Swing JPanel in JScrollBar scrollbar machen AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben