Boa tarde pessoal, precisava de uma ajuda para criar uma tela com Abas e botões sendo criados automaticamente e se ajustando.
Por exemplo, tenho uma lista com os nomes dos projetos e um map de projetos e comandos. a Ideia seria criar uma tela assim:
meu código está assim, estou tendo dificuldade (na vdd nao sei como) fazer os botões serem adicionados nos desktop panel e suas respectivas abas… Alguem poderia me dar uma ajuda ou algum exemplo de como fazer, sei q vou fazer um if no for para ver as abas e tal , mas nao sei como add os botões.
código java:
package Screens;
import java.awt.GridLayout;
import java.util.HashMap;
import java.util.Map;
import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JInternalFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.event.InternalFrameEvent;
import javax.swing.event.InternalFrameListener;
public class ScreenCommands2 extends JInternalFrame implements InternalFrameListener {
public ScreenCommands2() {
super("", true, true, false, true);
setSize(950, 600);
setVisible(true);
String[] arrayProject = {"PROJETO 1", "PROJETO 2", "PROJETO 3", "PROJETO 4"};
Map<String, String> mapProjectxButton = new HashMap<>();
JTabbedPane tab = new JTabbedPane();
mapProjectxButton.put("PROJETO 1","BUTTON 1");
mapProjectxButton.put("PROJETO 1","BUTTON 2");
mapProjectxButton.put("PROJETO 1","BUTTON 3");
mapProjectxButton.put("PROJETO 1","BUTTON 4");
mapProjectxButton.put("PROJETO 1","BUTTON 5");
mapProjectxButton.put("PROJETO 1","BUTTON 6");
mapProjectxButton.put("PROJETO 1","BUTTON 7");
mapProjectxButton.put("PROJETO 1","BUTTON 8");
mapProjectxButton.put("PROJETO 2","BUTTON 2.1");
mapProjectxButton.put("PROJETO 2","BUTTON 2.2");
mapProjectxButton.put("PROJETO 2","BUTTON 2.3");
mapProjectxButton.put("PROJETO 2","BUTTON 2.4");
mapProjectxButton.put("PROJETO 2","BUTTON 2.5");
mapProjectxButton.put("PROJETO 2","BUTTON 2.6");
mapProjectxButton.put("PROJETO 2","BUTTON 2.7");
mapProjectxButton.put("PROJETO 2","BUTTON 2.8");
//verifico quantas abas devo criar
for (int x = 0; x < arrayProject.length; x++) {
JDesktopPane desk = new JDesktopPane();
tab.addTab(arrayProject[x], desk);
add(tab);
}
//vejo quantos botoes preciso criar e add nas abas
for(int x = 0; x < mapProjectxButton.size(); x++){
JPanel grid = new JPanel();
grid.setLayout(new GridLayout(4, 4, 4, 4));
JButton b = new JButton(mapProjectxButton.get(x));
}
}
@Override
public void internalFrameOpened(InternalFrameEvent e) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void internalFrameClosing(InternalFrameEvent e) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void internalFrameClosed(InternalFrameEvent e) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void internalFrameIconified(InternalFrameEvent e) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void internalFrameDeiconified(InternalFrameEvent e) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void internalFrameActivated(InternalFrameEvent e) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void internalFrameDeactivated(InternalFrameEvent e) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
