Hi
Ich habew folgendes Problem.Ich will eine Komponente erstellen in der einige Elemente einen Floweffekt besitzen sollen(also beim Verkleinern des Fensters nach "oben" oder "unten" geschoben werden sollen) und einige sollen fest sein(keine Verschiebeung und in der "Reihe" ,in der sie sich befinden sollen keine weiteren Elemente angezeigt werden.).
Ich hoffe die Grafiken im Anhang verdeutlichen die Situation.Der oeben genannte Effekt klappt schon ganz gut.Allerdings enstehen bvei der Verschiebung Lücken und ich möchte dass die "ausgefüllt"werden indem untere Komponenten nach oben geschoben werden.Ist das möglich ?
Hier mein bisheriger Code:
Ich habew folgendes Problem.Ich will eine Komponente erstellen in der einige Elemente einen Floweffekt besitzen sollen(also beim Verkleinern des Fensters nach "oben" oder "unten" geschoben werden sollen) und einige sollen fest sein(keine Verschiebeung und in der "Reihe" ,in der sie sich befinden sollen keine weiteren Elemente angezeigt werden.).
Ich hoffe die Grafiken im Anhang verdeutlichen die Situation.Der oeben genannte Effekt klappt schon ganz gut.Allerdings enstehen bvei der Verschiebung Lücken und ich möchte dass die "ausgefüllt"werden indem untere Komponenten nach oben geschoben werden.Ist das möglich ?
Hier mein bisheriger Code:
Java:
import java.util.ArrayList;
import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
/**
*
* @author Administrator
*/
public class LeftSideOpenedPalette extends JPanel
{
String FadeGifsFolder = "C:\\Dokumente und Einstellungen\\Administrator\\Eigene Dateien\\NetBeansProjects\\ToothManager3D\\ToothManager3DGui\\src\\de\\crosssoft\\ToothManager3D\\Gui\\TopComponents\\SingleComponents\\LeftSideFunctions\\FadeGifs";
String TeethGifFolder = "C:\\Dokumente und Einstellungen\\Administrator\\Eigene Dateien\\NetBeansProjects\\ToothManager3D\\ToothManager3DGui\\src\\de\\crosssoft\\ToothManager3D\\Gui\\TopComponents\\SingleComponents\\LeftSideFunctions\\TeethGifs";
String OrientationGifsFolder = "C:\\Dokumente und Einstellungen\\Administrator\\Eigene Dateien\\NetBeansProjects\\ToothManager3D\\ToothManager3DGui\\src\\de\\crosssoft\\ToothManager3D\\Gui\\TopComponents\\SingleComponents\\LeftSideFunctions\\OrientationGifs";
String GifsFolder = "C:\\Dokumente und Einstellungen\\Administrator\\Eigene Dateien\\NetBeansProjects\\ToothManager3D\\ToothManager3DGui\\src\\de\\crosssoft\\ToothManager3D\\Gui\\TopComponents\\SingleComponents\\LeftSideFunctions\\OrientationGifs";
public LeftSideOpenedPalette()
{
BoxLayout boxLayout = new BoxLayout(this, BoxLayout.Y_AXIS);
setLayout(boxLayout);
JLabel ViewLabel = new LeftSideOpenedPaletteItem("Ansicht");
ViewLabel.setIcon(new ImageIcon(FadeGifsFolder + File.separatorChar + "gebiss_alles.gif"));
JLabel BoothJawLabel = new LeftSideOpenedPaletteItem("Beide Kieferhälften");
BoothJawLabel.setIcon(new ImageIcon(FadeGifsFolder + File.separatorChar + "gebiss_alles.gif"));
JLabel UpperJawLabel = new LeftSideOpenedPaletteItem("Obere Kieferhälfte");
UpperJawLabel.setIcon(new ImageIcon(FadeGifsFolder + File.separatorChar + "gebiss_oben.gif"));
JLabel LowerJawLabel = new LeftSideOpenedPaletteItem("Untere Kieferhälfte");
LowerJawLabel.setIcon(new ImageIcon(FadeGifsFolder + File.separatorChar + "gebiss_unten.gif"));
JLabel TransparentJawLabel = new LeftSideOpenedPaletteItem("Tranparente Kiefer");
TransparentJawLabel.setIcon(new ImageIcon(FadeGifsFolder + File.separatorChar + "gebiss_transparent.gif"));
JLabel OnlyTeethLabel = new LeftSideOpenedPaletteItem("Nur Zähne");
OnlyTeethLabel.setIcon(new ImageIcon(FadeGifsFolder + File.separatorChar + "gebiss_fleischlos.gif"));
ArrayList<JLabel> TeethViewList = new ArrayList<JLabel>();
TeethViewList.add(BoothJawLabel);
TeethViewList.add(UpperJawLabel);
TeethViewList.add(LowerJawLabel);
TeethViewList.add(TransparentJawLabel);
TeethViewList.add(OnlyTeethLabel);
add(createBorderLayoutPanel(ViewLabel, TeethViewList));
JLabel ToothLabel = new LeftSideOpenedPaletteItem("Zähne");
ToothLabel.setIcon(new ImageIcon(TeethGifFolder+ File.separatorChar + "gebiss_vorne.gif" ));
JLabel FrontToothLabel = new LeftSideOpenedPaletteItem("Gebiß vorne");
FrontToothLabel.setIcon(new ImageIcon(TeethGifFolder + File.separator + "gebiss_vorne.gif"));
JLabel RightToothLabel = new LeftSideOpenedPaletteItem("Gebiß rechts");
RightToothLabel.setIcon(new ImageIcon(TeethGifFolder + File.separator + "gebiss_rechts.gif"));
JLabel LeftToothLabel = new LeftSideOpenedPaletteItem("Gebiß links ");
LeftToothLabel.setIcon(new ImageIcon(TeethGifFolder + File.separator + "gebiss_links.gif"));
JLabel TeethRowLabel = new LeftSideOpenedPaletteItem("Zahnreihe ");
TeethRowLabel.setIcon(new ImageIcon(TeethGifFolder + File.separator + "gebiss_ohne_zahnfleisch.gif"));
JLabel OpenToothLabel = new LeftSideOpenedPaletteItem("Gebiß offen");
OpenToothLabel.setIcon(new ImageIcon(TeethGifFolder + File.separator + "gebiss_aufgeklappt.gif"));
ArrayList<JLabel> TeethList = new ArrayList<JLabel>();
TeethList.add(FrontToothLabel);
TeethList.add(RightToothLabel);
TeethList.add(LeftToothLabel);
TeethList.add(TeethRowLabel);
TeethList.add(OpenToothLabel);
add(createBorderLayoutPanel(ToothLabel, TeethList));
JLabel OrientationLabel = new LeftSideOpenedPaletteItem("Orientierung");
OrientationLabel.setIcon(new ImageIcon(OrientationGifsFolder + File.separatorChar + "move.gif"));
JLabel TranslatePanel = new LeftSideOpenedPaletteItem("Verschieben");
TranslatePanel.setIcon(new ImageIcon(OrientationGifsFolder + File.separatorChar + "move.gif"));
JLabel RotatePanel = new LeftSideOpenedPaletteItem("Rotieren");
RotatePanel.setIcon(new ImageIcon(OrientationGifsFolder + File.separatorChar + "rotate_user_defined.gif"));
JLabel ZoomPanel = new LeftSideOpenedPaletteItem("Zoom");
ZoomPanel.setIcon(new ImageIcon(OrientationGifsFolder + File.separatorChar + "zoom.gif"));
ArrayList<JLabel> OrientationList = new ArrayList<JLabel>();
OrientationList.add(TranslatePanel);
OrientationList.add(RotatePanel);
OrientationList.add(ZoomPanel);
add(createBorderLayoutPanel(OrientationLabel, OrientationList));
JLabel ControllLabel = new LeftSideOpenedPaletteItem("Kontrolle");
ControllLabel.setIcon(new ImageIcon((GifsFolder + File.separatorChar + "rotate_user_defined.gif")));
}
private JPanel createBorderLayoutPanel(JLabel northLabel,ArrayList<JLabel> slidingLabels)
{
JPanel returnPanel = new JPanel();
BorderLayout borderLayout = new BorderLayout();
returnPanel.setLayout(borderLayout);
JPanel northPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
northPanel.add(northLabel);
returnPanel.add(northPanel,BorderLayout.NORTH );
JPanel centerPanel = new JPanel();
centerPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
for(JLabel slidingLabel : slidingLabels)
{
centerPanel.add(slidingLabel);
}
returnPanel.add(centerPanel,BorderLayout.CENTER);
returnPanel.setSize(returnPanel.getLayout().minimumLayoutSize(this));
return returnPanel;
}
public static void main(String[] args)
{
JFrame jFrame = new JFrame("LeftSideOpenPaletteTest");
jFrame.add(new LeftSideOpenedPalette());
jFrame.setSize(300, 300);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setVisible(true);
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package test;
import java.awt.Dimension;
import javax.swing.JLabel;
/**
*
* @author Administrator
*/
public class LeftSideOpenedPaletteItem extends JLabel
{
int width = 150;
int height = 25;
public LeftSideOpenedPaletteItem(String name)
{
super(name);
setPreferredSize(new Dimension(width, height));
setMinimumSize(new Dimension(width,height));
setMaximumSize(new Dimension(width, height));
setSize(new Dimension(width, height));
}
}