Java'da JPanel Dolgu


107

Java swing uygulamam için bir biçimlendirme sorum var. Oldukça basit olmalı, ancak herhangi bir yardım bulmakta güçlük çekiyorum (Her konu JPanel'deki herhangi bir varsayılan dolguyu kaldırmakla ilgili gibi görünüyor ). Çeşitli JPanel'lerimdeki metin, renkli kenarlara dokunarak yanları ve üstleri sarar: nasıl dolgu ekleyebilirim? Teşekkür ederim.

Yanıtlar:


234

EmptyBorderÇevrenizde bir ayarlayın JPanel.
Misal:

JPanel p =new JPanel();
p.setBorder(new EmptyBorder(10, 10, 10, 10));

45
veya mevcut sınırın çevresinde fazladan dolguya sahip olabilirsiniz:p.setBorder(BorderFactory.createCompoundBorder(new EmptyBorder(10, 10, 10, 10), new EtchedBorder()));
Synox

Pencere yeniden boyutlandırıldığında ne olur? Bu çözüm iyi değil, değil mi?
Andrew S

@Synox Efsanesi gerçekten! EmptyBorder'ı dahili doldurma için son parametre olarak koyabileceğinizi unutmayın
Hunter S

3

JPanelGenel olarak içinde dolguya ihtiyaç duyduğunuzda , kullanmakta olduğunuz yerleşim yöneticisi ile dolgu eklersiniz. .Txt dosyasının sınırını genişletebileceğiniz durumlar vardır JPanel.


1
Yerleşim yöneticisine dolgu eklemek (Benim durumumda, GridLayout) bitişik panellerin arasına dolgu ekler, ancak tek bir panelin içinde değil. Ama bir sınır yeterli, yardımın için teşekkürler.
Connor

3

Demo uğruna JPanel'inizin JTextField içerdiğini varsayacağım.

Bu bileşenler, JTextComponent#setMargin()aradığınız gibi görünen bir yöntem sağlar .

Metninizin etrafında herhangi bir boyutta boş bir kenarlık arıyorsanız, şunu kullanın: EmptyBorder


0
JPanel p=new JPanel();  
GridBagLayout layout=new GridBagLayout(); 
p.setLayout(layout); 
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill=GridBagConstraints.HORIZONTAL; 
gbc.gridx=0;   
gbc.gridy=0;   
p2.add("",gbc);
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.