Erste Schritte Buttons mit actionlistener Problem

Dave It

Mitglied
Hallo. ich bin quasi neu hier und benötige Unterstützung..
ich bin gerade am Java lernen.
also blutiger Anfänger.

ich würde gerne den Button für die Legende so belegen, dass anschließend auf dem Panel eine Legende erscheint.
Also ein kleiner Text wie Hallo würde mir auch erstmal reichen.
Bislang bekomme ich es leider nur zustande, dass mein Panel sich rot färbt.


Java:
package LegendeButton;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Button extends 
        javax.swing.JFrame {

private JButton bLegende ; 
private JButton bEnde;
 

  Button(String title)
  
  {      
    
    super( title );                     
    setLayout( new FlowLayout() );      
     
 bEnde = new JButton("Ende");
 add(bEnde);
 bEnde.setToolTipText("Um zu beenden bitte hier drücken"); 
 bEnde.setName("bEnde");
 bEnde.addActionListener(
         new ActionListener(){
             @Override
             public void actionPerformed(
                     ActionEvent evt) {
                 System.exit(0);
                setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); 
               
             } });

 bLegende = new JButton("Legende");
 bLegende.setActionCommand( "L" );
 add( bLegende );     
 bLegende.setToolTipText("Um Legende anzuseigen bitte hier drücken");
 bLegende.setName("BLegende");
 bLegende.addActionListener(
         new ActionListener(){
             @Override
             public void actionPerformed(
                     ActionEvent evt) {
                 
                 if ( evt.getActionCommand().equals( "L" ) )
      getContentPane().setBackground(  Color.red  ) ;
   
  
                 
             }
         });
 
  } 
}

Ich komm einfach nicht weiter. bin über jede hilfe dankbar
 
Zuletzt bearbeitet:

SnowFall

Mitglied
Hallo Dave,

um dein Panel rot zufärben benötigst du auch erstmal ein Panel in deiner Java Klasse ;)
implementiere den ActionListener und füre dort deine Comandos aus , hält bei der größe des Programms alles etwas übersichtlicher.





Java:
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Fenster extends JFrame implements ActionListener{

	private JButton ende;
	private JButton legende;
	private JPanel panel;


	public Fenster(){
		setTitle("Hauptfenster");
		Container c = getContentPane();
		getContentPane().setLayout(null);
		
		this.ende = new JButton("ende");
		this.ende.setBounds(106, 8, 92, 20);
		c.add(this.ende);
		this.ende.addActionListener(this);
		
		this.legende = new JButton("Legende");
		this.legende.setBounds(216, 103, 89, 23);
		c.add(this.legende);
		this.legende.addActionListener(this);
		
		
		this.panel = new JPanel();
		this.panel.setBounds(300, 300, 150, 150);
		c.add(this.panel);
		this.panel.setBackground(Color.blue);
		
		setVisible(true);
	}
	
	
	
	
	@Override
	public void actionPerformed(ActionEvent e) {
		
		if(e.getSource() == this.ende){
			System.exit(0);
		}
		if(e.getSource()==this.legende){
			this.panel.setBackground(Color.RED);
		}
	
		
	}




	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Fenster fenster = new Fenster();
		
		
	}
	
	

}
 

Bqg_stylo

Mitglied
Habe den letzten Code von @snowfall noch etwas verfeinert damit du auch den Text bekommst den du anzeigen willst

Java:
package gui;

import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.*;
 
public class GUILegende extends JFrame implements ActionListener{
 

    private JButton ende;
    private JButton legende;
    private JPanel panel;
    //dein Label für den text und ein cklickzähler zum anzeigen /ausblenden
    private JLabel label;
    private int clickcount=0;
 
    public GUILegende(){
        setTitle("Hauptfenster");
        Container c = getContentPane();
        getContentPane().setLayout(null);
        this.setSize(800, 600);
        this.ende = new JButton("ende");
        this.ende.setBounds(106, 8, 92, 20);
        c.add(this.ende);
        this.ende.addActionListener(this);
       
        this.legende = new JButton("Legende");
        this.legende.setBounds(216, 103, 89, 23);
        c.add(this.legende);
        this.legende.addActionListener(this);
       
       
        this.panel = new JPanel();
        this.panel.setBounds(300, 300, 150, 150);
        c.add(this.panel);
        this.panel.setBackground(Color.blue);
        
        //Das coole an JLabel ist es versteht html und so kann man am einfachsten formatierungen vornehmen
        this.label=new JLabel("<html><i>Hallo hier der Text</i></html>");
        this.panel.add(label);
        label.setVisible(false);
       
        setVisible(true);
    }
   
   
   
   
    @Override
    public void actionPerformed(ActionEvent e) {
       
        if(e.getSource() == this.ende){
            System.exit(0);
        }
        if(e.getSource()==this.legende){
            this.panel.setBackground(Color.RED);
                //durch modulo2 wird bei jedem 2ten click angezeigt oder ausgeblendet
                if(clickcount%2==0){
            	label.setVisible(true);
            }
            else{
            	label.setVisible(false);
            }
            //wichtig damit alles geänderte sichtbar wird
            validate();
            clickcount++;
        }
   
       
    }
 
 
 
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
 
        GUILegende fenster = new GUILegende();
       
       
    }
   
   
 
}
 
Zuletzt bearbeitet:

Dave It

Mitglied
An sich is die Lösung schon super..danke für die schnelle Antwort
mein Problem ist es zB. diese Legende anzeigen zu lassen wenn ich den Button drücke.

Java:
package legende;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.WindowConstants;

    public class Legende extends JFrame {
        private Legende(){
          this.setDefaultCloseOperation(
                  WindowConstants.EXIT_ON_CLOSE);
         
           this.setBounds(400,400,400,400);
          }
    public static void main(String[] args){
        new Legende().setVisible(true);
        
    }

    public void paint(Graphics g){
            this.setTitle("Legende");
        
   Font f[] = new Font[10];
           g.setColor(Color.GRAY);
           g.fillRect(0,0 ,400 ,400 );
   
   f[0] = new Font("Times New Roman", Font.PLAIN, 12);
          g.setColor(Color.GREEN);
          g.setFont(f[0]);
          g.drawString("grün", 100,100);
   f[5] = new Font("Times New Roman", Font.PLAIN, 12);
          g.drawString("= -73dBm", 135,100);   
          g.fillRect(80,90 ,10 ,10 );
   
   f[1] = new Font("Times New Roman", Font.PLAIN, 12);
          g.setColor(Color.BLUE);        
          g.drawString("blau", 100,120);
   f[6] = new Font("Times New Roman", Font.PLAIN, 12);
          g.drawString("= -78dBm", 135,120);  
          g.fillRect(80,110 ,10 ,10 );
   
   f[2] = new Font("Times New Roman", Font.PLAIN, 12);
          g.setColor(Color.YELLOW);   
          g.drawString("gelb", 100,140);
   f[7] = new Font("Times New Roman", Font.PLAIN, 12);
          g.drawString("= -83dBm", 135,140);
          g.fillRect(80,130 ,10 ,10 );
   
   f[3] = new Font("Times New Roman", Font.PLAIN, 12);
          g.setColor(Color.ORANGE);   
          g.drawString("orange", 100,160);
   f[8] = new Font("Times New Roman", Font.PLAIN, 12);
          g.drawString("= -88dBm", 135,160);
          g.fillRect(80,150 ,10 ,10 );
   
   f[4] = new Font("Times New Roman", Font.PLAIN, 12);
          g.setColor(Color.RED);   
          g.drawString("rot", 100,180);
   f[9] = new Font("Times New Roman", Font.PLAIN, 12);
          g.drawString("= -93dBm", 135,180);  
          g.fillRect(80,170 ,10 ,10 );
   
        }   
    }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Problem mit ActionListener für Buttons Java Basics - Anfänger-Themen 5
F Mehrere Buttons mit einem ActionListener abdecken Java Basics - Anfänger-Themen 24
S Erste Schritte ActionListener auf Buttons einrichten Java Basics - Anfänger-Themen 3
manunana89 2 ActionListener auf 2 Buttons??? Java Basics - Anfänger-Themen 6
G Grafische Oberfläche mit Buttons und Actionlistener? Java Basics - Anfänger-Themen 27
T ActionListener zu Buttons dynamisch zuordnen Java Basics - Anfänger-Themen 10
I Actionlistener für Buttons Java Basics - Anfänger-Themen 2
N ActionListener versch. Buttons zuweisen => versch. Method Java Basics - Anfänger-Themen 13
X ActionListener bei Buttons Java Basics - Anfänger-Themen 3
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
Jxhnny.lpz Randomisier für Buttons Java Basics - Anfänger-Themen 13
R Buttons ohne Funktion Java Basics - Anfänger-Themen 2
yoskaem Text Color durch Klicken eines Buttons in anderer Activity ändern Java Basics - Anfänger-Themen 2
D Custom Buttons oder Custom Combobox Java Basics - Anfänger-Themen 30
A Aktualisierung eines Buttons Java Basics - Anfänger-Themen 18
S Runde Buttons erstellen Java Basics - Anfänger-Themen 10
J Input/Output Input Buttons Html mit JSP Java Basics - Anfänger-Themen 3
T Buttons... Java Basics - Anfänger-Themen 1
U Javafx Array aus Buttons Java Basics - Anfänger-Themen 2
L Buttons außerhalb der sichtbaren Activity Java Basics - Anfänger-Themen 8
E Hilfe bei Buttons (GUI) Java Basics - Anfänger-Themen 3
D Mit Buttonklick Farbe der anderen Buttons verändern? Java Basics - Anfänger-Themen 2
L Buttons ansprechen Java Basics - Anfänger-Themen 1
F Mehrfaches Clicken eines Buttons Java Basics - Anfänger-Themen 1
H Buttons zeigen keine Reaktion Java Basics - Anfänger-Themen 6
E Wenn i (for-Loop) bestimmter Wert, dann neue Zeile eines Buttons Java Basics - Anfänger-Themen 7
H Java Buttons ausblenden bei inaktivität Java Basics - Anfänger-Themen 1
A Nach Druck eines Buttons reagieren andere Button nicht Java Basics - Anfänger-Themen 3
D Variable Anzahl an Buttons per Schleife Java Basics - Anfänger-Themen 7
U Best Practice Buttons sollen ÜBER Labeln liegen, also quasi im Vordergrund. WIE? Java Basics - Anfänger-Themen 4
TheSorm Anzeige fehler eines Buttons Java Basics - Anfänger-Themen 3
M Icons auf Buttons Java Basics - Anfänger-Themen 9
S Variablen Variable bei drücken eines Buttons ändern Java Basics - Anfänger-Themen 1
M Buttons funktionieren nicht Java Basics - Anfänger-Themen 4
lord239123 Buttons werden nicht angezeigt Java Basics - Anfänger-Themen 3
M Größe eines Buttons festlegen Java Basics - Anfänger-Themen 4
W Buttons sollen bei Mausklick einen String schreiben Java Basics - Anfänger-Themen 11
J Aktivierung eines Buttons nach Eingabe in Textfeldern (DocumentListener) Java Basics - Anfänger-Themen 4
O Position des Buttons wird nicht geändert.. Java Basics - Anfänger-Themen 6
K Erste Schritte GUI - Hintergrundbild und darauf Buttons Java Basics - Anfänger-Themen 2
J BlueJ canvas Buttons adden? Java Basics - Anfänger-Themen 2
U Methoden Methode zur Erstellung von Buttons Java Basics - Anfänger-Themen 11
H Icons in Buttons resizable? Java Basics - Anfänger-Themen 3
C Buttons über Textfeld beschriften Java Basics - Anfänger-Themen 10
L OOP Buttons mit Pfeilen miteinander verbinden Java Basics - Anfänger-Themen 5
A Dropdown Liste - mit je zwei Verlinkungen und zwei ausführende Buttons Java Basics - Anfänger-Themen 3
I Dynamisch erzeugten Buttons Methoden zuweisen Java Basics - Anfänger-Themen 6
P Listener für mehrere Buttons Java Basics - Anfänger-Themen 3
S Hilfe bei Buttons Java Basics - Anfänger-Themen 2
B Die Hintergrundfarbe eines deaktivierten buttons ändern? Java Basics - Anfänger-Themen 4
SheldoN Töne abspielen auf verschiedenen Buttons Java Basics - Anfänger-Themen 17
J durch drücken eines buttons text in einer textdatei speichern Java Basics - Anfänger-Themen 2
G MouseListener für mehrere Buttons Java Basics - Anfänger-Themen 11
Fab1 Buttons auf ein Hintergrundbild(JFrame) setzen Java Basics - Anfänger-Themen 24
H Methode aufrufen beim Drücken eines Buttons im Boxlayout Java Basics - Anfänger-Themen 6
M Tabelle mit Buttons Java Basics - Anfänger-Themen 24
M Variablen via actionPerformed mit Buttons ändern Java Basics - Anfänger-Themen 7
K Durch ändern eines Buttons String füllen Java Basics - Anfänger-Themen 14
J Buttons Java Basics - Anfänger-Themen 19
G Buttons in ein Array umformen Java Basics - Anfänger-Themen 11
S Buttons übereinander legen - Reihenfolge Java Basics - Anfänger-Themen 2
M Buttons erscheinen erst bei Mouse-Over Java Basics - Anfänger-Themen 8
B Buttons Java Basics - Anfänger-Themen 9
T Buttons (auf denen bilder sind) random vertauschen Java Basics - Anfänger-Themen 11
1 Menü mit Buttons erstellen Java Basics - Anfänger-Themen 10
M Durchsichtige Buttons Java Basics - Anfänger-Themen 12
P OnClickListener für mehrere Buttons Java Basics - Anfänger-Themen 5
U Buttons einfügen (Leiste verschwunden!?) Java Basics - Anfänger-Themen 2
M Gui - Probleme mit Buttons Java Basics - Anfänger-Themen 4
C Swing, Buttons Wert zuweisen Java Basics - Anfänger-Themen 3
E Android: OnClickListener erkennt Buttons nicht Java Basics - Anfänger-Themen 7
E Buttons in Android generieren? Java Basics - Anfänger-Themen 4
D Link over Buttons Java Basics - Anfänger-Themen 4
B Identifikation eines einzelnen Buttons aus mehreren Buttons per Schleife erzeugten Java Basics - Anfänger-Themen 4
Nicer Radio Buttons Gruppe Java Basics - Anfänger-Themen 2
G getControlPanelComponent JMF Buttons verstecken? Java Basics - Anfänger-Themen 7
K Buttons Funktionieren Nicht!!! Java Basics - Anfänger-Themen 8
Mike90 verschieben von Buttons, ... Java Basics - Anfänger-Themen 18
F Buttons und Aktionen Java Basics - Anfänger-Themen 20
M dynamisches Clipboard mit Buttons Java Basics - Anfänger-Themen 5
H Buttons um sprache zu ändern. Java Basics - Anfänger-Themen 6
B Calculator - Buttons zusammenfassen Java Basics - Anfänger-Themen 8
0 Buttons mit Absatz Java Basics - Anfänger-Themen 6
B Buttons erstellen! Wie? Java Basics - Anfänger-Themen 2
D Buttons-die Wahrheit über sie Java Basics - Anfänger-Themen 11
G Buttons mit MouseOver Java Basics - Anfänger-Themen 5
M "Selbst erstellte" Buttons nicht sichtbar. Java Basics - Anfänger-Themen 20
Mörmel Variable Anzahl von Buttons erzeugen Java Basics - Anfänger-Themen 6
K Fenster mit Buttons hin und her schieben ? Java Basics - Anfänger-Themen 23
A in jTextField mit Hilfe von Buttons schreiben Java Basics - Anfänger-Themen 2
J Buttons Java Basics - Anfänger-Themen 3
M Buttons auf allen Masken Java Basics - Anfänger-Themen 4
G Alle Buttons in einer For Schleife ändern Java Basics - Anfänger-Themen 5
G Nicht benannte Buttons - Wenn gedrückt > Action Java Basics - Anfänger-Themen 24
T Buttons Resetten Java Basics - Anfänger-Themen 2
D Buttons gehen trotz enebled(false) Java Basics - Anfänger-Themen 8
P Buttons Java Basics - Anfänger-Themen 6
G Panels und Buttons Java Basics - Anfänger-Themen 5
P Eigenschaften eines Buttons ändern Java Basics - Anfänger-Themen 6
M Buttons Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben