Hallo 
Ich versuche folgendes und bis jetzt ohne Erfolg
ich zeichne in einem JPanel (editPanel) verschiedene Rechteck zur Laufzeit (also kann man von vornerein gar nicht sagen die groß der editPanel sein wird. Bis jetzt hatte ich das halt so gemacht, dass ich eine Größe einfach vorgegeben hatte aber shcön ist anders, weil auf dieser Weise immer wenn ich das Programm starte mein editPanel schon Scrollbalken hat obwohl es noch gar nicht genötigt werden. Und wenn ich mehr zeichnen will aber vorgegen geht das natürlich nicht
Ich habe das gaze mit GroupLayout. (für mein Fall ist das das beste glaub mir einfach
hab auch alle andere Layouts probiert sind sogar länger letztendlich wenn es so aussehen soll wie ich das will )
So ich poste jetzt mein Code wie es eig sein soll ohne setPrefferedSize und jegliche Größenvorgaben zu machen... die ScrollBalekn erscheinen aber leider nicht wenn ich was gezeichnet habe was mehr platz braucht
.. wie kann man so was lösen??
Ich versuche folgendes und bis jetzt ohne Erfolg
ich zeichne in einem JPanel (editPanel) verschiedene Rechteck zur Laufzeit (also kann man von vornerein gar nicht sagen die groß der editPanel sein wird. Bis jetzt hatte ich das halt so gemacht, dass ich eine Größe einfach vorgegeben hatte aber shcön ist anders, weil auf dieser Weise immer wenn ich das Programm starte mein editPanel schon Scrollbalken hat obwohl es noch gar nicht genötigt werden. Und wenn ich mehr zeichnen will aber vorgegen geht das natürlich nicht
Ich habe das gaze mit GroupLayout. (für mein Fall ist das das beste glaub mir einfach
So ich poste jetzt mein Code wie es eig sein soll ohne setPrefferedSize und jegliche Größenvorgaben zu machen... die ScrollBalekn erscheinen aber leider nicht wenn ich was gezeichnet habe was mehr platz braucht
Java:
public class CreateFile extends JPanel implements ActionListener
{
public CreateFile()
{
initComponents();
buildLayout();
}
public void initComponents()
{
tabbedPane = new ClosableTabbedPane();
editPanel = new EditPanel();
scrollPane=new JScrollPane();
}
public void buildWebsitePanel(){
/* websitePanel */
}
public void buildLayoutPanel(){
/* layoutPanel */
}
public void buildfixFormsPanel(){
/* fixFormsPanel */
}
public void buildIndividualFormsPanel(){
/* individualFormsPanel */
}
public void buildOrangeFormsPanel(){
/* orangeFormsPanel */
...
}
public void buildEditPanel(){
/* editPanel */
GroupLayout editPanelLayout = new GroupLayout(editPanel);
editPanel.setLayout(editPanelLayout);
editPanel.setBackground(middleGray);
editPanelLayout.setHorizontalGroup(
editPanelLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGap(2,2,2)
);
editPanelLayout.setVerticalGroup(
editPanelLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(GUI.imageLabel)
.addGap(2,2,2)
);
}
public void buildHolePanel(){
/* gesamt */
scrollPane.setViewportView(editPanel);
tabbedPane.addTab("neu ", scrollPane);
GroupLayout layout = new GroupLayout(this);
this.setLayout(layout);
this.setBackground(darkGray);
layout.setHorizontalGroup(
layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(tabbedPane, GroupLayout.DEFAULT_SIZE,0, Short.MAX_VALUE)
.addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING, false)
.addComponent(websitePanel, GroupLayout.DEFAULT_SIZE, 0, Short.MAX_VALUE)
.addComponent(layoutPanel, GroupLayout.DEFAULT_SIZE, 0, Short.MAX_VALUE)
.addComponent(fixFormsPanel, GroupLayout.DEFAULT_SIZE, 0, Short.MAX_VALUE)
.addComponent(individualFormsPanel, GroupLayout.DEFAULT_SIZE,0, Short.MAX_VALUE)
.addComponent(orangeFormsPanel, GroupLayout.DEFAULT_SIZE,0, Short.MAX_VALUE))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(20 , 20, 20)
.addComponent(websitePanel)
.addGap(18, 18, 18)
.addComponent(layoutPanel)
.addGap(18, 18, 18)
.addComponent(fixFormsPanel)
.addGap(18, 18, 18)
.addComponent(individualFormsPanel)
.addGap(18, 18, 18)
.addComponent(orangeFormsPanel)
.addContainerGap())
.addComponent(tabbedPane)
);
}
public void buildLayout(){
buildWebsitePanel();
buildLayoutPanel();
buildfixFormsPanel();
buildIndividualFormsPanel();
buildOrangeFormsPanel();
buildEditPanel();
buildHolePanel();
}