2016-04-09 4 views
0

Ich habe ein Registerkartenfenster tabbedPane_1 mit Bildlaufleiste scrlPnAddServer, die Ansichtsfensteransicht auf pnlAddServer festgelegt hat. Wie kann ich Textfelder oder andere Elemente unter dem sichtbaren Bereich des Bildlauffelds hinzufügen? (und erlauben Sie dem Benutzer, nach unten zu blättern, um die Elemente anzuzeigen). Derzeit werden die Elemente nur angezeigt, wenn sie außerhalb des Bereichs liegen.Java Swing: Lassen Sie Scroll, wenn Textfelder außerhalb des Bereichs der Bildlaufansicht sind

 JTabbedPane tabbedPane_1 = new JTabbedPane(JTabbedPane.TOP); 
     tabbedPane_1.setBounds(672, 20, 350, 400); 
     panel.add(tabbedPane_1); 
     JPanel tab = new JPanel(); 
     tabbedPane_1.add("Build", tab); 
     tab.setLayout(null); 
     JPanel tab2 = new JPanel(); 
     tabbedPane_1.add("More...", tab2); 
     tab2.setLayout(null); 

     JScrollPane scrlPnAddServer = new JScrollPane(); 
     scrlPnAddServer.setBounds(0, 0, 350, 370); 
     tab2.add(scrlPnAddServer); 
     scrlPnAddServer.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); 

     JPanel pnlAddServer = new JPanel(); 
     pnlAddServer.setBounds(0, 0, 350, 370); 
     scrlPnAddServer.setViewportView(pnlAddServer); 
     pnlAddServer.setLayout(null); 

Dann füge ich Elemente, die ich möchte der Benutzer nach unten scrollen, um zu sehen:

tfSaveAs = new JTextField("Save As"); 
    tfSaveAs.setBounds(10, 600, 125, 20); 
    pnlAddServer.add(tfSaveAs); 
    tfSaveAs.setColumns(10); 
+0

Nutzen Sie ein einen geeigneten Layout-Manager, der in der Lage ist, die erforderlichen Informationen zu berechnen, wobei die 'JScrollPane' verwendet wird, um zu entscheiden, ob die Bildlaufleisten angezeigt werden sollen oder nicht. – MadProgrammer

Antwort

2

Make Verwendung eines geeigneten Layout-Manager, der die erforderlichen Informationen zur Berechnung der Lage ist, die JScrollPane verwendet wird, um treffen Entscheidungen, ob es die Bildlaufleisten anzeigen soll oder nicht.

Dies ist nur eine der vielen „auto magische“ Aspekte, die das Layout-Management-API

Vermeiden Sie null Layouts bietet, pixelgenaue Layouts sind eine Illusion innerhalb der modernen UI-Design. Es gibt zu viele Faktoren, die die individuelle Größe von Komponenten beeinflussen, von denen Sie keine kontrollieren können. Swing wurde entwickelt, um mit Layout-Managern in dem Mittelpunkt zu arbeiten, diese zu verwerfen wird kein Ende von Fragen und Problemen führen, dass Sie mehr und mehr Zeit damit verbringen,

zu korrigieren

Siehe Laying Out Components Within a Container für mehr Details

+0

Danke, ich hatte gehofft, nicht ein anderes Layout verwenden zu müssen, aber Gridlayout scheint nah genug dran zu sein, was ich will. :) – heyitsmyusername

Verwandte Themen