setOpaque(false) funktioniert nicht

BlueOcean

Mitglied
Hallo liebe Community,
Ich bin dabei ein Menü zu erstellen. Dabei soll, wenn man auf Spiel starten drückt, ein Button verschwinden und ein neuer an dessen Platz kommen. Das funktioniert auch recht gut. Nur, wenn ich mod1.setOpaque(false); anwende Kommt der neue Button gar nicht mehr.
Wisst ihr vielleicht eine Antwort? Auf google und in diesem Forum hab ich leider nichts ähnliches gefunden.

Java:
public class Main implements ActionListener{
	private JButton start;
	private JButton mod1;
	private JFrame f;
	public Main(){
		
		f = new JFrame("Menü");
		f.setSize(1280,720);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setVisible(true);
		f.setLayout(null);
		
		start = new JButton();
                start.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Game/Pictures/StartButton.png")));
		start.setBounds(36,240,280,80);
                start.setOpaque(false);
		start.setContentAreaFilled(false);
		start.setBorderPainted(false);
		start.addMouseListener(new MouseAdapter(){
			public void mouseEntered(MouseEvent m){
			start.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Game/Pictures/StartButton+Border.png")));
			start.repaint();
			}
			public void mouseExited(MouseEvent m){
			start.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Game/Pictures/StartButton.png")));
			start.repaint();
			}
		});
		start.addActionListener(this);
		f.add(start);
      }
      public void actionPerformed(ActionEvent e) {
            if (e.getSource()==start){
			start.setVisible(false);
			start.setEnabled(false);

			mod1 = new JButton();
			mod1.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Game/Pictures/Mod1.png")));
			mod1.setBounds(36,600,280,80);
                        mod1.setOpaque(false);
			mod1.addMouseListener(new MouseAdapter(){
				public void mouseEntered(MouseEvent m){
				mod1.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Game/Pictures/Mod1+Border.png")));
				mod1.repaint();
				}
				public void mouseExited(MouseEvent m){
				mod1.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Game/Pictures/Mod1.png")));
				mod1.repaint();
				}
			});
			f.add(mod1);
      }
}
 
Zuletzt bearbeitet:

Machareder

Bekanntes Mitglied
wie wäre es mit
Java:
mod1.setVisible(false)
den kannst du später wieder auf true setzen oder irre ich mich? :D Hab blos mal kurz über deinen Code geschaut

MfG
 
Zuletzt bearbeitet:

Machareder

Bekanntes Mitglied
Java:
package org.drk.ov.test.progs;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;

public class passwort implements ActionListener{
    private JButton start;
    private JButton mod1;
    private JFrame f;
    public passwort(){
        
        f = new JFrame("Menü");
        f.setSize(1280,720);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
        f.setLayout(null);
        
        start = new JButton();

        start.setBounds(36,240,280,80);
                start.setOpaque(true);
        start.setContentAreaFilled(true);
        start.setBorderPainted(true);
        start.addMouseListener(new MouseAdapter(){
            public void mouseEntered(MouseEvent m){
            start.setText("hi");
            start.repaint();
            }
            public void mouseExited(MouseEvent m){
            start.setText("hallo");
            start.repaint();
            }
        });
        start.addActionListener(this);
        f.add(start);
      }
      public void actionPerformed(ActionEvent e) {
            if (e.getSource()==start){
            start.setVisible(false);
            start.setEnabled(false);
 
            mod1 = new JButton();
          
            mod1.setBounds(36,600,280,80);
                        mod1.setOpaque(false);
            mod1.addMouseListener(new MouseAdapter(){
                public void mouseEntered(MouseEvent m){
                mod1.setText("halihalo");
                mod1.repaint();
                }
                public void mouseExited(MouseEvent m){
                mod1.setText("...");
                mod1.repaint();
                }
            });
            f.add(mod1);
      }
      }
}

probiers mal aus.... funktioniert noch nicht ganz... aber ich glaub es hat einfach an deinen Bildern gelegen dass es nicht funktioniert....
 

Machareder

Bekanntes Mitglied
Java:
package org.drk.ov.test.progs;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;

public class passwort implements ActionListener{
    private JButton start;
    private JButton mod1;
    private JFrame f;
    public passwort(){
        
        f = new JFrame("Menü");
        f.setSize(1280,720);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
        f.setLayout(null);
        
        start = new JButton();

        start.setBounds(36,240,280,80);
        start.setOpaque(true);
        start.setContentAreaFilled(true);
        start.setBorderPainted(true);
        start.addMouseListener(new MouseAdapter(){
            public void mouseEntered(MouseEvent m){
            start.setText("hi");
            start.repaint();
            }
            public void mouseExited(MouseEvent m){
            start.setText("hallo");
            start.repaint();
            }
        });
        start.addActionListener(this);
        f.add(start);
      }
      public void actionPerformed(ActionEvent e) {
            if (e.getSource()==start){
            start.setVisible(false);
            start.setEnabled(false);
 
            mod1 = new JButton(" ");
       
            mod1.setBounds(36,240,280,80);
            mod1.setOpaque(true);
            mod1.setContentAreaFilled(true);
            mod1.setBorderPainted(true);    
                        
            mod1.addMouseListener(new MouseAdapter(){
                public void mouseEntered(MouseEvent m){
                mod1.setText("halihalo");
                mod1.repaint();
                }
                public void mouseExited(MouseEvent m){
                mod1.setText("...");
                mod1.repaint();
                }
            });
            f.add(mod1);
      }
      }
}


bis ich gemerkt habe, dass du den anderen button ganze 300 pixel weiter nach unten gesetzt hast.... naja hier mal meine zweite Lösung
 

Machareder

Bekanntes Mitglied
ja sry... schau mal wie deine klasse heißt und wie meine... nen sie mal in Main um.... (bei mir steht passwort und ja ich war zu faul ne neue klasse zu erstellen)
Mal ne frage mit was für ner Entwicklungsumgebung arbeitest du?
 

BlueOcean

Mitglied
Die Klasse hatte ich eh schon umbenannt. Hat auf einmal funktioniert. Auch die zweite Lösung funktioniert schon mal. Übrigens arbeite ich mit Eclipse.
Wenn ich in meinem Anfangscode das mod1.setOpache(false); und mod1.setContentAreaFilled(false); weglasse funktioniert's. Aber warum erscheint kein Button wenn ich es hinzufüge???

LG BlueOcean
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Moin,

wie wäre es mit
Java:
mod1.setVisible(false)
den kannst du später wieder auf true setzen oder irre ich mich? :D
Richtíg, die Sichtbarkeit von Komponenten wird mit "setVisible" gesteuert


Ich denk nicht. Der soll ja, wenn man auf ihn drückt verschwinden
Dann setzt ihn doch im zugehörigen ActionListener eben auf "setVisible(false)" ...
Bitte wo ist das Problem ???:L

Dein "setOpaque" ist hier eindeutig der falsche Ansatz :autsch:

Gruß
Klaus
 

BlueOcean

Mitglied
1. setVisible(false); ist bereits im ActionListener.
2. setOpaque(false); soll den Hintergrund des Buttons transparent machen. Beim 1. Button funktionierts. Beim nachfolgenden nicht. Auch wenn ich mit den gleichen Grafiken arbeite!

LG Blue Ocean
 

Machareder

Bekanntes Mitglied
schau mal was bei deinem zweiten button steht(setBounds) wenn es immer noch genauso dort steht wie bei deinem ersten versuch dann vergrößere mal des fenster...
 

Machareder

Bekanntes Mitglied
warum übernehmen manche leute nicht einfach den vorgegebenen Code 1 zu 1 bessern die Sachen aus die rot sind(vorallem wenn man eclipse verwendet) und versucht zu verstehen ;)
ne jetzt mal spaß beiseite der code den ich dir vorgeben hat MUSS funktionieren. wenn nicht dann poste mal deine main klasse.
 

VfL_Freak

Top Contributor
Moin,

1. setVisible(false); ist bereits im ActionListener.
2. setOpaque(false); soll den Hintergrund des Buttons transparent machen. Beim 1. Button funktionierts. Beim nachfolgenden nicht. Auch wenn ich mit den gleichen Grafiken arbeite!
Was willst Du überhaupt konkret erreichen ???:L
Wenn der Button nicht sichtbar ist, dann brauchst Du auch nicht mehr versuchen, seinen Hintergrund transparent zu machen .....

Gruß
Klaus
 

Machareder

Bekanntes Mitglied
vorallem wenn es ihm so um die Bilder geht warum erstellt er einfach nicht ein Label oder sonstiges worauf er dann einfach mit dem Button klick (<- oder sonstiges) das bild ändert?!
 

BlueOcean

Mitglied
Also,

Es tut mir leid, falls ihr mich missverstanden habt. Es ging von Anfang an über die Hintergrundtransparenz vom zweiten Button. Er taucht eben nicht auf, wenn ich setOpaque(false) verwende. Der Hintergrund des ersten Buttons wird mit setOpaque transparent. Aber auch wenn ich mit exakt den gleichen Grafiken arbeite taucht der zweite Button nicht mal auf... :bahnhof:

Edit: dein erster Code hat auch funktioniert...
 
Zuletzt bearbeitet:

Machareder

Bekanntes Mitglied
Ich hoffe dir ist bewusst, dass dein einer Button
Java:
start.setBounds(36,240,280,80);
und dein zweiter Button
Java:
mod1.setBounds(36,600,280,80);
ist.
Das entspricht von einem "Höhen"-Unterschied von 360 pixel.
Somit kann es sein(<- höchst wahrscheinlich ist es so), dass der Button einfach irgendwo anders weiter unten in deinem JFrame ist...
Definiere mal beide auf die gleiche höhe und schaue dann ob es funktioniert
 

BlueOcean

Mitglied
Ist er nicht... Mir ist das auch aufgefallen... Aber er taucht nicht mal irgendwo auf... Ausprobiert hab ich's mit gleicher Position auch.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
G JDialog + setOpaque Java Basics - Anfänger-Themen 5
I String Expression mit Java validieren (true / false) Java Basics - Anfänger-Themen 34
M Was habe ich hier falsch, dass wenn ich z.B.: 11 eingebe mir false zurück gegeben wird? Java Basics - Anfänger-Themen 2
C Objekt1.equals(Objekt2) = immer false. Wieso? Java Basics - Anfänger-Themen 22
T Invertierung !(false/true) Java Basics - Anfänger-Themen 11
H Koordinateneingabe im 2D Array soll true/false zurückgeben Java Basics - Anfänger-Themen 5
M Wie gebe ich true or false aus? Java Basics - Anfänger-Themen 9
J HashSet Methode contains liefert false (hash Methode überschrieben) Java Basics - Anfänger-Themen 3
helldunkel While Schleife trotz false Java Basics - Anfänger-Themen 4
M TextArea scrollbar bei editable false Java Basics - Anfänger-Themen 5
M Erste Schritte while boolean=false läuft nur bei true??? Java Basics - Anfänger-Themen 23
J Array Muster mit true und false Java Basics - Anfänger-Themen 6
I set contains false Java Basics - Anfänger-Themen 11
N Boolean Werte - immer "false" Java Basics - Anfänger-Themen 5
O Was verursacht den Rückgabewert false bei der Methode ready() eines BufferedReaders Java Basics - Anfänger-Themen 9
C ActionEvent mit CheckBox (true und false) Java Basics - Anfänger-Themen 6
M !boolean das selbe wie boolean == false? Java Basics - Anfänger-Themen 3
C Scrollpanel autoscroll(false) macht nix Java Basics - Anfänger-Themen 2
J if false Java Basics - Anfänger-Themen 3
F Enabled (false), dennoch nutzbar? Java Basics - Anfänger-Themen 3
B Warum gibst hier Equals false zurück ? Java Basics - Anfänger-Themen 23
W Methoden "Fröhliche Zahl" true | false Java Basics - Anfänger-Themen 14
D Frage zu true false in Schleifen Java Basics - Anfänger-Themen 8
feardorcha boolean array false - true - Abfrage Java Basics - Anfänger-Themen 10
Helgon Observer Pattern - hasChanged() immer false Java Basics - Anfänger-Themen 10
R If-Abfrage liefert false zurück, wieso ? Java Basics - Anfänger-Themen 20
A .setEnabled(false) zu langsam? Java Basics - Anfänger-Themen 17
3 Collections containsKey() liefert false obwohl equals() true liefert Java Basics - Anfänger-Themen 6
B if erzeugt nur immer ein FALSE Java Basics - Anfänger-Themen 2
I wie definiere ich ja oder nein für true or false Java Basics - Anfänger-Themen 7
Raidri Pattern liefert false Java Basics - Anfänger-Themen 9
Luk10 Methode gibt false zurück! Java Basics - Anfänger-Themen 2
M true und false treiben mich ins Grab! Java Basics - Anfänger-Themen 5
C setResizable(false) unter NetBeans Java Basics - Anfänger-Themen 3
F Regulärer Ausdruck warum false ? Java Basics - Anfänger-Themen 3
Y setVisible(false) Java Basics - Anfänger-Themen 21
D "true" -> Boolean wird false?! Java Basics - Anfänger-Themen 6
D Array zufällig mit 1 oder 0 oder mit true oder false füllen Java Basics - Anfänger-Themen 5
S Elemente einer Liste mit true / false Werten Java Basics - Anfänger-Themen 3
S if anweisung wird ausgeführt egal ob bedingung true o. false Java Basics - Anfänger-Themen 2
RK Scanner.hasNext() ist niemals false! o_O Java Basics - Anfänger-Themen 3
C regexp gibt immer false aus Java Basics - Anfänger-Themen 4
S jtable.editable(false) CODE? Java Basics - Anfänger-Themen 3
O true false Java Basics - Anfänger-Themen 5
G Fenster.setVisible(true); true -> false Zwischenwert? Java Basics - Anfänger-Themen 11
D Buttons gehen trotz enebled(false) Java Basics - Anfänger-Themen 8
A Übungsaufgabe lösen - Problem mit true und false Java Basics - Anfänger-Themen 6
M Textboxen lassen sich ändern obwohl editable = false Java Basics - Anfänger-Themen 8
M Per Button einer Funktion true oder false übermitteln? Java Basics - Anfänger-Themen 4
L Bedingung immer false, auch wenn zwei Strings gleich sind Java Basics - Anfänger-Themen 11
R Ist ! gleich false? Java Basics - Anfänger-Themen 3
M if(b){ b=false}else{b=true} Java Basics - Anfänger-Themen 4
K public boolean contains (Object obj) > true or false Java Basics - Anfänger-Themen 16
A Warum ist 1/10 == 0.1 false? Java Basics - Anfänger-Themen 4
M Prob bei JTextArea auf .setEditable(false) setzen Java Basics - Anfänger-Themen 2
Z while (eingabe.equals("ENDE") == false) Java Basics - Anfänger-Themen 5
frau-u Eine Exception bei false Java Basics - Anfänger-Themen 5
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
ms_cikar Bin to Float convertieren funktioniert nicht Java Basics - Anfänger-Themen 24
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Greenscreen, funktioniert nicht zu 100%... nicht alle Pixel werden geändert Java Basics - Anfänger-Themen 1
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Operatoren Strings mit Vergleichsoperatoren, funktioniert das? Java Basics - Anfänger-Themen 9
Garrit1994 Continue funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
B Methoden Übergebe Variabel funktioniert nicht Java Basics - Anfänger-Themen 17
P exportiertes Programm funktioniert nur teilweise Java Basics - Anfänger-Themen 7
Agent4nobody Programmstart durch aufruf des interpreters funktioniert nicht Java Basics - Anfänger-Themen 14
Fugover Programm funktioniert nicht Java Basics - Anfänger-Themen 11
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
berserkerdq2 wie funktioniert contenthandler, was muss ich bei der Methode startElement und endElement tun? Java Basics - Anfänger-Themen 11
Alen123 Warum funktioniert mein Code nicht? Java Basics - Anfänger-Themen 64
sserio Array funktioniert nicht Java Basics - Anfänger-Themen 2
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
sserio Rekursion größten Primfaktor finden funktioniert nicht Java Basics - Anfänger-Themen 8
sserio Wieso funktioniert mein TableView nicht /JavaFX. Java Basics - Anfänger-Themen 4
Avalon Warum funktioniert eine Bedingung und eine andere nicht? Java Basics - Anfänger-Themen 2
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
U Wie genau funktioniert der ! Operator Java Basics - Anfänger-Themen 3
stormyark 4 Bit in einer for-schleife funktioniert nicht Java Basics - Anfänger-Themen 3
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
M Java printf(Locale.... funktioniert nicht Java Basics - Anfänger-Themen 3
N Wieso funktioniert die Deklaration nicht Java Basics - Anfänger-Themen 3
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
districon Backtracking funktioniert nicht ganz Java Basics - Anfänger-Themen 3
H Array rückwärts auslesen funktioniert nicht Java Basics - Anfänger-Themen 3
S Math.random funktioniert nicht Java Basics - Anfänger-Themen 5
S Schleife funktioniert nicht Java Basics - Anfänger-Themen 2
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
Henri Webservice Delete und Update Methode funktioniert nicht Java Basics - Anfänger-Themen 27

Ähnliche Java Themen

Neue Themen


Oben