Integer über addElement in Vector ?

Status
Nicht offen für weitere Antworten.
F

Flow25

Gast
Hallo zusammen,

ich habe eine Klasse die von der Klasse Vector abgeleitet ist. Nun habe ich dort eine Integer-Variable, die ich gerne über die Methode addElement dem Vector hinzufügen würde. Da Vectoren aber nur Objects aufnehmen können, muss ich den Integer-Wert entweder in einen String oder ein Object (läuft auf selbe hinaus) umwandeln.
Mit toString gehts anscheinend nicht.

Kann mir jemand sagen wie das geht?

Gruß Flow25
 
B

Beni

Gast
Mit dem Integer-Wrapper geht das gut:
Code:
Vector vector = ...
int value = ...

vector.add( Integer.valueOf( value ));
...
value = ((Integer)vector.get( 0 )).intValue();

Alternativ kannst du auch Java 1.5 benutzen:
Code:
Vector<Integer> vector = ...
int value = ...

vector.add( value );
....
value = vector.get( 0 );
 
F

Flow25

Gast
Danke für die schnellen Antworten. Allerdings habe ich noch eine andere Frage:

Ich erstelle eine Tabelle mit dem Konstruktor JTable(Vector rowData, Vector columnNames).
Nun werden zwar die Daten, aber nicht die Überschriften angezeigt.
Muss man das explizit einstellen??

Gruß Flow25
 

Isaac

Bekanntes Mitglied
Flow25 hat gesagt.:
Hallo zusammen,

ich habe eine Klasse die von der Klasse Vector abgeleitet ist. Nun habe ich dort eine Integer-Variable, die ich gerne über die Methode addElement dem Vector hinzufügen würde. Da Vectoren aber nur Objects aufnehmen können, muss ich den Integer-Wert entweder in einen String oder ein Object (läuft auf selbe hinaus) umwandeln.
Mit toString gehts anscheinend nicht.

Kann mir jemand sagen wie das geht?

Gruß Flow25


Verstehe ich garnicht, Integer ist doch ein Objekt und damit steht einem addElement nichts im Weg.
 

Isaac

Bekanntes Mitglied
Dann wäre es am besten..

Vector v = new Vector();
v.addElement(new Integer(deinIntValue));

damit hat sich die Sache dann erledigt. du brauchst nicht über Strings oder sowas zu gehen.
 

Wildcard

Top Contributor
Isaac hat gesagt.:
Dann wäre es am besten..

Vector v = new Vector();
v.addElement(new Integer(deinIntValue));

damit hat sich die Sache dann erledigt. du brauchst nicht über Strings oder sowas zu gehen.

Genau das eben nicht. Wie Beni schon geschrieben hat:
Code:
Integer.valueOf(intValue)
um keine unnötigen Objekte zu erzeugen.
 
F

Flow25

Gast
OK vielen Dank, bisher habt ihr mir ja wunderbar geholfen.

Nun zu einer neuen Frage:

Ich habe ein Hauptfenster (JFrame). Bei einem Klick auf einen Menüpunkt öffnet sich ein JDialog in dem eine JTable alle User der Anwendung auflistet. Doppelklickt der Benutzer nun auf eine der Zeilen (also einen Benutzer) sollte eigentlich ein neuer JDialog geöffnet werden. Als Vaterframe für diesen JDialog habe ich natürlich nicht den vorherigen aufrufenden JDialog sondern das Hauptfenster übergeben. Nur irgendwie wird bei einem Doppelklick auf die Tabellenzeile kein JDialog geöffnet. In die korrekte Funktion springt das Programm allerdings.

Weis da jemand ne Lösung? Kann man aus einem JDialog überhaupt einen weiteren JDialog aufrufen?

Gruß Flow25
 
F

Flow25

Gast
Der aufrufende JDialog ist eine Klasse Userliste. Diese Klasse wiederum erzeugt ein Objekt der Klasse Usertabelle, welche die Tabelle der User im JDialog darstellt. Das Ereignis des Doppelklicks wird nun in der Klasse Usertabelle mit MouseEvent abgefragt. Gebe ich dort also zum Aufruf des neuen JDialogs folgendes an:

JDialog ed = new EigeneDaten(this, co, u);

(this soll dabei der Vaterframe sein) so meckert Java, weil this in diesem Fall das Objekt der Klasse Usertabelle darstellt und kein Frame oder Dialog ist.

Wie kann ich das hinbekommen?

Gruß Flow25
 
B

Beni

Gast
Du musst das Vaterframe oder den Vaterdialog rausfinden.

Dazu kannst du die SwingUtilities (überhaupt eine tolle Klasse, guck sie dir mal an :wink: ) benutzen:
Code:
Dialog parent = (Dialog)SwingUtilities.getWindowAncestor( this );
Das geht allerdings nur, wenn "this" auf einem Dialog ist, wenns auf einem Frame, musst du hier "Dialog" durch "Frame" ersetzen.
 
S

stev.glasow

Gast
##[edit]
Wieso kann er nicht einfach den Parent-Dialog übergeben?:

Dialog a = new Dialog(...);
Dialog b = new Dialog(a, ...);
[frageUmformulier]
Wieso holst du dir den Parent extra? Den kennt er doch schon. Im Beispiel wär's doch die Variable a
 
F

Flow25

Gast
Naja den jeweiligen Vaterframe bzw. Vaterdialog übergebe ich jeweils dem Kostruktor.
Den kenne ich dann also immer. Mein Problem ist nur das der zweite JDialog nicht angezeigt
wird. Und das egal ob ich dem JDialog den vorigen aufrufenden JDialog oder das Hauptfenster
als Vaterframe übergebe.

Kann mir denn da niemand helfen?

Gruß Flow25
 
F

Flow25

Gast
OK, aber der geht über mehrere Klassen.
In diesem Fall übergebe ich dem Dialogfenster EigeneDaten als ParentFrame den aufrufenden JDialog Userliste.

Hier ein Teil der Klasse Hauptfenster. Es wird ein Objekt des JDialog Userliste gebildet.

Code:
public class Hauptfenster extends JFrame 
implements ActionListener
{
    private DBConnector dbc;
    private static Connection conn;
    private User aktUser;

    public Hauptfenster(User user)
    {
        super("Kostenrechnung - Hauptmenü");
        aktUser = user;
		
        setJMenuBar(new MenueLeiste(this, aktUser));  
		
			    
        dbc = new DBConnector();
        conn = dbc.getConnection();
		
    }

public void actionPerformed(ActionEvent event)
{
    String cmd = event.getActionCommand();
    if (cmd.equals("AlleDaten"))
    {
        try
        {
	String plaf = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
	UIManager.setLookAndFeel(plaf);
        }
       catch (Exception ex)
        {
               System.out.println("Fehler bei der Bildung des AlleDaten-Objekts");
       	ex.printStackTrace();
        }
	    		
        Userliste ul = new Userliste(this, conn, aktUser);
        ul.setLocation(50,50);
        ul.setSize(900,600);
        ul.setVisible(true);
        ul.setFocusableWindowState(true);
    }
}

Hier ein Teil der Klasse UserListe. Es wird ein Objekt der Klasse Usertabelle gebildet.

Code:
public class Userliste extends JDialog
implements ActionListener
{
	
    private User aktuellerUser;
    private Container contentPane;
    private Connection co;
    private JTable tabelleUser;	
    private Vector vecUser, vecHeaders;
    private JPanel tabellenPanel;	

    public Userliste(JFrame parentFrame, Connection conn, User user)
    {
        super(parentFrame, "Benutzerdaten",true);
        co = conn;
        aktuellerUser = user;
        Init(parentFrame);
    }

    public Init (JFrame pFrame)
    {
        ...

            tabelleUser = new Usertabelle(vecUser, vecHeaders, this, co)
            {
	public boolean isCellEditable(int rowIndex, int vColIndex)
	{
		return false;
	}
            };
    }

Und hier die gesamte Klasse Usertabelle in der nach einem Doppelklick auf eine Zeile ein weitere JDialog geöffnet werden soll. Klappt aber nicht.

Code:
public class Usertabelle extends JTable
implements MouseListener
{

	  private JDialog hptFrame;	
                  private Vector vectorDaten;					
	  private Connection co;
	  private User u;
	
	  public Usertabelle(Vector daten, Vector header, JDialog parentFrame, Connection conn)
	  {
		
	  	super(daten, header);
	  	
		vectorDaten = daten;
		
		
		hptFrame = parentFrame; 
		
		co = conn;
		
		//Initialisierung der Tabelle
		setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
		setColumnSelectionAllowed(false);
		setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		setSelectionForeground(Color.yellow);
		setSelectionBackground(Color.blue);
		setRowHeight(25);
		//setShowVerticalLines(false);	
		//Ein SelektionsListener und ein MausListener werden registriert
		getSelectionModel().addListSelectionListener(this);
		addMouseListener(this);
			    
	  }
	
	
	
	public void mouseClicked(MouseEvent event)
	{
	  	   
	}
	    
	public void mouseEntered(MouseEvent event)
	{
	}
	  
	  
	public void mouseExited(MouseEvent event)
	{
	}
	  
	public void mouseReleased(MouseEvent event)
	{
		  	
	}
	
	public void mousePressed(MouseEvent event)
	  {
		 int rowEinfach=0;			//Für Einfachklick
		 int rowDoppel=0;			//Für Doppelklick
		 Point point;
		 int columnEinfach=0;
	                 int id = 0;
	     
		 //Einfachklick
		 if (event.getClickCount() == 1)
		 {
		   	//Die angeklickte Zeile und Spalte wird gespeichert
		   	point = event.getPoint();
		   	rowEinfach = rowAtPoint(point);
		   	columnEinfach = columnAtPoint(point);
		   
		   	//Die Markierung bzw. Selektion wird festgelegt -> Ganze Zeile selektiert
		   	this.setColumnSelectionInterval(0, this.getColumnCount() - 1);
		   	this.setRowSelectionInterval(rowEinfach, rowEinfach); 
		    
		    //Ausgabe der angeklickten Zeile in der Konsole
		   	System.out.println("" + rowEinfach + "/" + columnEinfach);
		 }
		 
		 //Doppelklick
		 else if (event.getClickCount() == 2)
		 {
		   	
		   	//Bestimmen des Index der angeklickten Zeile    	
		   	point = event.getPoint();
		   	rowDoppel = rowAtPoint(point);
		   	this.setRowSelectionInterval(rowDoppel,rowDoppel);
	        
	        	        
	                	Object vecElement = getVectorOfRow(rowDoppel);
	         
	                                if (vecElement instanceof User)
			{
				u = (User)vecElement;
			}
	        
	       	   	JDialog ed = new EigeneDaten(hptFrame, co, u);
	                  
		 }
	     
	  }

	
	
	 public Object getVectorOfRow(int indexRow)
	  {
	    Object obj = vectorDaten.elementAt(indexRow); 
	    return obj;
	  }
	
}

Und schlussendlich die Klasse EigeneDaten. Dies ist der nicht erscheinende JDialog.



Code:
public class EigeneDaten extends JDialog

{
    private int ergebnisAbfrage;
    private User aktuellerUser;
    private Container contentPane;
    private Connection co;
    private JLabel labVorname, labNachname, labPosition, labNiederlassung, labTelefon, labFax, labEmail,labNickname, labPasswort, labRechte;
	private JTextField txtVorname, txtNachname, txtPosition, txtNiederlassung, txtTelefon, txtFax, txtEmail,      txtNickname, txtPasswort;
	private JButton buttOK, buttAbbrechen;
	private JComboBox cmbRechte;
	
	public EigeneDaten(JFrame parentFrame, Connection conn, User user)
	{
	    super(parentFrame, "Eigene Daten",true);
	    co = conn;
	    aktuellerUser = user;
	    Init();
	}
	
	public EigeneDaten(JDialog parentFrame, Connection conn, User user)
	{
		super(parentFrame, "Eigene Daten",true);
	    co = conn;
	    aktuellerUser = user;
	    Init();
	}

...

Hoffe ihr könnt damit was anfangen. Beim Debuggen springt das Programm auch in die Zeile
JDialog ed = new EigeneDaten(hptFrame, co, u); aber der Dialog erscheint nicht.

Gruß Flow25
 
F

Flow25

Gast
OK, ich habs gerade selbst rausgefunden. Hinter dem Aufruf des Dialog-Fensters gehört natürlich auch

ed.setSize ...
ed.setLocation ...
ed.setVisible(true);

Das hab ich die ganze Zeit übersehen. Nun funktioniert das Ganze einwandfrei.

Vielen Dank für Eure Hilfe und Unterstützung. Ich werde mich bei Problemen wieder melden.

Gruß Flow25
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Integer-Objekt über Hash-Funktion in Array ablegen Java Basics - Anfänger-Themen 1
B Erste Schritte Integer Eingabe über Scanner mit Abfangen von Eingabefehlern Java Basics - Anfänger-Themen 3
-horn- Was passiert, wenn Zähler über Integer Max läuft? Java Basics - Anfänger-Themen 9
U int to String über Integer Java Basics - Anfänger-Themen 6
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
MoxMorris Integer.MAX_VALUE und Double.MAX_VALUE Unterschied Java Basics - Anfänger-Themen 3
Jul1n4tor Scanner error bei Eingabe die kein Integer ist Java Basics - Anfänger-Themen 4
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
volcanos Addition -> List<Integer> mit Arrays.asList() versus List<Integer>ArrayList<>() Java Basics - Anfänger-Themen 14
JavaBeginner22 Integer in String umwandeln Java Basics - Anfänger-Themen 7
sserio printf integer formatting Java Basics - Anfänger-Themen 17
M Unterschied Integer.toString(x) und x.toString() Java Basics - Anfänger-Themen 22
H Uhrzeitespanne in Integer Wert umrechnen Java Basics - Anfänger-Themen 1
T Java Integer multiplizieren Java Basics - Anfänger-Themen 6
H Fehler bei integer Division Java Basics - Anfänger-Themen 28
D Methoden Plathhalter für Integer in einer Methode Java Basics - Anfänger-Themen 19
StevenGG Java swing "New Integer" Java Basics - Anfänger-Themen 5
C Integer in Vierer-Zahlblöcke aufteilen Java Basics - Anfänger-Themen 11
L integer Java Basics - Anfänger-Themen 6
Zeppi Integer umschreiben Java Basics - Anfänger-Themen 5
rafi072001 Integer Anomalie Java Java Basics - Anfänger-Themen 7
Eule25 Arbeit mit long und int, Error: integer number too large Java Basics - Anfänger-Themen 2
J Transformation zweier Integer in ein Double Java Basics - Anfänger-Themen 26
M Integer aus aus einer Klasse in andere speichern Java Basics - Anfänger-Themen 12
L Iterieren durch eine ArrayList. Integer Array wird übergeben Java Basics - Anfänger-Themen 17
D Fibonacci overflow integer Java Basics - Anfänger-Themen 8
J Eine Position im String durch einen Integer - Wert teilen Java Basics - Anfänger-Themen 5
S Integer Wert wird nicht übernommen Java Basics - Anfänger-Themen 2
V int zu Integer und String Java Basics - Anfänger-Themen 6
H Datentypen Was für eine Format verbirgt sich hinter dem Integer-Wert 053? Java Basics - Anfänger-Themen 2
L Baum aus Integer Liste erstellen Java Basics - Anfänger-Themen 0
M Regex zum Integer.parseInt Java Basics - Anfänger-Themen 4
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
S Vergleichen ob der Integer der benutzt eingeben werden soll überhaupt ein int ist Java Basics - Anfänger-Themen 1
S Letzte Zahl eines Integer auslesen? Java Basics - Anfänger-Themen 3
K String in Integer umwandeln Java Basics - Anfänger-Themen 4
G Überprüfen ob alle Ziffern von 1-9 in einem Integer vorhanden sind Java Basics - Anfänger-Themen 6
D integer negativen Wert abspeichern Java Basics - Anfänger-Themen 3
A Mit JComboBox Ergebnis einen Integer aus einer anderen Klasse aufrufen. Java Basics - Anfänger-Themen 2
J Methoden Moving a n integer matrix Java Basics - Anfänger-Themen 3
R Eingabe String umwandeln zu Integer Werten Java Basics - Anfänger-Themen 8
M Input/Output Java Swing: Prüft ob Text aus JTextField ausschließlich Integer enthält Java Basics - Anfänger-Themen 15
J Erhöhen eines Values als Integer bei gleichen Keys in HashMap Java Basics - Anfänger-Themen 12
CptK Datentypen Integer ArrayList sortieren Java Basics - Anfänger-Themen 2
J Methoden Equals Methode für Integer und Objekte überschreiben? Java Basics - Anfänger-Themen 9
CptK Bestimmten Integer Wert aus Array filtern Java Basics - Anfänger-Themen 2
L String in Integer umwandeln Java Basics - Anfänger-Themen 3
K Datentypen String zu Integer parsen Java Basics - Anfänger-Themen 2
B Liste von Integer -> Nächster Wert bekommen Java Basics - Anfänger-Themen 5
S Integer aus Array filtern Java Basics - Anfänger-Themen 4
F Referenzvariable vom Typ "Integer" definieren. (Klausuraufgabe) Java Basics - Anfänger-Themen 5
M set Integer bzw. set null mit SQL DB Java Basics - Anfänger-Themen 9
H Bubblesort-Zwei Integer auf Dekade vergleichen. Java Basics - Anfänger-Themen 6
B Variablen integer im Array Java Basics - Anfänger-Themen 5
C Liste o.ä. erstellen mit <Integer, <Integer, String> Java Basics - Anfänger-Themen 7
R Kompletten String umwandeln in Integer Java Basics - Anfänger-Themen 10
H 32-Bit Zahl (Integer) in eine IPv4 Adresse umwandeln? Java Basics - Anfänger-Themen 2
Orkanson Datentypen Integer in String umwandeln/hinzufügen Java Basics - Anfänger-Themen 3
O Datentypen Integer mit führender Null Java Basics - Anfänger-Themen 13
M Argument in Integer verwandeln und das Doppelte davon printen Java Basics - Anfänger-Themen 9
D Fehler: String zu Integer Java Basics - Anfänger-Themen 7
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
b1ck Integer initialisieren bei do-while-Schleife Java Basics - Anfänger-Themen 11
E Integer und Array übergeben Java Basics - Anfänger-Themen 9
W Fehler bei Integer.parseInt() Java Basics - Anfänger-Themen 4
R String in Integer Java Basics - Anfänger-Themen 11
D Komischer Fehler nach <Integer> List Java Basics - Anfänger-Themen 2
J Integer in Array einlesen Java Basics - Anfänger-Themen 14
J Warum ist das ein Unterschied (Integer / int) Java Basics - Anfänger-Themen 2
H Integer in Datei schreiben Java Basics - Anfänger-Themen 2
B OOP Cannot instantiate the type AuDList<Integer> Java Basics - Anfänger-Themen 18
3 ArrayList Integer Wrapper Klasse als Ersatz für normale Arrays Java Basics - Anfänger-Themen 10
K Methoden Integer runden/aufrunden Java Basics - Anfänger-Themen 2
E Erste Schritte Lower Bounded Wildcards <? super Integer> Java Basics - Anfänger-Themen 1
M Datentypen Integer und Float Konflikt Java Basics - Anfänger-Themen 3
J Integer-Werte in Array ein- bzw. auslesen Java Basics - Anfänger-Themen 7
T Integer Wert in andere Methode übergeben Java Basics - Anfänger-Themen 2
N Probleme bei Speicherung eines Integer-Array in Datei speichern Java Basics - Anfänger-Themen 3
C Zwei Integer Arrays "kombinieren" Java Basics - Anfänger-Themen 10
D Integer Fehlermeldung exception Java Basics - Anfänger-Themen 4
M Höchster Integer aus 9 Zahlen Java Basics - Anfänger-Themen 13
I Klassen Integer von BL in GUI übergeben | Fehler Java Basics - Anfänger-Themen 4
S Integer/Value-Paar in Prio-Queue ohne Comparator Java Basics - Anfänger-Themen 5
D Datentypen Ein Integer Feld in einen String wandeln ohne Nullenunterdrückung Java Basics - Anfänger-Themen 6
R integer zahlenfolge speichern, ausgeben Java Basics - Anfänger-Themen 1
L Summer aller Integer-Zahlen im Intervall [x,y] Java Basics - Anfänger-Themen 6
K ArrayList<Integer> problem Java Basics - Anfänger-Themen 3
L Vom Benutzer eingebene Integer addieren und ausgeben. Java Basics - Anfänger-Themen 11
S integer absteigend sortieren Java Basics - Anfänger-Themen 2
S ArrayList<ArrayList<Integer>> sortieren Java Basics - Anfänger-Themen 3
T Variablen Integer in Stmt Java Basics - Anfänger-Themen 13
B gemischter string zu integer Java Basics - Anfänger-Themen 22
R Big Integer Java Basics - Anfänger-Themen 8
B Variablen Wertezuweisung bei integer Java Basics - Anfänger-Themen 5
J Integer Werte in Array einlesen Java Basics - Anfänger-Themen 6
E Integer oder Strings spiegeln (in while loop) Java Basics - Anfänger-Themen 6
D String mit Integer Variablen Namen vergleichen, möglich? Java Basics - Anfänger-Themen 6
G Was passiert bei einem Overflow von zwei Integer Java Basics - Anfänger-Themen 6
H Integer.toString(int i) vs. String.valueOf(int i) Java Basics - Anfänger-Themen 12
K Date cannot be cast to java.lang.Integer Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben