Hallo,
ich habe eine Methode, die im TabbedPane Tabs anlegt:
Die Methode wird über einen MouseListener in der gleichen Klasse aufgerufen:
Das funktioniert soweit und neue Tabs erscheinen.
Nun soll aber an einer weiteren Stelle, im Controller die gleiche Methode "manuell" getriggert werden:
In diesem Fall passiert nichts, es erscheint kein neuer Tab. Hat jemand eine Idee, was ich falsch mache?
Danke!
ich habe eine Methode, die im TabbedPane Tabs anlegt:
Java:
public void generateImageTab(String title) {
UUID id = UUID.randomUUID();
setTabLayoutPolicy(JTabbedPane.WRAP_TAB_LAYOUT);
ImageAreaComponent imageArea = new ImageAreaComponent(id, myView);
imageArea.setBackground(new java.awt.Color(43,89,105));
imageArea.setForeground(new java.awt.Color(43,89,105));
imageAreaList.add(imageArea);
//Pack pack = new Pack();
//packList.add(pack);
JScrollPane jScrollPane = new JScrollPane(imageArea);
jScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
jScrollPane.setDoubleBuffered(true);
jScrollPane.setBorder(new LineBorder(new java.awt.Color(21,60,70), 1, true));
jScrollPane.setBackground(new java.awt.Color(43,89,105));
jScrollPane.getVerticalScrollBar().setUnitIncrement(20);
scrollPaneList.add(jScrollPane);
title = title == null? "" : title;
title = title.equals("") ? "Bildpaket" : title;
addTab(title,jScrollPane);
}
Die Methode wird über einen MouseListener in der gleichen Klasse aufgerufen:
Java:
miAppend = new JMenuItem("Paket hinzufügen");
miAppend.setOpaque(true);
miAppend.setFont(new java.awt.Font("Segoe UI",0,14));
miAppend.setBackground(new java.awt.Color(37,81,95));
miAppend.setForeground(new java.awt.Color(255,255,255));
miAppend.setToolTipText("Es können insgesamt 5 Bildpakete angelegt werden");
miAppend.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent evt) {
if(imageAreaList.size()<5) {
generateImageTab("");
}
}
});
Das funktioniert soweit und neue Tabs erscheinen.
Nun soll aber an einer weiteren Stelle, im Controller die gleiche Methode "manuell" getriggert werden:
Java:
public void initTabbedPane(String eventName)
{
System.out.println("new tab");
ImageTabbedPane myPane = new ImageTabbedPane(myView);
myPane.generateImageTab("");
myView.setTabbedPane(myPane);
}
In diesem Fall passiert nichts, es erscheint kein neuer Tab. Hat jemand eine Idee, was ich falsch mache?
Danke!