Scrollbars hinzufügen

  • Themenstarter Themenstarter Sascha69
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
S

Sascha69

Gast
Hallo,

ich hab noch so ein problem... ich schaff es einfach nicht scrollbars in mein panel einzufügen. es soll nur das erste panel gescrollt werden können. im beispiel fehlen noch einige labels usw. hab ich noch nicht drin. und das panel soll nur vertical gescrollt werden können. wenn ich die horizontalen scrollbars zulasse dann werden meine labels usw nebeneinander angeordnet weil ich nocht nicht herausgefunden habe wie ich die position der labels usw angebe. ???:L ich schreie förmlich nach hilfe

Code:
 /* Listing3803.java */
 
 import java.awt.*;
 import java.awt.event.*;
import java.awt.peer.ScrollbarPeer;
import java.io.EOFException;
import java.lang.reflect.Array;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.AbstractList;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

import javax.swing.JPanel;
import javax.swing.BorderFactory;

import java.awt.Component;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.LayoutManager;
import java.awt.Rectangle;

import javax.swing.JComboBox;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import javax.swing.Scrollable;

import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.plaf.basic.BasicComboPopup;
import javax.swing.plaf.basic.ComboPopup;
import javax.swing.plaf.metal.MetalComboBoxUI;
import javax.swing.plaf.metal.MetalBorders.ScrollPaneBorder;
import javax.swing.text.html.HTMLDocument.BlockElement;

import sun.management.Flag;
import sun.misc.FormattedFloatingDecimal;

import com.sun.org.apache.bcel.internal.generic.GETSTATIC;
import com.sun.org.apache.xerces.internal.xs.StringList;
import com.sun.org.apache.xml.internal.serialize.LineSeparator;
 
 public class Listing3803 extends JFrame 
 {
   

	 
   JTabbedPane tp;
   public Statement sqlStatement, sqlStatement1, sqlStatement2,
   sqlStatement3, sqlStatement4, sqlStatement5, sqlStatement6 = null;
   private String S1 = null, S2 = null, S3= null; 
   private String block, feld, reihe, grab;
   private JPanel panel = new JPanel();
   private JPanel panel1 = new JPanel();
   private JLabel labelBlock = new JLabel();
   private JLabel labelFeld = new JLabel();
   private JLabel labelReihe = new JLabel();
   private JLabel labelGrab = new JLabel();
   private JLabel labelGrabart = new JLabel("Grabart");
   private JLabel labelVerstorbener = new JLabel("Verstorbene/r");
   private JLabel labelNZB = new JLabel("Nutzer/in");
   private JLabel labelBemerkungen = new JLabel("Bemerkungen");
   private JComboBox boxBlock = new JComboBox();
   private JComboBox boxFeld = new JComboBox();
   private JComboBox boxReihe = new JComboBox();
   private JComboBox boxGrab = new JComboBox();
   private JTextField boxGrabart = new JTextField("");
   private JTextArea boxVerstorbener = new JTextArea();
   private JTextArea boxNZB = new JTextArea();
   private JTextArea boxBemerkungen = new JTextArea();
   
   protected ResultSet einteilung, bloecke  = null;
   protected String bloecke_id, felder_id, reihen_id, grab_id, bloecke_idString, felder_idString, reihen_idString,
   					grab_idString, bloeckeString, grabAuswahlString, nzbName, nzbVorname, verstorbenerName, verstorbenerVorname,
   					verstorbener, verstorben_am, geboren_am, bestattungen_id, nzb_id, nutzungsende, nutzungsberechtigter;
	
	// SQL'S
   protected String einteilungsString = "Select einteilung_1, bezeichnung_einteilung_1, einteilung_2, bezeichnung_einteilung_2," +
	 "einteilung_3, bezeichnung_einteilung_3, bezeichnung_grabstaette from friedhof where id = 1"; 
	
   private boolean comboFlag, comboFlag1, comboFlag2, einteilung_Block, einteilung_Feld, einteilung_Reihe; 
   private JScrollBar sbEast;
   
   protected Color farbe;
   
   SimpleDateFormat df = new SimpleDateFormat( "dd.MM.yyyy" );
   


	
	//private JScrollBar sbEast;
   //private JScrollBar sbSouth;
	
	 
	

   public Listing3803()
   {    
	   
	 super("HADES Pocket");
     tp = new JTabbedPane();
 
       Dimension d = boxBlock.getPreferredSize();
       labelBlock.setLocation(20,20);
       
       labelBlock.setPreferredSize(new Dimension(100, d.height));
       labelFeld.setPreferredSize(new Dimension(100, d.height));
       labelReihe.setPreferredSize(new Dimension(100, d.height));
       labelGrab.setPreferredSize(new Dimension(100, d.height));
       labelGrabart.setPreferredSize(new Dimension(100, d.height));
       labelVerstorbener.setPreferredSize(new Dimension(100, d.height));
       labelNZB.setPreferredSize(new Dimension(100, d.height));
       labelBemerkungen.setPreferredSize(new Dimension(100, d.height));
       boxBlock.setPreferredSize(new Dimension(150, d.height));
       boxFeld.setPreferredSize(new Dimension(150, d.height));
       boxReihe.setPreferredSize(new Dimension(150, d.height));
       boxGrab.setPreferredSize(new Dimension(150, d.height));
       boxGrabart.setPreferredSize(new Dimension(150, d.height));
       boxVerstorbener.setPreferredSize(new Dimension(150, 60));
       boxNZB.setPreferredSize(new Dimension(150, 40));
       boxBemerkungen.setPreferredSize(new Dimension(150, 65));
       //boxBemerkungen.scrollRectToVisible(getMaximizedBounds());
       
              
                     
       boxGrab.setEditable(false);
       boxGrabart.setEditable(false);
       boxVerstorbener.setEditable(false);
       boxNZB.setEditable(false);
       //boxBemerkungen.setEditable(false);
       
       farbe = boxBemerkungen.getBackground();
       Border rand = boxGrabart.getBorder();
       
       boxBlock.setBackground(farbe);
       boxFeld.setBackground(farbe);
       boxReihe.setBackground(farbe);
       boxGrab.setBackground(farbe);
       boxGrabart.setBackground(farbe);
       boxBemerkungen.setBackground(farbe);
       boxBemerkungen.setBorder(rand);
       boxVerstorbener.setBorder(rand);
       boxNZB.setBorder(rand);
       
       //JScrollPane scrollpane_1 = new JScrollPane();
       //scrollpane_1.setPreferredSize(new Dimension(150, 150));
       
       //scrollpane_1.add(boxBemerkungen);
       //boxBlock.getComponentPopupMenu().setSize(d.width, d.height);  
              
      // verbindung verbindung = new verbindung();
  	  // verbindung.verbindungsaufbau();
		// Ausführen des SQL's 
	
		    	
		      	panel.add(labelBlock);
		      	panel.add(boxBlock);
	
				
				panel.add(labelFeld);
				panel.add(boxFeld);
	
				
	        	panel.add(labelReihe); 
	        	panel.add(boxReihe);
		// Tabellenfelder ausgeben
		
			
			panel.add(labelGrab);
			panel.add(boxGrab);
			panel.add(labelGrabart);
			panel.add(boxGrabart);
			panel.add(labelVerstorbener, BorderLayout.NORTH);
			panel.add(boxVerstorbener);
			panel.add(labelNZB);
			panel.add(boxNZB);
			panel.add(labelBemerkungen);
			panel.add(boxBemerkungen);
			
			//addWindowListener(new WindowListener());
			
			//boxBlock.addItemListener(myItemListener);
			//boxFeld.addItemListener(new FeldAuswahl());
			
	

		
    /* sbEast = new JScrollBar(JScrollBar.VERTICAL, 0, 10, 0, 255);
       sbEast.addAdjustmentListener(this);
       panel.add(sbEast, BorderLayout.EAST);
       //Horizontaler Schieberegler
       sbSouth = new JScrollBar(JScrollBar.HORIZONTAL, 0, 10, 0, 255);
       sbSouth.addAdjustmentListener(this);
       panel.add(sbSouth, BorderLayout.SOUTH); */
       
       
       //panel.add(new JLabel("Karte " + i));
       //JButton next = new JButton("Weiter");
       //next.addActionListener(new NextTabActionListener());
       //panel.add(next);
	   //JScrollPane scroll_panel = new JScrollPane();   //hier
		
       tp.addTab(" Auswahl ", panel);
       tp.addTab(" Fotos ", panel1);
     //}
     getContentPane().add(tp, BorderLayout.CENTER);
 
}

class NextTabActionListener
   implements ActionListener
   {
     public void actionPerformed(ActionEvent event)
     {
       int tab = tp.getSelectedIndex();
       tab = (tab >= tp.getTabCount() - 1 ? 0 : tab + 1);
       tp.setSelectedIndex(tab);
       ((JPanel)tp.getSelectedComponent()).requestDefaultFocus();
     }
   }



   
   public static void main(String[] args) throws SQLException
   {
	   
     Listing3803 frame = new Listing3803();
     frame.setLocation(100, 100);
     frame.setSize(300, 500);
     //frame.Scrollable(true);
     frame.setVisible(true);
     

     
     
   }



}
danke im voraus
 
Also ich finde Deinen Code mehr als nur konfus.

außerdem werden wild Dinge auf das Panel geadded ohne einen LayoutManager zu benutzen.

Das kann und wird so NIE funktionieren.

Schau Dir das Swing Tutorial an, das ist wirklich einfach zu verstehen.

Außerdem zum Thema "Wie gehe ich mit Scrollbars um" folgender Link:
Java Tutorial

lr
 
also das funktioniert... irgendwie! LayoutManager??? ich versuche mir das ganze selbst anzueignen, kann niemanden fragen weil die sich alle nicht auskennen. wenn die java höre denken die es sind waffeln beim k+k... wie kann ich den LayoutManager benutzen.
 
Wenn du nicht weißt, was LayoutManager sind und du es dir sowieso alles selbst beibringst, wäre ein anständiges Tutorial (z. B. das oben gepostete) das Beste für den Anfang. Learning by Doing hin oder her, aber imho sollte man erstmal die Grundkenntnisse sich aneignen.
 
Link zu Layout-Manager HOWTO

ich schlag vor Du fängst an hier zu lesen. Oder besser schau Dir das Tutorial von Anfang an an.

lr

Sorry, ist nicht böse gemeint, aber ich glaube bei Dir fehlt einfach ne ganze Menge Grundverständnis.
 
das ist nun mal so wenn man ins kalte wasser geworfen wird und gesagt bekommt "mach mal" kennt ihr das auch???
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben