LayoutManager Höhe von NORTH beim BorderLayout ändern

A

ash34

Gast
Hy,

ich möchte für mein Fenster ein BorderLayout verwenden. Im SOUTH Bereich wird eine Reihe von Komponenten angeordnet.
Im NORTH bereich sollen mehrere Boxen gezeichnet werden. Dazu habe ich einen Klasse BoxPanel benutzt.
Das Problem ist, dass der NORTH Bereich zu klein ist, sodass die Boxen nicht richtig zu sehen sind.
Wie kann ich den Bereich vergrößern?

Java:
private void paintFrame(){
		
		BorderLayout border = new BorderLayout();
		
		puzzleFrame.setLayout(border);
		
		puzzleFrame.add(boxp, border.NORTH);
		puzzleFrame.add(contentContainer, border.SOUTH);
		
		puzzleFrame.setTitle("Echo Request Puzzle");
		puzzleFrame.setSize(puzzleDim);		

		puzzleFrame.setVisible(true);
		puzzleFrame.setDefaultCloseOperation(puzzleFrame.DO_NOTHING_ON_CLOSE);
		
		puzzleFrame.addWindowListener(new MyWindowListener());
		puzzleFrame.addKeyListener(new MyAppendKeyListener());
	}

Java:
public class BoxPanel extends JPanel {

	private static final long serialVersionUID = 1L;
			private List<Box> boxList;
			private int currentBox = -1;
	        private Point clickPoint;
	        private Point position;
	        private Color color = Color.WHITE;
	        
	        /**
	         * Constructor
	         * 
	         */
	        
	        public BoxPanel() {
	        	this.setSize(new Dimension(1300, 130));
	            boxList = new ArrayList<Box>();
	            
//	            adding mouseListener to the panel
	            
	            this.addMouseListener(new MouseListener() {
	            	@Override
	                public void mouseClicked(MouseEvent e) {}
	                @Override
	            	public void mouseEntered(MouseEvent e) {}
	                @Override
	                public void mouseExited(MouseEvent e) {
	                    currentBox = -1;
	                }
	                @Override
	                public void mousePressed(MouseEvent e) {
	                    for (int i=boxList.size()-1; i>=0; i--) {
	                        clickPoint = e.getPoint();
	                        Box box = boxList.get(i);
	                        if (box.getBounds().contains(clickPoint)) {
	                            currentBox = i;
	                            position = new Point(box.getBounds().x, box.getBounds().y); 
	                            return;
	                        }
	                    }
	                }
	                @Override
	                public void mouseReleased(MouseEvent e) {
	                    currentBox = -1;
	                }
	            });
	            
	            this.addMouseMotionListener(new MouseMotionListener() {
	            	@Override
	                public void mouseDragged(MouseEvent e) {
	                    if (currentBox!= -1) {
	                        Box box = boxList.get(currentBox);
	                        Point p = e.getPoint();
	                        box.setLocation(position.x + (p.x - clickPoint.x), position.y + p.y - clickPoint.y);
	                        repaint();
	                    }
	                }
	            	@Override
	                public void mouseMoved(MouseEvent e) {}
	            });
	        }
	               
	        public void fillBoxPanel(){
	    	
	    		String[] boxText = {"Checksum","Code","Data","HdrLen","Header Checksum",
	    							"Fragment Offset","Identifier","IP-Packet Length",
	    							"Length/Type","Options","Pad","Packet ID","Padding",
	    							"Protocol","Präambel","Prüfsumme","Sequence Number",
	    							"Source Address(Eth)","Source Address(IP)","Target Address(Eth)",
	    							"Target Address(IP)","TOS","TTL","Type","Vers"};

	    		int x = 5;			// vertical gap for the first box (related to (0,0))
	    		int y = 1;			// horizontal gap for the first box (related to (0,0))
	    		int width = 150;
	    		int height = 40;
	    		int n=0;
	    		int m = 40; 		// horizontal gap between boxes
	    		int rowCount = 9; 	// amount of boxes in one row 

//	    		for - loop for adding each String to one box
//	    		setText(String) finally adds a String to a box 
	    		
	    		for(int i=0; i<boxText.length; i++){
	    			
	    			if(i < rowCount){					
	    				Box box = new Box(width, height, x+n, y);
	    				box.setText(boxText[i]);
	    				box.setColor(color);
	    				this.addBox(box);
	    				n = width*(i+1);
	    			}
	    			
	    			if(i == rowCount){
	    				n=0;
	    				Box box = new Box(width, height, x+n, y+m);
	    				box.setText(boxText[i]);
	    				box.setColor(color);
	    				this.addBox(box);
	    				n = width*(i-8);
	    			}
	    			
	    			if(i > rowCount && i < rowCount*2){
	    				Box box = new Box(width, height, x+n, y+m);
	    				box.setText(boxText[i]);
	    				box.setColor(color);
	    				this.addBox(box);
	    				n = width*(i-8);
	    			}
	    			
	    			if(i == rowCount*2){
	    				n=0;
	    				Box box = new Box(width, height, x+n, y+m*2);
	    				box.setText(boxText[i]);
	    				box.setColor(color);
	    				this.addBox(box);
	    				n = width*(i-17);
	    			}
	    			
	    			if(i > rowCount*2){
	    				Box box = new Box(width, height, x+n, y+m*2);
	    				box.setText(boxText[i]);
	    				box.setColor(color);
	    				this.addBox(box);
	    				n = width*(i-17);
	    			}
	    		}
	    	}
	        
	        public void paint(){
	        	this.repaint();
	        }
	        
	        public void addBox(Box box) {
	            this.boxList.add(box);
	            this.repaint();
	        }
	        
	        public List<Box> getBoxList(){
	        	return this.boxList;
	        }
	        
	        public void paintComponent(Graphics g) {
	            super.paintComponent(g);
	            for (Box box: boxList)
	                box.paintComponent(g);
	        }
}

Im Anhang befindet sich noch ein Screenshot, der das Problem deutlich macht...
 

Anhänge

  • Screenshot from 2012-09-04 12:23:13.jpg
    Screenshot from 2012-09-04 12:23:13.jpg
    38,9 KB · Aufrufe: 37

jgh

Top Contributor
andersrum wird ein Schuh daraus... ;) => (fast) immer ist es einfacher als man denkt, zumindest beim proggen, d.h. nicht, dass es immer klappt^^
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Swing TextPanel Schrift untereinander und auf einer Höhe AWT, Swing, JavaFX & SWT 3
Jose05 Javafx Label Höhe=Breite AWT, Swing, JavaFX & SWT 1
sascha-sphw JavaFX ListCell höhe verändert sich beim ändern der Text-Farbe AWT, Swing, JavaFX & SWT 14
X JavaFX AreaChart area höhe wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 2
R Java FX - Fxml - relative Größenangaben für Breite und Höhe einer TextArea AWT, Swing, JavaFX & SWT 8
J JavaFX TableView - Höhe der Zeilen AWT, Swing, JavaFX & SWT 3
B JFreeChart Gantt Höhe Tasks AWT, Swing, JavaFX & SWT 1
Z Java Draw -JFrame finde nicht die Mitte & höhe, breite AWT, Swing, JavaFX & SWT 7
S SWT TableCell mit Composite als Inhalt / Höhe der Cell/Row AWT, Swing, JavaFX & SWT 5
T Swing JScrollPane in JPanel - Breite dynamisch, Höhe fix - wie? AWT, Swing, JavaFX & SWT 2
M Wie ermittele ich die Breite und Höhe meines Displays in Pixel AWT, Swing, JavaFX & SWT 3
T LayoutManager GridBagLayout - zwei jTable mit unterschiedlicher Höhe AWT, Swing, JavaFX & SWT 2
N Swing Optimale Höhe eine JTextPanes bei festgelegter Breite bestimmen AWT, Swing, JavaFX & SWT 23
P Höhe der TitleBar vom JFrame AWT, Swing, JavaFX & SWT 2
Landei Swing JToolbar: Textfelder mit normaler Höhe? AWT, Swing, JavaFX & SWT 2
T jpanel höhe netbeans.... AWT, Swing, JavaFX & SWT 5
J Problem mit der Höhe eines Panels AWT, Swing, JavaFX & SWT 11
G Swing Höhe des View eines JScrollPane fest auf Höhe des JScrollPane setzen! AWT, Swing, JavaFX & SWT 4
H LayoutManager Auf gleicher Höhe anordnen AWT, Swing, JavaFX & SWT 4
_dp jTextArea/jTextPanel Auto Höhe AWT, Swing, JavaFX & SWT 5
D JPanel höhe setzen AWT, Swing, JavaFX & SWT 2
H variable Höhe einer JTextArea (als Renderer/Editor) als Zelle einer JTable AWT, Swing, JavaFX & SWT 9
F Swing Höhe eines Headers einer JTable anpassen AWT, Swing, JavaFX & SWT 4
N Höhe einstellen JScrollPane AWT, Swing, JavaFX & SWT 3
F 2D-Grafik Problem mit höhe||breite eines JFrames AWT, Swing, JavaFX & SWT 4
G JTable Multiple Row Header Example - Probleme mit der Höhe der Zellen AWT, Swing, JavaFX & SWT 4
E Wie Breite und Höhe eines Panels festlegen? AWT, Swing, JavaFX & SWT 5
S Für Breite und Höhe werden 0.0 angezeigt AWT, Swing, JavaFX & SWT 2
C Swing JTextArea mit fester Breite und angepasster Höhe??? AWT, Swing, JavaFX & SWT 8
B Höhe eines Buttons festlegen AWT, Swing, JavaFX & SWT 7
G JList Höhe? AWT, Swing, JavaFX & SWT 2
P Breite und Höhe des contentPane abfragen AWT, Swing, JavaFX & SWT 3
Y Einzigartigkeit des GridBagLayout - individuelle Höhe/Breite AWT, Swing, JavaFX & SWT 4
S Tabelle soll sich auch in der Höhe resizen? AWT, Swing, JavaFX & SWT 4
T Breite des Containers ist gegeben - wie die Höhe berechnen? AWT, Swing, JavaFX & SWT 3
H JTabbedPane Höhe-Problem AWT, Swing, JavaFX & SWT 3
S [BorderLayout]WEST/EAST sollen über ganze Höhe gehen; AWT, Swing, JavaFX & SWT 3
G Linie nach Höhe einer Zahl zeichnen? AWT, Swing, JavaFX & SWT 3
A JTextFiled-Breite und Höhe ändern AWT, Swing, JavaFX & SWT 3
S Feste Breite und Höhe für einen formatierten Text. AWT, Swing, JavaFX & SWT 5
G Höhe eines JPanels ermittlen AWT, Swing, JavaFX & SWT 3
S JFrame Fenster höhe der Titelzeile? AWT, Swing, JavaFX & SWT 13
G Klasse Image - Höhe und Breite ermitteln AWT, Swing, JavaFX & SWT 12
B BorderLayout.WEST (JTree strecken in Höhe) AWT, Swing, JavaFX & SWT 2
D Jtable Header Höhe setzen ? AWT, Swing, JavaFX & SWT 2
B JEditorPane: Höhe für bestimmte Breite bestimmen AWT, Swing, JavaFX & SWT 4
M Höhe von eines Strings in Pixeln (nicht Höhe einer Zeile) AWT, Swing, JavaFX & SWT 12
K Höhe und Breite eines Panels im GridBagLayout ermitteln AWT, Swing, JavaFX & SWT 9
javasdann Höhe von Titlebar in jInternalFrame ändern AWT, Swing, JavaFX & SWT 5
J DefaultTableCellRenderer & Höhe AWT, Swing, JavaFX & SWT 3
D JLabel mit fester Breite und beliebiger Höhe AWT, Swing, JavaFX & SWT 4
O warum ist die Höhe meines JPanels 0? AWT, Swing, JavaFX & SWT 8
L wie kann man die Höhe und Breite von JList festlegen AWT, Swing, JavaFX & SWT 3
C Titel-Balken höhe?! AWT, Swing, JavaFX & SWT 4
C Höhe der Titelleiste in JInternalFrame AWT, Swing, JavaFX & SWT 4
B Swing Borderlayout East über North AWT, Swing, JavaFX & SWT 5
S Problem mit BorderLayout NORTH und SOUTH AWT, Swing, JavaFX & SWT 2
K LayoutManager Borderlayout - NORTH aktualisieren AWT, Swing, JavaFX & SWT 10
G Komponente die im Center und North Bereich liegt zurückgebe? AWT, Swing, JavaFX & SWT 6
MartinNeuerlich Kann mir jemand, der einen Mac mit einem m1 oder m2-Chip hat, eine POM geben mit der Javafx-Fullscreen beim Mac mit m-Chip funktioniert? AWT, Swing, JavaFX & SWT 1
berserkerdq2 Wie greife ich auf ein Element zu, welches ich beim Scenebuilder erstellt habe AWT, Swing, JavaFX & SWT 10
H AWT Dialog Größe ändern - Schwarzer Inhalt beim groß ziehen AWT, Swing, JavaFX & SWT 1
L jComboBox Actionlistener wird beim erstmaligen Befüllen getriggert AWT, Swing, JavaFX & SWT 7
B Output GUI funktioniert nur beim ersten Mal richtig. AWT, Swing, JavaFX & SWT 4
A JavaFX exportierte Jar ohne beim starten die Libs hinzufügen? AWT, Swing, JavaFX & SWT 2
TheWhiteShadow JavaFX ListView Problem beim Entfernen von Elementen AWT, Swing, JavaFX & SWT 1
S Fehler beim Öffnen weiterer FXML AWT, Swing, JavaFX & SWT 11
I Probleme beim Drucken auf einen PDF-Drucker AWT, Swing, JavaFX & SWT 8
G Gui updated beim zweiten Aufruf nicht mehr AWT, Swing, JavaFX & SWT 15
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
W Nullpointer Exception beim übertragen von Daten von Scene zu Scene AWT, Swing, JavaFX & SWT 6
missy72 JavaFX Wiederholen einer IF-Abfrage beim erneuten Öffnen einer Stage AWT, Swing, JavaFX & SWT 11
D JavaFX Probleme beim nachtäglichen hinzufügen der jfx dependency AWT, Swing, JavaFX & SWT 7
R NullPointerException beim Start des Fensters AWT, Swing, JavaFX & SWT 1
D JavaFX Label flackert beim aktualisieren AWT, Swing, JavaFX & SWT 12
J Kann mir jemand beim MediaPlayer helfen ? AWT, Swing, JavaFX & SWT 2
S JavaFx Zufallsfarbe beim Button-Klick AWT, Swing, JavaFX & SWT 22
L Swing JDialog ton beim klicken ausstellen AWT, Swing, JavaFX & SWT 1
H Beim JFrame erstellen ein anderes schließen AWT, Swing, JavaFX & SWT 0
L Swing JLabel wird beim ändern der Schriftart immer neu gezeichnet. AWT, Swing, JavaFX & SWT 2
M AWT Kann meinen Fehler beim ActionListener nicht finden AWT, Swing, JavaFX & SWT 5
R 2D-Grafik Massive Frame Drops beim Benutzen von AffineTransformOp AWT, Swing, JavaFX & SWT 2
ruutaiokwu Swing windowStateChanged macht exakt das Gegenteil beim Verändern der Fenstergrösse AWT, Swing, JavaFX & SWT 3
J Exception beim JFrame erstellen AWT, Swing, JavaFX & SWT 6
B 2D-Grafik paintcomponent Probleme beim zeichnen AWT, Swing, JavaFX & SWT 10
D JInternalFrame wechselt Position beim ersten Click AWT, Swing, JavaFX & SWT 0
steven789hjk543 Swing Verstehe etwas beim GUI nicht AWT, Swing, JavaFX & SWT 3
L JavaFX Probleme beim Installieren JavaFX11 / JavaFX12 -- Eclipse 2019-03 AWT, Swing, JavaFX & SWT 3
H JavaFX Probleme Beim Wechseln der scene als .fxml AWT, Swing, JavaFX & SWT 7
A Fehler beim Hintergrund AWT, Swing, JavaFX & SWT 17
F JavaFX Probleme beim automatischen Konvertieren AWT, Swing, JavaFX & SWT 4
J Hilfe beim tablevies AWT, Swing, JavaFX & SWT 2
L JavaFX Fehler beim setzen von Farben AWT, Swing, JavaFX & SWT 16
T LookAndFeel LookAndFeel funktioniert nicht beim JFrame wechsel AWT, Swing, JavaFX & SWT 3
L Java FX Exception beim start AWT, Swing, JavaFX & SWT 2
L JSplitPane Divider Location beim Maximieren AWT, Swing, JavaFX & SWT 6
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
J ObservableList wirft exception beim zweiten füllen. AWT, Swing, JavaFX & SWT 4
emma_louisa JavaFX Werte beim Aufrufen des Fensters übernehmen (SceneBuilder) AWT, Swing, JavaFX & SWT 3
Tronert JavaFX Fehler beim Ändern der font-weight AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben