GlassPane

Status
Nicht offen für weitere Antworten.

igel

Mitglied
Hi,
ich habe zwei Button mit denen ich meinen Regler von JSlider bewege.
Den Regler kann man aber auch ohne die Button bewegen. Sprich per klick auf den Silder.
Jetzt will ich aber, dass der Silder nicht mehr zu bewegen ist. Nur durch meine Button.
Ich habe gelesen, dass man irgendwie eine glassPane "drüber legen" kann.
Wie muss ich mir das vorstellen???
 
B

Beni

Gast
Das ist einfach eine Component, welche in ihrer paint-Methode nichts macht, und über dem Slider liegt.

siehe hier

Du kannst das selbst basteln: nimm ein Panel, füge dein Slider und danach ein weiteres durchsichtiges Panel auf das Grundpanel. Du musst nur dafür sorgen, dass die beiden Kinder dieselbe Grösse und Position haben.
 

igel

Mitglied
Würdest du mir einen "einfach" code dazu schicken...
Nur damit ich mir das vorstellen kann, wie ich den Silder in den Panel packe... Das Beispiel von dir ist mir zu
viel des Guten :wink:
 
B

Beni

Gast
Etwa so:
Code:
import java.awt.Graphics;
import java.awt.event.MouseAdapter;

import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSlider;

public class Test{
    public static void main( String[] args ) {
        final JComponent glass = new JComponent(){
            public void update( Graphics g ) {
            }
        };
        glass.setVisible( true );
        glass.addMouseListener( new MouseAdapter(){});
        
        final JSlider slider = new JSlider();
        slider.setMinimum( 0 );
        slider.setMaximum( 100 );
        slider.setValue( 75 );
        
        JPanel panel = new JPanel(){
            public void reshape( int x, int y, int w, int h ) {
                glass.setBounds( 0, 0, w, h );
                slider.setBounds( 0, 0, w, h );
                
                super.reshape(x, y, w, h);
            }
        };
        
        panel.setLayout( null );
        
        panel.add( glass );
        panel.add( slider );
        
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        frame.add( panel );
        frame.setBounds( 20, 20, 300, 200 );
        frame.setVisible( true );
    }
}

Funktioniert mit Java 1.5, wie es mit 1.4... aussieht, weiss ich nicht.
 
G

gast

Gast
hi !
ist ein schönes beispiel, nur läuft es bei meiner java version anscheinend nicht... ich bekomme den fehler:

Code:
Exception in thread "main" java.lang.Error: Do not use javax.swing.JFrame.add()
use javax.swing.JFrame.getContentPane().add() instead
        at javax.swing.JFrame.createRootPaneException(JFrame.java:465)
        at javax.swing.JFrame.addImpl(JFrame.java:491)
        at java.awt.Container.add(Container.java:307)
        at Test1.main(Test1.java:40)

kann mir jemand helfen, so das ich es zum laufen bekomme!?
es soll aufjedenfall unter der 1.4er laufen, nur was muss ich ändern?
 
J

juser

Gast
hi...
ich benutze den oben angegebenen code, und möchte jetzt jeweils links und rechts daneben einen jbutton darstellen...
wie kann ich die beiden buttons in den frame einbinden ohne das die "nicht"-funktion des sliders verloren geht...
 

MPW

Top Contributor
ganz einfach, du schnappst dir das BorderLayout, in West und EASt packst du deine Buttons und in die Mitte das Panel!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Swing Durch GlassPane auf Button klicken und ActionEvent auslösen AWT, Swing, JavaFX & SWT 0
D GlassPane für JPanel AWT, Swing, JavaFX & SWT 2
N Swing Frame mit GlassPane und Popup AWT, Swing, JavaFX & SWT 5
A Swing GlassPane Cursor wird bei fremder Komponente nicht angezeigt AWT, Swing, JavaFX & SWT 3
B GlassPane setVisible(true) funktioniert nicht AWT, Swing, JavaFX & SWT 2
M JComboBox auf GlassPane-Panel AWT, Swing, JavaFX & SWT 2
S Feste Position einer Komponente auf Glasspane AWT, Swing, JavaFX & SWT 6
F GlassPane deaktiviert MouseKlicks nicht AWT, Swing, JavaFX & SWT 6
hdi Swing GUI Sperren mit GlassPane AWT, Swing, JavaFX & SWT 7
K Alle Events abfangen mit GlassPane AWT, Swing, JavaFX & SWT 7
G Probleme mit Glasspane AWT, Swing, JavaFX & SWT 4
J Glasspane Demo von Sun hat Probleme - wie fix ich die? AWT, Swing, JavaFX & SWT 10
A GlassPane wird zu spät angezeigt AWT, Swing, JavaFX & SWT 2
G JDialog hinter Glasspane von JFrame. Geht das? AWT, Swing, JavaFX & SWT 3
TheJavaKid GlassPane AWT, Swing, JavaFX & SWT 5
m@nu Animation in GlassPane: Performanceeinbruch JFrame maximiert AWT, Swing, JavaFX & SWT 17
C Frage zur GlassPane AWT, Swing, JavaFX & SWT 33
G Probleme mit GlassPane AWT, Swing, JavaFX & SWT 3
L GlassPane ein und abschalten AWT, Swing, JavaFX & SWT 3
J GlassPane - an Menupunkte herankommen AWT, Swing, JavaFX & SWT 2
M Problem mit GlassPane AWT, Swing, JavaFX & SWT 4
M Glasspane und dispatchen von Events AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben