wie kennt ein button sich selber?

Status
Nicht offen für weitere Antworten.

H2SO3-

Bekanntes Mitglied
Hi, folgendes Beispiel:

ich erzeuge in einer schleife 10 buttons.
Wenn ich nun einen dieser button drücke möchte ich natürlich das der button auch weiß, das er zb. der button nr 5 ist und dann meinetwegen in ein textfeld die 5 reinschreibt.

Habe schon ein wenig rumprobiert aber nicht wirklich was gefunden, das der button sich selber kennt. Hätte nicht gedacht das dies solch ein problem sein könnte.
 

0x7F800000

Top Contributor
Wenn ich nun einen dieser button drücke möchte ich natürlich das der button auch weiß, das er zb. der button nr 5
was soll man sich denn unter dieser Aussage vorstellen? Nummer 5 bezüglich welcher ordnung? Der fünfte Button auf dem Panel von oben? Von unten? Fünfte wenn man die buttons entlang einer spirale zählt? Flächenmäßig größte Button? Button mit dem fünftkleinsten Umfang? Button mit 5 Buchstaben im Label? Fünfte jemals von Menschenhand erschaffene Button (ein bisschen zu Spät...)? Oder was... :bahnhof:

setName()? Was'n das, wozu soll das gut sein? :autsch:
 
Zuletzt bearbeitet:

H2SO3-

Bekanntes Mitglied
das mit dem namen habe ich vesucht, hat leider nicht geklapptm bin so nur an den namen des letzten buttons bekommen.
 

0x7F800000

Top Contributor
Ne, jetzt bitte Vollbremsung erstmal.
Du suchst grad nach einer Umsetzung für irgendein Workaround um irgendein Problem herum, das es gar nicht gibt. :noe:
Sag lieber konkret, was du damit machen willst, dann können wir auch gleich sagen wie es richtig geht, statt hier rumzurätseln, wie man "Buttons nummeriert".
 

H2SO3-

Bekanntes Mitglied
so, hier ist ein kleines beispiel.

In einer forschleife werden drei buttons erzeugt. Jedem wird eine einzigartiger Namer vergeben. Jedoch bekomme ich immer nur den namen des zuletzt erzuegten button.

[HIGHLIGHT="Java"]import java.awt.BorderLayout;

import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.Rectangle;

public class Beispiel extends JFrame {

private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JLabel jLabel = null;
private JButton button = null;
/**
* This is the default constructor
*/
public Beispiel() {
super();
initialize();
erzeugeButtons();
}

private void erzeugeButtons()
{
for(int i = 0; i < 3; i++)
{
jContentPane.add(getButton("Titel" + i, (i * 30)));
}
}

private JButton getButton(String titel, int height)
{
button = new JButton();
button.setBounds(10, height, 50, 20);
button.setName(titel);
button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jLabel.setText(button.getName());
}
});
return button;
}

/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}

/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(214, 47, 38, 16));
jLabel.setText("JLabel");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(jLabel, null);
}
return jContentPane;
}

}[/HIGHLIGHT]

wie kann ich es nun machen, das im lebel immer der titel desjenigen buttons erscheint. Also Titel0, Titel1 oder halt auch Titel2 (welcher ja nun immer erscheint)
 
Zuletzt bearbeitet von einem Moderator:

Ark

Top Contributor
Also ich sehe das genauso wie 0x7F800000: Sag uns lieber, was du letztendlich erreichen willst. Alles andere wird hässlich.

Ark
 

benders

Aktives Mitglied
Das ist einfach!
Du hast oben button definiert;
Dieser Button wird also bei jedem Durchlauf der Schleife überschrieben;

Reicht der Hinweis?
Kannst Du es selber umschreiben?
 

H2SO3-

Bekanntes Mitglied
danke benders Dein Tipp hats gebracht. Ist ja eigentlich ganz logisch, aber so ist es ja meistens wenn man es weiß :-\

Was ich machen will entspricht einigermaßen dem hier.

Anhand einer Liste erzeuge ich einträge und unter anderem buttons. Beim Drücken eines soll der eintrag mit dem entsprechendem button gelöscht bzw umgewandelt werden.

In C# gab es für sowas direkt ein feld in jedem Object, dem ich alles mitgeben konnte.
Sowas scheint es hier ja leider nicht zu geben. Naja zur not hilft auch der name.
 

0x7F800000

Top Contributor
Anhand einer Liste erzeuge ich einträge und unter anderem buttons. Beim Drücken eines soll der eintrag mit dem entsprechendem button gelöscht bzw umgewandelt werden.
Einträge verwalten ist aufgabe des Models. Für's Model sind die Buttons oder gar ihre namen schall und rauch. Was du da machst sollte man leiber sinnvoll auf listener bzw Actions verteilen.:bahnhof:
 

H2SO3-

Bekanntes Mitglied
@0x7F800000

für verbesserungen bin ich immer ganz ohr.
Hast du vielleicht einen tip wo ich mir noch einiges zu models durchlesen kann? Leider ist es bei google dazu etwas schwer zu finden. Gibt zuviele Menschliche models *gg*
 

Ebenius

Top Contributor
Man kann das ActionEvent nach der Quelle fragen, geht das nicht?
Doch das geht. ActionEvent.getSource() (geerbt EventObject).

Man kann außerdem auch das ActionCommand des Buttons setzen und dieses dann per ActionEvent.getActionCommand() abfragen. Das ist wesentlich besser, als sich auf den Text zu verlassen, den man auch schnell mal ändern können muss, wenn ein Kunde sagt: "Nö, das hätte ich aber gern klein geschrieben". :)

Ebenius
 

Leroy42

Top Contributor
was soll man sich denn unter dieser Aussage vorstellen? Nummer 5 bezüglich welcher ordnung? Der fünfte Button auf dem Panel von oben? Von unten? Fünfte wenn man die buttons entlang einer spirale zählt? Flächenmäßig größte Button? Button mit dem fünftkleinsten Umfang? Button mit 5 Buchstaben im Label? Fünfte jemals von Menschenhand erschaffene Button (ein bisschen zu Spät...)? Oder was... :bahnhof:

setName()? Was'n das, wozu soll das gut sein? :autsch:

LOL! :lol: :applaus:
 

AmunRa

Gesperrter Benutzer
Und wenns nur darum geht welcher Button gedrückt wurde könnte man das ganze dann doch mit
ActionEvent.getActionCommand(); machen


[HIGHLIGHT="Java"]

import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.Rectangle;


public class TEst extends JFrame
{

public static void main(String[] args){new TEst();}

private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JLabel jLabel = null;
private JButton button = null;
/**
* This is the default constructor
*/
public TEst() {
super();

initialize();
erzeugeButtons();
setVisible(true);
}

private void erzeugeButtons()
{
for(int i = 0; i < 3; i++)
{
jContentPane.add(getButton("Titel" + i, (i * 30)));
}
}

private JButton getButton(String titel, int height)
{
button = new JButton();
button.setBounds(10, height, 50, 20);
button.setName(titel);
button.setActionCommand(titel); //<-------
button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jLabel.setText(e.getActionCommand()); //<-----
JButton j= (JButton)(e.getSource()); //<-----
jContentPane.remove(j); //<------
}
});
return button;
}

/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}

/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(214, 47, 38, 16));
jLabel.setText("JLabel");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(jLabel, null);
}
return jContentPane;
}


}

[/HIGHLIGHT]
 
Zuletzt bearbeitet:

benders

Aktives Mitglied
setName() nicht zu verwechseln mit setText().

Mein Sohn heißt Dominik. Auch wenn er einen roten Pullover an hat oder sein Gesicht voll Schokolade ist. :)
 

benders

Aktives Mitglied
Vollkommen RICHTIG! Ich bin auch der Meinung, dass Eure Ansätze besser sind.

Aber ohne "Schwefelsäure" zu nahe tretten zu wollen, wollte ich einem Anfänger eine Lösung bieten, die seiner Denkweise entspricht. Ein funktionierendes Programm motiviert doch zum weitermachen.
 

Ebenius

Top Contributor
Aber ohne "Schwefelsäure" zu nahe tretten zu wollen, wollte ich einem Anfänger eine Lösung bieten, die seiner Denkweise entspricht. Ein funktionierendes Programm motiviert doch zum weitermachen.
  1. finde ich button.setActionCommand("copy"); und "copy".equals(event.getActionCommand); einfacher als den Button rauszufischen und
  2. ist es schweflige Säure. :)

Ebenius
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Eclipse kennt mein Button nicht... Java Basics - Anfänger-Themen 5
M Kennt jemand die richtige Lösung? Java Basics - Anfänger-Themen 7
K Ein Objekt Auto kennt den Inhalt seines links und rechtsstehenden Autos, wie soll man das ermöglichen Java Basics - Anfänger-Themen 2
M Eclipse kennt keine String Klasse mehr Java Basics - Anfänger-Themen 1
B Java -Turtle Grafik - kennt sich jemand damit aus? Java Basics - Anfänger-Themen 1
B Wer kennt einen Link für vollständiges, leichtverständliches "Game of Life"? Java Basics - Anfänger-Themen 1
M java kennt Variable nicht? Java Basics - Anfänger-Themen 2
V kennt jemand empfehlenswerte online tutorials zur Hibernate ? gerne auch englisch. Java Basics - Anfänger-Themen 4
J Kennt run() den ausführenden Thread? Java Basics - Anfänger-Themen 7
T Opaque kennt er nicht/ programm beenden?? Java Basics - Anfänger-Themen 9
A Eclipse kennt setLayout und add nicht!? Java Basics - Anfänger-Themen 5
S Mein Computer kennt "javac" und "java" nicht mehr! Java Basics - Anfänger-Themen 6
S Kennt jemand die Default-Cache Zeit beim Java-Plugin? Java Basics - Anfänger-Themen 2
A Backtracking - kennt Java keine Rücksprungmarken? Java Basics - Anfänger-Themen 15
K Bresenham Algo // wer kennt sich aus? Java Basics - Anfänger-Themen 4
K Kennt jemand ein gutes Tutorial für Wertübergabe? Java Basics - Anfänger-Themen 4
N kennt ihr ein gutes java forum für anfänger? Java Basics - Anfänger-Themen 5
Maxq Klassen Actionen in Button implementieren Java Basics - Anfänger-Themen 6
B Wie kann ich folgende Klasse/Methode per Button ausführen? Java Basics - Anfänger-Themen 1
JavaBeginner22 Button Text verändern Java Basics - Anfänger-Themen 1
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17
Schniffi Nur bestimmte Bilder aus einem Array auf Image Button anzeigen lassen Java Basics - Anfänger-Themen 3
M Problem mit Klassenverständnis und Button Java Basics - Anfänger-Themen 8
B Zurück Button erstellen Java Basics - Anfänger-Themen 1
Tom/S Button info Java Basics - Anfänger-Themen 2
I Exception bei Button mit wait() und notifyAll() Java Basics - Anfänger-Themen 3
T JSP, Button-Color change. Java Basics - Anfänger-Themen 1
L hilfe run button funktioniert nicht Java Basics - Anfänger-Themen 13
S Erste Schritte Button einen Wert zuweisen & diesen ausgeben Java Basics - Anfänger-Themen 2
S Counter Label Button Java Basics - Anfänger-Themen 4
J Button über Pfeiltasten bewegen Java Basics - Anfänger-Themen 8
J Button als Feld nutzen Java Basics - Anfänger-Themen 17
A JOPtionPaneOptionDialog Abfrage welcher Button gedrückt wurde? Java Basics - Anfänger-Themen 8
J JavaFX Label,Button zur Laufzeit Java Basics - Anfänger-Themen 30
B Button soll sowohl auf Klicken als auch auf die Enter-Taste reagieren Java Basics - Anfänger-Themen 9
S Klassenaufruf über JFrame Button Java Basics - Anfänger-Themen 3
G JTextField per Button speichern und an andere Klasse übergeben Java Basics - Anfänger-Themen 2
J Spiel mit Button klick starten Java Basics - Anfänger-Themen 9
X TextField-Inhalt mit Button in .txt-Datei speichern Java Basics - Anfänger-Themen 16
J Button klick bei eine bestimmten Zahl Java Basics - Anfänger-Themen 8
S JFrame mit Hintergrundbild und Button Java Basics - Anfänger-Themen 4
P Upload Button funktioniert nicht Java Basics - Anfänger-Themen 13
I Ordnung JLayeredPane mit Button ändern Java Basics - Anfänger-Themen 5
A JLabel mit button drücken verändern Java Basics - Anfänger-Themen 6
H Swing Button hat falsche Größe Java Basics - Anfänger-Themen 5
CptK mit javafx button erstellen Java Basics - Anfänger-Themen 1
AppGuruCode962 Button mit Textfield verbinden Java Basics - Anfänger-Themen 13
L Java gui reset button Fehler!? Java Basics - Anfänger-Themen 2
L Java reset button Problem Java Basics - Anfänger-Themen 3
L Java reset button Problem Java Basics - Anfänger-Themen 9
L Erste Schritte AndroidStudio Button - Nur Großbuchstaben Java Basics - Anfänger-Themen 2
V JAVA Button Java Basics - Anfänger-Themen 4
M Listener für Button - Wert von Variablen verändern Java Basics - Anfänger-Themen 14
S OOP Button erst nach 2x klicken deaktivieren Java Basics - Anfänger-Themen 4
J Button in anderer Klasse ändern Java Basics - Anfänger-Themen 3
A Fenster mit Button aufrufen Java Basics - Anfänger-Themen 3
V Button/Event wird nicht ausgeführt, was tun? Java Basics - Anfänger-Themen 2
J Bild in Button einsetzen Java Basics - Anfänger-Themen 6
S button kommt durch bild Java Basics - Anfänger-Themen 13
I GUI Button Postition festlegen Java Basics - Anfänger-Themen 4
Tacofan Welcher Button wurde zuerst gedrückt? Java Basics - Anfänger-Themen 4
K Interface Fenster mit 3 ComboBoxen und 1 Button Java Basics - Anfänger-Themen 13
J Best Practice Button isPressed o.ä. auswerten Java Basics - Anfänger-Themen 10
S zahl hoch und runter zählen per button Java Basics - Anfänger-Themen 25
G Email-sending Button Java Basics - Anfänger-Themen 9
K Input/Output JCheckBox mit Bestätigungs-Button Java Basics - Anfänger-Themen 22
A Nach Druck eines Buttons reagieren andere Button nicht Java Basics - Anfänger-Themen 3
P Auf Button-Klick außerhalb der GUI-Klasse reagieren Java Basics - Anfänger-Themen 10
C Ein Button soll Focus rausfinden und Methode starten Java Basics - Anfänger-Themen 9
S mit Java HTML Button drücken "lassen" Java Basics - Anfänger-Themen 8
GadgetSofa jComboBox mit dem Button verbinden. Aber wie?? Java Basics - Anfänger-Themen 4
R Button soll Wert 1 in Variable schreiben Java Basics - Anfänger-Themen 4
D Zurück Button -- Background wird nicht angezeigt Java Basics - Anfänger-Themen 4
S Button "Berechnen" geht nicht Java Basics - Anfänger-Themen 3
H Text in einen Button quetschen Java Basics - Anfänger-Themen 3
S Input/Output In Java Swing auf Button warten? Java Basics - Anfänger-Themen 9
B Home Button ausbleden ? Java Basics - Anfänger-Themen 8
M JMenuItem per Button hinzufügen Java Basics - Anfänger-Themen 2
Chava Testprojekt.Text.Image.Button Java Basics - Anfänger-Themen 4
G Button Event Java Basics - Anfänger-Themen 6
S Methode pausieren bis Button gedrückt wird Java Basics - Anfänger-Themen 5
K Button's mit versch. Aufgaben/ActionListener Java Basics - Anfänger-Themen 12
J Button erstellen mit for-Schleife Java Basics - Anfänger-Themen 10
llabusch Fenster per Button verschieben Java Basics - Anfänger-Themen 5
J Button wird nicht angezeigt (GUI) Java Basics - Anfänger-Themen 7
I Button abfragen ob er geklickt wurde Java Basics - Anfänger-Themen 4
S Eigenen Listener zu eigenen Button! Java Basics - Anfänger-Themen 5
P Aktion ausführen wenn Button geklickt wird Java Basics - Anfänger-Themen 7
M Button mit Bild und Text Java Basics - Anfänger-Themen 2
N Mehrere berechnungen auf einem Button legen? Java Basics - Anfänger-Themen 19
T aktivieren und deaktivieren von Radio Button Java Basics - Anfänger-Themen 2
K Compiler-Fehler Button cannot be resolved or is not a field Java Basics - Anfänger-Themen 6
G Button Prototyp erstellen Java Basics - Anfänger-Themen 5
A Erkennung eines Button im aktiven Fenster Java Basics - Anfänger-Themen 2
P JTabel größe ändern und button anzeigen Java Basics - Anfänger-Themen 5
T Button Text mit Action Listener [Hilfe!] Java Basics - Anfänger-Themen 10
V Robot kann Button nicht drücken warum? Java Basics - Anfänger-Themen 6
D Durch Button klick wert in JTextField einfügen Java Basics - Anfänger-Themen 5
C GUI - SWT - Button-Fehlermeldung Java Basics - Anfänger-Themen 5
A Button-Actions Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben