also,
ich grüble schon ne ganze Weile, finde aber den Grund nicht :
einem JPanel sollen Komponenten hinzugefügt werden.
das Panel kommt in einer JScrollBar-Container usw.
Momentan sieht man aber immer nur die Hintergrundfarbe des Panels, nicht seine Komponenten; hier das Panel-Modul :
und hier wird das Panel eingebaut :
Wie im ersten Code-Block - auskommentiert - zu sehen ist, wollte ich eigentlich ein GridLayout befüllen,
aber da sehe ich nix, deswegen der Test mitm BorderLayout..
wie Sie sehen, sehen Sie nichts ..
außer dem grauen Hintergrund :-((
ich grüble schon ne ganze Weile, finde aber den Grund nicht :
einem JPanel sollen Komponenten hinzugefügt werden.
das Panel kommt in einer JScrollBar-Container usw.
Momentan sieht man aber immer nur die Hintergrundfarbe des Panels, nicht seine Komponenten; hier das Panel-Modul :
Java:
package ibrowser_simple1;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;
import javax.swing.Icon;
import javax.swing.ImageIcon;
public class ts_mrow_table1 extends JPanel
{
private static int iCols = 0;
private static int iRows = 0;
private static Font eg_font = new Font("Monospaced",Font.PLAIN,16);
public ts_mrow_table1(Vector vData,Vector vHeader, int hgap,int vgap)
{
this.setBackground(Color.LIGHT_GRAY);
this.setForeground(Color.RED);
this.setMinimumSize(new Dimension(200,300));
//construct(vData,vHeader, hgap,vgap);
/*
iCols = vHeader.size();
iRows = vData.size();
if((iRows * iCols) == 0)
return;
System.out.println("ts_mrow_table1 construct Rows : "+iRows+" Cols : "+iCols+" hgap : "+hgap+" vgap : "+vgap);
iRows++; //- 1 Zeile mehr fuer Header !
if(hgap == 0)
hgap= 15;
if(vgap == 0)
vgap = 30;
GridLayout eLayout = new GridLayout(iRows,iCols, hgap,vgap);
this.setLayout(eLayout);
*/
this.setLayout(new BorderLayout());
this.add(new JLabel("test1"),BorderLayout.NORTH);
this.add(new JLabel("test2"),BorderLayout.WEST);
this.add(new JButton("btest3"),BorderLayout.EAST);
this.add(new JTextField("txtest4"),BorderLayout.SOUTH);
this.revalidate();
this.setEnabled(true);
}
und hier wird das Panel eingebaut :
Java:
if(!(tmt instanceof ts_mrow_table1))
{
tmt = new ts_mrow_table1(ibdh.vDataDetail, ibdh.vDheader, 10, 30);//- ...,hgap,vgap
}
//tmt.construct(ibdh.vDataDetail, ibdh.vDheader, 10, 30); //- ...,hgap,vgap
//tmt.validate();
tmt.setVisible(true);
/*
JPanel tpn = new JPanel();
tpn.setSize(100, 200);
tpn.setBackground(Color.red);
*/
//JScrollPane sp_list2 = new JScrollPane(tpn);
JScrollPane sp_list2 = new JScrollPane(tmt);
JScrollBar jvsb2 = sp_list2.getVerticalScrollBar();
sp_list2.setPreferredSize(new Dimension(TBLWIN_WIDTH,TBLWIN_HEIGHT)); //- Hoehenverminderung bewirkt Verschiebung nach unten !
split_pane_right.add(sp_list2);
split_pane_right.add(Box.createVerticalGlue());
split_pane_right.add(Box.createVerticalStrut(20));
split_pane_left.setRightComponent(split_pane_right);
split_pane_left.setLeftComponent(sp_list);
split_pane_left.setDividerLocation(250);
mask_pan.add("Center",split_pane_left);
mask_pan.setVisible(true);
Wie im ersten Code-Block - auskommentiert - zu sehen ist, wollte ich eigentlich ein GridLayout befüllen,
aber da sehe ich nix, deswegen der Test mitm BorderLayout..
wie Sie sehen, sehen Sie nichts ..
außer dem grauen Hintergrund :-((
Zuletzt bearbeitet von einem Moderator: