Crashdowns
Ensign
- Registriert
- Juni 2010
- Beiträge
- 138
Einen schönen guten Tagen zusammen,
ich arbeite mich momentan in das Thema Java und GUI ein.
Ich habe ein ScrollPanel erstellt und füge auf diesem per for-Schleife JPanels (mit unterschiedlich langen JLabels drin) mit einer Border ein. Leider ist es mir bis jetzt nicht gelungen das diese JPanels alle die selbe Größe haben was etwas unschön aussieht (siehe Anhang).
Ich hab jetzt schon sehr lange diverse Optionen des GridBagLayout ausgetestet und ausprobiert aber leider noch keine Lösung gefunden. Hat jmd. von euch eine Idee?
Mit freundlichen Grüßen
Crash
PS: Hier ein Code Ausschnitt
ich arbeite mich momentan in das Thema Java und GUI ein.
Ich habe ein ScrollPanel erstellt und füge auf diesem per for-Schleife JPanels (mit unterschiedlich langen JLabels drin) mit einer Border ein. Leider ist es mir bis jetzt nicht gelungen das diese JPanels alle die selbe Größe haben was etwas unschön aussieht (siehe Anhang).
Ich hab jetzt schon sehr lange diverse Optionen des GridBagLayout ausgetestet und ausprobiert aber leider noch keine Lösung gefunden. Hat jmd. von euch eine Idee?
Mit freundlichen Grüßen
Crash
PS: Hier ein Code Ausschnitt
PHP:
private static void initSingleStockPanel(int counter) throws IOException{
try{
singleStockPanel = new JPanel();
singleStockPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK));
ArrayList<String> symbolListe = getListe();
ArrayList<String> companyListe =getListe();
stock =symbolListe.get(counter) +".csv";
String stockPathAndFormat = stockPath + stock;
ArrayList<String> stockListe = getListe();
stockPrice = stockListe.get(0);
//---------------------------------------------------------------------------
//Layout
GridBagLayout gbl = new GridBagLayout();
singleStockPanel.setLayout(gbl);
GridBagConstraints gbc = new GridBagConstraints();
//Abstände der elemente zum GUI netzwerk
gbc.insets = new Insets(1,1,1,1);
//---------------------------------------------------------------------------
//create all elements
symbolLabel = new JLabel(symbolListe.get(counter));
nameLabel = new JLabel(companyListe.get(counter));
priceLabel = new JLabel(stockPrice + " $");
picLabel = new (hier kommt ein chart her);
//testLabel
priceAenderungLabel = new JLabel (AenderungAktienZuVortag.aenderungZuVortag(stockListe)+ " %");
//add Labels to Panel
gbc.gridx = 0;
gbc.gridy = 0;
gbc.ipadx = 25;
gbl.setConstraints(symbolLabel, gbc);
singleStockPanel.add(symbolLabel);
gbc.gridx = 7;
gbc.gridy = 0;
gbc.gridheight = 1;
//gbc.gridwidth = 9;
gbl.setConstraints(priceLabel, gbc);
singleStockPanel.add(priceLabel);
gbc.gridx = 13;
gbc.gridy = 0;
gbc.ipadx = 15;
gbl.setConstraints(priceAenderungLabel, gbc);
singleStockPanel.add(priceAenderungLabel);
gbc.gridx = 24;
gbc.gridy = 0;
gbc.gridheight = 1;
gbc.gridwidth = 7;
gbc.anchor = GridBagConstraints.LINE_END;
gbl.setConstraints(nameLabel, gbc);
singleStockPanel.add(nameLabel);
}
catch (Exception e){
}
}
private static void initStockScrollPane() throws IOException{
JPanel outerPanel = new JPanel();
GridBagLayout gbl = new GridBagLayout();
outerPanel.setLayout(gbl);
GridBagConstraints gbc = new GridBagConstraints();
gbc.insets= new Insets(1,1,1,1);
//add the stockPanels
for(int i = 0; i < 100; i++){
//koordinaten festlegen
gbc.gridx = 0;
gbc.gridy = i * 10;
//panel fuer eine aktie erzeugen
initSingleStockPanel(i);
//hinzfuegen
gbl.setConstraints(singleStockPanel,gbc);
outerPanel.add(singleStockPanel);
}
stockScrollPane = new JScrollPane(outerPanel);
}
Anhänge
Zuletzt bearbeitet: