Saudações, estou com problema para setar o tamanho dos meus labels dentro de um painel. Percebi que eles são setados automaticamente pelo layout porem queria colocar um JScrollpane dentro do painel e não consigo justamente pelo motivo dos labels se ajustarem no painel daí ficam bem pequenos. Como faço para resolver isso?, crio outros paineis?. obs: o painel ocupa o frame completo.
main:
public class Main {
public static void main(String[] args) {
Screen a = new Screen();
for(Loja lojas : Loja.lj){
String nome = lojas.filial;
for (String ip : lojas.ips){
a.painelIP(ip,nome);
}
}
}
}
//////////////////////////////////////////////////////////////////////////////////*********************
classe para GUI
import javax.swing.;
import java.awt.;
public class Screen {
private GridBagConstraints c = new GridBagConstraints();
private JFrame frame = new JFrame(“Painel”);
private JPanel painel = new JPanel();
private int ljAnterior = 1;
JScrollPane scroll = new JScrollPane(painel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
public Screen(){
frame.setSize(900,600);
frame.setVisible(true);
frame.setResizable(true);
frame.setLayout(new BorderLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
painel.setLayout(new GridBagLayout());
frame.getContentPane().add(scroll,BorderLayout.WEST);
frame.getContentPane().add(painel);
}
public void painelIP(String ip,String loja){
JLabel boxIP = new JLabel();
boxIP.setText("<html><div style='text-align: center;'>" + loja + "<br/>IP: " + ip + "</div></html>");
this.c.weightx = 1;
this.c.weighty = 1;
this.c.fill = GridBagConstraints.BOTH;
this.c.ipadx = 20;
this.c.ipady = 20;
linhaEcolunas(Integer.parseInt(loja.substring(5)));
painel.add(boxIP,c);
}
private void linhaEcolunas(int loja){
if(this.ljAnterior != loja){
this.ljAnterior = loja;
this.c.gridy = loja;
}
}
}
/////////////////////////////////////////////////////////////////////////////////////////////***********************
classe para criar ips para colocar nas labels:
public class Loja {
protected String [] ips;
protected String filial;
public Loja(String filial,String … ips) {
this.ips = ips;
this.filial = filial;
}
public static Loja [] lj = new Loja[]{
new Loja("Loja 1" , "10.10.1.1" , "10.10.1.2" , "10.10.1.10" , "10.10.1.11" , "10.10.1.12" , "10.10.1.13" , "10.10.1.250" , "10.10.1.254" , "10.10.1.70"),
new Loja("Loja 2" , "10.10.2.1" , "10.10.2.2" , "10.10.2.3" , "10.10.2.10" , "10.10.2.11" , "10.10.2.12" , "10.10.2.13" , "10.10.2.250" , "10.10.2.254" , "10.10.2.70"),
new Loja("Loja 3" , "10.10.3.1" , "10.10.3.2" , "10.10.3.3" , "10.10.3.10" , "10.10.3.11" , "10.10.3.12" , "10.10.3.13" , "10.10.3.250" , "10.10.3.254" , "10.10.3.70"),
new Loja("Loja 4" , "10.10.4.1" , "10.10.4.2" , "10.10.4.3" , "10.10.4.10" , "10.10.4.11" , "10.10.4.12" , "10.10.4.13" , "10.10.4.250" , "10.10.4.254" , "10.10.4.70"),
new Loja("Loja 5" , "10.10.5.1" , "10.10.5.2" , "10.10.5.3" , "10.10.5.10" , "10.10.5.11" , "10.10.5.12" , "10.10.5.13" , "10.10.5.250" , "10.10.5.254" , "10.10.5.70"),
new Loja("Loja 6" , "10.10.6.1" , "10.10.6.2" , "10.10.6.3" , "10.10.6.10" , "10.10.6.11" , "10.10.6.12" , "10.10.6.13" , "10.10.6.250" , "10.10.6.254" , "10.10.6.70"),
new Loja("Loja 7" , "10.10.7.1" , "10.10.7.2" , "10.10.7.3" , "10.10.7.10" , "10.10.7.11" , "10.10.7.12" , "10.10.7.13" , "10.10.7.250" , "10.10.7.254" , "10.10.7.70"),
new Loja("Loja 8" , "10.10.8.1" , "10.10.8.2" , "10.10.8.3" , "10.10.8.10" , "10.10.8.11" , "10.10.8.12" , "10.10.8.13" , "10.10.8.250" , "10.10.8.254" , "10.10.8.70"),
new Loja("Loja 9" , "10.10.9.1" , "10.10.9.2" , "10.10.9.3" , "10.10.9.10" , "10.10.9.11" , "10.10.9.12" , "10.10.9.13" , "10.10.9.250" , "10.10.9.254" , "10.10.9.70"),
new Loja("Loja 10" , "10.10.10.1" , "10.10.10.2" , "10.10.10.3" , "10.10.10.10" , "10.10.10.11" , "10.10.10.12" , "10.10.10.13" , "10.10.10.250" , "10.10.10.254" , "10.10.10.70"),
// new Loja("Loja 11" , "10.10.11.1" , "10.10.11.2" , "10.10.11.3" , "10.10.11.10" , "10.10.11.11" , "10.10.11.12" , "10.10.11.13" , "10.10.11.250" , "10.10.11.254" , "10.10.11.70"),
new Loja("Loja 12" , "10.10.12.1" , "10.10.12.2" , "10.10.12.3" , "10.10.12.10" , "10.10.12.11" , "10.10.12.12" , "10.10.12.13" , "10.10.12.250" , "10.10.12.254" , "10.10.12.70"),
new Loja("Loja 13" , "10.10.13.1" , "10.10.13.2" , "10.10.13.3" , "10.10.13.10" , "10.10.13.11" , "10.10.13.12" , "10.10.13.13" , "10.10.13.250" , "10.10.13.254" , "10.10.13.70"),
new Loja("Loja 14" , "10.10.14.1" , "10.10.14.2" , "10.10.14.3" , "10.10.14.10" , "10.10.14.11" , "10.10.14.12" , "10.10.14.13" , "10.10.14.250" , "10.10.14.254" , "10.10.14.70"),
new Loja("Loja 15" , "10.10.15.1" , "10.10.15.2" , "10.10.15.3" , "10.10.15.10" , "10.10.15.11" , "10.10.15.12" , "10.10.15.13" , "10.10.15.250" , "10.10.15.254" , "10.10.15.70"),
new Loja("Loja 16" , "10.10.16.1" , "10.10.16.2" , "10.10.16.3" , "10.10.16.10" , "10.10.16.11" , "10.10.16.12" , "10.10.16.13" , "10.10.16.250" , "10.10.16.254" , "10.10.16.70")
};
}