jScrollPane wird nicht angezeigt

nikrus

Mitglied
Hi Leute
ich brauch eure Hilfe. Ich bin noch ein ziemlicher Java-Anfänger und finde meinen Fehler nicht.
Ich habe eine JTable definiert und wollte daran eine scrollpane packen.
Aber egal was ich mache, die scrollpane wird nicht angezeigt.
Kann sein, dass mein Fehler ziemlich offensichtlich ist, da ich mir mein Wissen darüber vor allen Dingen über das Internet angeeignet habe. Deswegen bin ich wirklich dankbar für eure Hilfe.

Hier mein Quelltext:

Java:
 JTable Liste=new JTable();
  DefaultTableModel ListeModel = (DefaultTableModel) Liste.getModel();
  Liste.setBounds(0,180,463,450);
  ListeModel.setRowCount(100);
  ListeModel.setColumnCount(1);
  Liste.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  panel.add(new JScrollPane(Liste));
  panel.add(Liste);
 
F

Firephoenix

Gast
Könnte es daran liegen, dass du die Liste noch einmal zum Panel hinzufügst, nachdem du die Scrollpane mit der Liste darin einfügst?

Folgender Code produziert bei mir ein Fenster mit einer Scrollbaren Liste:
Java:
JFrame frame = new JFrame();
		frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		Container cp = frame.getContentPane();
		JTable Liste = new JTable();
		DefaultTableModel ListeModel = (DefaultTableModel) Liste.getModel();
		Liste.setBounds(0, 180, 463, 450);
		ListeModel.setRowCount(100);
		ListeModel.setColumnCount(1);
		Liste.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		cp.add(new JScrollPane(Liste));
		frame.pack();
		frame.setVisible(true);

Gruß
 
F

Firephoenix

Gast
Was für ein Panel ist das denn, bzw wo fügst du es deinem Fenster hinzu?
Gruß
 
S

SlaterB

Gast
welchen Sinn hat diese Antwort, glaubst du dass sie hilft deinen Fehler nun endgültig und zweifelsfrei zu benennen?

noch mehr Unklarheiten und Erklärungen sind doch unnötig,
siehe das gepostete Beispielprogramm, es funktioniert also für nach allen Maßstäben 'normales Umfeld',
was du bei dir hast muss man ja nicht in 10 Postings mühsam erfragen,
poste ein vergleichbares vollständiges Programm, dann kann man alle Besonderheiten erkennen, schnell fertig,
oder es bleibt schwierig....


edit:
null-Layout?
JScrollPane hat keine Bounds..
 

nikrus

Mitglied
Mein Ziel ist es, dass ich die jTable nicht in einem eigenen frame öffne, sondern sie in einen schon vohandenen einzubetten.

Das mit dem NullLayout verstehe ich leider nicht ganz...
 
F

Firephoenix

Gast
Dann zeig doch einfach mal den Code wo du dein Frame zusammenbaust, in dem Codeausschnitt den du gezeigt hast sieht man nur, das du die Liste bzw die scrollpane zu irgendwas mit dem Namen "panel" addest, aber nicht was du damit machst. (siehe auch schon der Post von SlaterB).

Gruß
 
S

SlaterB

Gast
> Das mit dem NullLayout verstehe ich leider nicht ganz...

die Abkürzung (Code) gelesen, jetzt von Firephoenix vielleicht nochmal, aber die längere Variante (Fragen) gewählt,
nun, dann wollen wir den Spass wagen, solange nicht durch Code abgekürzt:

- was ist panel, welche Klasse, welches Layout (falls du weißt was ein Layout ist in Java, Swing)
- aus welchem Grund hast du setBounds(0, 180, 463, 450) im Quellcode stehen, wenn nicht für null-Layout, wofür könnte dieser Befehl nützlich sein, oder auch unbekannt?
 
Zuletzt bearbeitet von einem Moderator:

nikrus

Mitglied
mein gesamter quelltext:

Java:
 import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.Random;
import javax.swing.table.DefaultTableModel;


public class AdressGui extends JFrame
{

  

  JPanel panel = new JPanel();
  
  JTextField vorname = new JTextField();
  JTextField name = new JTextField();
  
  JLabel strasseF = new JLabel();
  JTextField strasse = new JTextField();
  
  JLabel ortF = new JLabel();
  JTextField ort = new JTextField();
  
  JTextField search = new JTextField();
  
  JButton add = new JButton();
  JButton edit = new JButton();
  JButton set = new JButton();
  
  ImageIcon wp = new ImageIcon("wallp.jpg");
  
  JLabel wallp = new JLabel(wp);
  
  boolean bearb = false;
  
  JButton fertig = new JButton();



  public AdressGui()
  {
    super("Contacts");
    setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    setSize(1025, 765);
    
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(0, 0);
    
    setResizable(false);
    
    Container panel = getContentPane();
    //panel.setLayout(null);
    
    /*TextArea scroll = new TextArea("A\nB\nC\nD\nE\nF\nG\nH\nI\nJ\nK\nLena Posmetni\nLennart Krux\nMirco Heinzelmann\nN\nO\nP\nQ\nR\nS\nT\nU\nV\nW\nX\nY\nZ");
    scroll.setFont(new Font("Tahoma", Font.PLAIN, 18));
    scroll.setBounds(66, 203, 404, 387);
    panel.add(scroll);  */
    


    search.setBounds(0,140,370,19);
    search.setText("Suchen");
    search.setFont(new Font("Tahoma", Font.PLAIN, 12));
    search.setBorder(null);
    panel.add(search);
    
    name.setBounds(670,167,200,30);
    name.setText("");
    name.setFont(new Font("Tahoma", Font.PLAIN, 18));
    name.setBorder(null);
    panel.add(name);
    
    vorname.setBounds(565,167,100,30);
    vorname.setText("");
    vorname.setFont(new Font("Tahoma", Font.PLAIN, 18));
    vorname.setBorder(null);
    panel.add(vorname);
    
    fertig.setBounds(920,130,100,20);
    fertig.setText("Fertig");
    fertig.setFont(new Font("Tahoma", Font.BOLD, 16));
    fertig.setVisible(bearb);
    fertig.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        fertig_ActionPerformed(evt);
      }
    });
    panel.add(fertig);
    
     //Straße

    strasseF.setBounds(565,268,65,30);
    strasseF.setText("Straße:");
    strasseF.setFont(new Font("Tahoma", Font.BOLD, 15));
    strasseF.setBorder(null);
    panel.add(strasseF);
    
    strasse.setBounds(632,268,200,30);
    strasse.setText("");
    strasse.setFont(new Font("Tahoma", Font.PLAIN, 15));
    strasse.setBorder(null);
    panel.add(strasse);
    

    //Ort
    
    ortF.setBounds(565,320,65,30);
    ortF.setText("Ort:");
    ortF.setFont(new Font("Tahoma", Font.BOLD, 15));
    ortF.setBorder(null);
    panel.add(ortF);

    ort.setBounds(632,320,200,30);
    ort.setText("");
    ort.setFont(new Font("Tahoma", Font.PLAIN, 15));
    ort.setBorder(null);
    panel.add(ort);


    name.setEditable(bearb);
    vorname.setEditable(bearb);
    strasse.setEditable(bearb);
    
    set.setBounds(0,639,30,30);
    set.setBorder(null);
    set.setContentAreaFilled(false);
    set.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        set_ActionPerformed(evt);
      }
    });
    panel.add(set);
    
    add.setBounds(432,639,30,30);
    add.setBorder(null);
    add.setContentAreaFilled(false);
    add.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        add_ActionPerformed(evt);
      }
    });
    panel.add(add);
    
    edit.setBounds(567,639,95,30);
    edit.setBorder(null);
    edit.setContentAreaFilled(false);
    edit.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        edit_ActionPerformed(evt);
      }
    });
    panel.add(edit);
    

    //LISTE !!!!!!



  JTable Liste=new JTable();
  DefaultTableModel ListeModel = (DefaultTableModel) Liste.getModel();
  Liste.setBounds(0,180,463,450);
  ListeModel.setRowCount(100);
  ListeModel.setColumnCount(1);
  Liste.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  panel.add(new JScrollPane(Liste));
  panel.add(Liste);

  //LISTE !!!!!!!!!






    wallp.setBounds(0, 40, 1025, 670);
    wallp.setText("");
    panel.add(wallp);








 }
  


  public void set_ActionPerformed(ActionEvent evt)
  {
    dispose();
  }
  
  public void fertig_ActionPerformed(ActionEvent evt)
  {
    bearb = false;
    fertig.setVisible(bearb);
    name.setEditable(bearb);
    vorname.setEditable(bearb);
    strasse.setEditable(bearb);
  }
  
  public void add_ActionPerformed(ActionEvent evt)
  {
    bearb = true;
    fertig.setVisible(bearb);
    name.setEditable(bearb);
    strasse.setEditable(bearb);
    vorname.setEditable(bearb);
    name.setText("");
    vorname.setText("");
    strasse.setText("");
    
  }

  
  public void edit_ActionPerformed(ActionEvent evt)
  {
    bearb = true;
    fertig.setVisible(bearb);
    name.setEditable(bearb);
    strasse.setEditable(bearb);
    vorname.setEditable(bearb);
  }
  
  
  //Starter
  public static void main(String[] args)
  {
    AdressGui wnd = new AdressGui();
    wnd.setVisible(true);
  }
  //Ende - Starter
}
 
S

SlaterB

Gast
hmm, panel.setLayout(null) ist vorhanden für null-Layout, aber auskommentiert,
setBounds() funktioniert trotzdem..

kannte ich so noch gar nicht, mit

Java:
        JScrollPane sp = new JScrollPane(Liste);
        sp.setBounds(0, 180, 463, 450);
        panel.add(sp);
wird es jedenfalls besser und offiziell ist das
Doing Without a Layout Manager (Absolute Positioning) (The Java™ Tutorials > Creating a GUI With JFC/Swing > Laying Out Components Within a Container)

andere Layouts gibts auch noch
Lesson: Laying Out Components Within a Container (The Java™ Tutorials > Creating a GUI With JFC/Swing)
aber kein Thema für mal eben erklärt, viele Beispiele anzuschauen und leicht dann immer noch nicht
 
S

SlaterB

Gast
es funktioniert ja so oder so, übernimm die Bounds und es geht vorerst,
mehr ist nicht zu sagen, außer dass andere Layouts besser sind, aber viel viel Arbeit
 
F

Firephoenix

Gast
Java:
JTable Liste=new JTable();
  DefaultTableModel ListeModel = (DefaultTableModel) Liste.getModel();
  Liste.setBounds(0,180,463,450);
  ListeModel.setRowCount(100);
  ListeModel.setColumnCount(1);
  Liste.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  panel.add(new JScrollPane(Liste));
  panel.add(Liste);

ändern zu:

Java:
 JTable Liste=new JTable();
	  DefaultTableModel ListeModel = (DefaultTableModel) Liste.getModel();
	  JScrollPane scrollPane = new JScrollPane(Liste);
	  scrollPane.setBounds(0,180,463,450);
	  ListeModel.setRowCount(100);
	  ListeModel.setColumnCount(1);
	  Liste.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
	  panel.add(scrollPane);

(Meine erste Vermutung war schon richtig, du hast nur die liste "richtig" hinzugefügt, die ScrollPane die die Liste enthält aber ohne bounds in ein null-layout - ergo wird sie nicht so angezeigt wie du das willst).

Allgemein aber:
-Variabeln lowerCamelCase schreiben ;)
-Nicht von JFrame erben wenn man nur JFrame verwenden will (warum sieht man das eigentlich nur bei JFrame, ich hab noch nie gesehen, dass jemand z.B. von ArrayList erbt wenn er eine Liste verwenden will?)

[EDIT]Viel - zu - langsam :eek:[/EDIT]

Gruß
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L JScrollPane wird nicht angezeigt Java Basics - Anfänger-Themen 10
S JScrollPane wird nicht angezeigt Java Basics - Anfänger-Themen 6
H JTable in JScrollPane: Scrollbar wird nicht angezeigt. Java Basics - Anfänger-Themen 2
J JScrollPane wird nicht angezeigt Java Basics - Anfänger-Themen 4
richis-fragen GlassPane über JScrollPane legen Java Basics - Anfänger-Themen 6
B Scrollbares Fenster (JScrollPane) mit JPanel scrollt nicht Java Basics - Anfänger-Themen 3
G Frage zu JScrollPane Java Basics - Anfänger-Themen 12
M JScrollPane scrollt nicht Java Basics - Anfänger-Themen 2
D JScrollPane mit TextArea Java Basics - Anfänger-Themen 5
N JList + DefaultListModel + JScrollPane --> ensureIndexIsVisible funktioniert nicht immer Java Basics - Anfänger-Themen 1
T JScrollPane in den Code einbauen Java Basics - Anfänger-Themen 5
O JScrollPane zu gross für JTable Java Basics - Anfänger-Themen 2
A JScrollPane nicht sichtbar Java Basics - Anfänger-Themen 5
L Jscrollpane nach zoomen anpassen Java Basics - Anfänger-Themen 20
C JScrollPane + JTextArea scrollt nicht Java Basics - Anfänger-Themen 2
T JScrollPane nicht scrollbar (mit KSKB!) Java Basics - Anfänger-Themen 4
T JScrollPane: Slider programmgesteuert verschieben? Java Basics - Anfänger-Themen 4
Kenan89 JScrollPane, aber kein Scrollbalken Java Basics - Anfänger-Themen 4
T JScrollPane funktioniert nicht Java Basics - Anfänger-Themen 7
D jScrollPane Problem Java Basics - Anfänger-Themen 16
JStickman JTree, JScrollPane, Liste mit graphischer Suchleiste - Dateimanager Java Basics - Anfänger-Themen 10
A Button das JScrollPane aktualisiert Java Basics - Anfänger-Themen 11
S JScrollPane verhält sich nicht so wie gedacht Java Basics - Anfänger-Themen 2
T JScrollPane ganz runter Scrollen Java Basics - Anfänger-Themen 4
T JScrollPane resized nicht richtig... Java Basics - Anfänger-Themen 4
Z Label verschwindet in JScrollPane Java Basics - Anfänger-Themen 7
N JScrollPane repaint(); geht nicht Java Basics - Anfänger-Themen 4
R JScrollPane in JTextArea benutzen Java Basics - Anfänger-Themen 10
L JPanel vergrößern bis JScrollPane nicht mehr zu sehen Java Basics - Anfänger-Themen 7
O JScrollPane , JScrollBar Java Basics - Anfänger-Themen 3
Z JScrollPane zeigt Zeit als Datum Java Basics - Anfänger-Themen 5
E Breite des Schiebers in JscrollPane verändern Java Basics - Anfänger-Themen 2
T JScrollPane soll rechts gescrollt gezeichnet werden Java Basics - Anfänger-Themen 5
P JScrollPane Java Basics - Anfänger-Themen 18
J JScrollPane, Regler-Problem Java Basics - Anfänger-Themen 3
J JScrollPane swing Java Basics - Anfänger-Themen 8
H2SO3- JScrollPane will nicht scrollen Java Basics - Anfänger-Themen 3
_deleted Mehrere Panels untereinander im JScrollPane Java Basics - Anfänger-Themen 4
A JScrollPane aktualisiert nicht Java Basics - Anfänger-Themen 2
7 Java Swing: Wie JScrollPane zur JList hinzufügen? Java Basics - Anfänger-Themen 12
C jTabbedPane JScrollPane und jPanel Java Basics - Anfänger-Themen 3
S JScrollPane und JPanel Java Basics - Anfänger-Themen 2
J JScrollBar JScrollPane Java Basics - Anfänger-Themen 9
Q Anwendung eines JScrollPane Java Basics - Anfänger-Themen 2
M JScrollPane Java Basics - Anfänger-Themen 7
M Probleme mit JScrollPane Java Basics - Anfänger-Themen 5
G JScrollPane Java Basics - Anfänger-Themen 5
S JScrollPane: Scrollbalken werden nicht angezeigt Java Basics - Anfänger-Themen 4
P Brauche Hilfe für JPanel im JScrollPane und Abstände Java Basics - Anfänger-Themen 2
M VisualEditor, Jlist und JScrollPane Java Basics - Anfänger-Themen 9
M JScrollPane soll inhalt zentrieren Java Basics - Anfänger-Themen 3
C Automatischer Umbruch bei JScrollPane? Java Basics - Anfänger-Themen 5
G JScrollPane + JTable + Autoscroll uvm. Java Basics - Anfänger-Themen 5
N JScrollPane mit JTextArea Java Basics - Anfänger-Themen 4
I Autoscrolling im JScrollPane Java Basics - Anfänger-Themen 3
H JScrollPane -> Problem bei ScrollBar Java Basics - Anfänger-Themen 3
lin JScrollPane & OutOfMemoryError Java Basics - Anfänger-Themen 6
G JScrollPane in der Größe bestimmen Java Basics - Anfänger-Themen 11
R JScrollpane problem Java Basics - Anfänger-Themen 21
P JScrollPane an JTextArea anhängen Java Basics - Anfänger-Themen 3
C JScrollPane ohne Rahmen? Java Basics - Anfänger-Themen 2
M JScrollPane Java Basics - Anfänger-Themen 4
G Probleme mit JScrollPane Java Basics - Anfänger-Themen 3
M JScrollPane: Autoscroll Java Basics - Anfänger-Themen 14
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
H JDK installieren jdk-21 wird nicht erkannt Java Basics - Anfänger-Themen 13
T if-else Bedingung wird ignoriert Java Basics - Anfänger-Themen 4
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
P Webseite vom Smartmeter wird nur unleserlich angezeigt Java Basics - Anfänger-Themen 7
A Warum wird mein jdk nicht gefunden? Java Basics - Anfänger-Themen 3
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
M Anonyme Klassen - Warum wird in der Konsole nichts ausgegeben? Java Basics - Anfänger-Themen 1
T catch(InputMismatchException) wird nicht ausgefürt/erkannt Java Basics - Anfänger-Themen 12
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
M Verständnisfrage: Warum wird die Datei ohne Inhalt übertragen Java Basics - Anfänger-Themen 3
Ostkreuz Wieso wird die Methode nochmal aufgerufen? Java Basics - Anfänger-Themen 5
Oneixee5 Maven Plugin wird 2 mal ausgeführt Java Basics - Anfänger-Themen 10
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
D Interface Methode wird ungewollt in der Subklasse überschrieben Java Basics - Anfänger-Themen 5
C Was tun wenn .class erwartet wird ? Java Basics - Anfänger-Themen 6
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
T Wie kann man es machen das ein Objekt nicht übermalt wird Java Basics - Anfänger-Themen 2
K Warum wird mir hier nach dem ersten Durchlauf zwei mal "welchen Datentyp wollen sie übergeben?" ausgegeben ? Java Basics - Anfänger-Themen 1
MiMa Ungültiges Datum wird nicht erkannt ?? Java Basics - Anfänger-Themen 6
schemil053 Multithread - Input verrutscht während etwas ausgegeben wird Java Basics - Anfänger-Themen 6
K REGEX - Rechnungsbetrag wird nicht richtig ausgelesen. Java Basics - Anfänger-Themen 3
_user_q Timer - ScheduledExecutorService wird schon vorher beendet Java Basics - Anfänger-Themen 5
X Erste Schritte Scanner eingabe wird übersprungen Java Basics - Anfänger-Themen 4
H Compiler-Fehler Klasse in einem Package wird nicht gefunden bzw. akzeptiert Java Basics - Anfänger-Themen 12
L Switch-Case Multiplikation wird nicht ausgegeben Java Basics - Anfänger-Themen 1
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 0
J In der Ausgabe wird ohne Eingabe in den else Block gesprungen. Java Basics - Anfänger-Themen 5
M Text wird in der Console nicht ausgegeben. Java Basics - Anfänger-Themen 11
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
S Datei anlegen Problem! Groß- und Kleinschreibung wird nicht unterschieden Java Basics - Anfänger-Themen 4
sserio Zweidimensionales Array [][] wird untereinander ausgegeben Java Basics - Anfänger-Themen 14
sserio Math. Befehl wird rot markiert Java Basics - Anfänger-Themen 5
M Rechteck wird nicht angezeigt Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben