Anzeige:
Ergebnis 1 bis 3 von 3

Thema: [Java:Swing] Probleme mit den Sizes

  1. #1
    Registrierter Benutzer Avatar von Sym
    Registriert seit
    05.09.2002
    Ort
    Bremen
    Beiträge
    278

    Exclamation [Java:Swing] Probleme mit den Sizes

    Hallo,

    ich bekomme immer wieder ein Problem mit den Sizes von irgendwelchen JComponents. Irgendwie passen sich einige Komponenten nicht an die Größe des Panels an, in das diese Komponente eingebettet wurde.
    Beispiel:
    Code:
    package HysteresisMeasurement.gui;
    
    import javax.swing.*;
    
    /*  Copyright (C) 2003 
         ...blabla...
         GNU LESSER GENERAL PUBLIC LICENSE
     */
    
    public class PreferencesFrame extends JFrame{
    	
    	//window preferences
    	int width        = 400;
    	int height       = 480;
    	int screenwidth  = getToolkit().getScreenSize().width;
    	int screenheight = getToolkit().getScreenSize().height;
    	
    	//tabbedPane
    	private JTabbedPane tabbedPane = new JTabbedPane(); 
    	
    	//Panels
    	private PlugInPanel plugInPanel   = new PlugInPanel();
    
    	//JScrollPanes
    	private JScrollPane jspSystemPanel = new JScrollPane();
    	private JScrollPane jspUserPanel     = new JScrollPane();
    	private JScrollPane jspPlugInPanel  = new JScrollPane(plugInPanel);
    
    	public PreferencesFrame() {
    		
    		this.setSize(width,height);
    		this.setLocation((screenwidth-width)/2,(screenheight-height)/2);
    		this.setTitle("Preferences");
    		
    		this.getContentPane().add(this.tabbedPane);
    
    		this.tabbedPane.add(this.jspSystemPanel);
    		this.tabbedPane.add(this.jspUserPanel);
    		this.tabbedPane.add(this.jspPlugInPanel);
    
    		this.tabbedPane.setTitleAt(0, "System");
    		this.tabbedPane.setTitleAt(1, "User");
    		this.tabbedPane.setTitleAt(2, "PlugIns");
    		
    	}//constructor PreferencesFrame()
    	
    	//--- internal classes -----------------------------------------------------
    	
    	class PlugInPanel extends JPanel {
    		
    		private JTextField topic = new JTextField();
    		
    		public PlugInPanel() {
    			
    			this.add(this.topic);
    			topic.setEditable(false);
    			this.topic.setText("test................,.");
    			
    		}//constructor PlugInPanel()
    	}//class PlugInPanel
    }//class
    Ich möchte nun, dass das JTextField an die Größe des Panels angepasst wird. Die sollte dann angepasst werden auf die Größe des JScrollPane.

    Die ScrollPane ist auf jeden Fall an die TabbedPane angepasst (sieht man). Den Text bekomme ich aber nicht "raufgezoomt". Irgendwas verstehe ich nicht. Habe schon getPreferredSize() bzw. getSize() auf topic bzw. auf das PlugInPanel angewandt. Leider ohne Erfolg.

    Weiß jemand Rat?
    Geändert von Sym (24-09-2012 um 13:54 Uhr)
    Denk mal drüber nach...

    Lars

    ACHTUNG: ersetze Linux durch GNU/Linux an den entsprechenden Stellen
    www.macuser.de, MSVC2005 Express und Qt, Qt/Mac installieren

  2. #2
    Registrierter Benutzer Avatar von Sym
    Registriert seit
    05.09.2002
    Ort
    Bremen
    Beiträge
    278
    Hallo,

    habe ich was verbrochen oder sind meine Fragen nicht ganz klar. Habt ihr diese Probleme nicht? Vielleicht denken die, welche eine Antwort wüssten, ja auch, dass dieses Problem zu trivial ist und ich mich mehr mit lesen beschäftigen sollte?

    Leider finde ich immernoch keine Lösung zu meinem Problem.
    Denk mal drüber nach...

    Lars

    ACHTUNG: ersetze Linux durch GNU/Linux an den entsprechenden Stellen
    www.macuser.de, MSVC2005 Express und Qt, Qt/Mac installieren

  3. #3
    Registrierter Benutzer Avatar von Sym
    Registriert seit
    05.09.2002
    Ort
    Bremen
    Beiträge
    278

    Lösung...

    Endlich habe ich sie.

    Ich habe schon einmal die Tipp bzgl. Layoutnutzung bekommen. Das wars dann auch. Allerdings muss man für jede implementierte Komponente ein Layout definieren. Ich hatte es immer nur für die innerste Komponente gemacht.

    Dann klappt es auch mit dem Nachbarn...
    Denk mal drüber nach...

    Lars

    ACHTUNG: ersetze Linux durch GNU/Linux an den entsprechenden Stellen
    www.macuser.de, MSVC2005 Express und Qt, Qt/Mac installieren

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •