this.getContentPane().addHierarchyBoundsListener(new HierarchyBoundsAdapter(){
public void ancestorMoved(HierarchyEvent e)
{
if(old_point != null)
setLocation(old_point);
validate();
repaint();
}
}
});
import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JDialog;
public class Beispiel
{
JPanel glass = new JPanel(new GridLayout(0,1));
private JFrame jFrame = null; // @jve:decl-index=0:visual-constraint="4,6"
private JPanel jContentPane = null;
private JPanel jPanel = null;
private JButton jButton2 = null;
private JPanel jPanel1 = null;
private JButton jButton = null;
private JDialog jDialog = null; // @jve:decl-index=0:visual-constraint="404,109"
private JPanel jContentPane1 = null;
private JPanel jPanel2 = null;
private JButton jButton1 = null;
private JFrame getJFrame ( )
{
if (jFrame == null)
{
jFrame = new JFrame ( );
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setSize(new java.awt.Dimension(374,276));
jFrame.setTitle("Hallo,Testbild");
jFrame.setContentPane(getJContentPane());
jFrame.setVisible(true);
}
return jFrame;
}
private JPanel getJContentPane ( )
{
if (jContentPane == null)
{
jContentPane = new JPanel ( );
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getJPanel(), java.awt.BorderLayout.WEST);
}
return jContentPane;
}
private JPanel getJPanel ( )
{
if (jPanel == null)
{
jPanel = new JPanel ( );
jPanel.setLayout(new BorderLayout());
jPanel.add(getJPanel1(), java.awt.BorderLayout.SOUTH);
}
return jPanel;
}
private JButton getJButton2 ( )
{
if (jButton2 == null)
{
jButton2 = new JButton ( );
jButton2.setText("sdfsd");
jButton2.setPreferredSize(new java.awt.Dimension(80,50));
jButton2.addActionListener (new java.awt.event.ActionListener ( )
{
public void actionPerformed (java.awt.event.ActionEvent e)
{
jDialog.setVisible(true);
}
});
}
return jButton2;
}
private JPanel getJPanel1 ( )
{
if (jPanel1 == null)
{
jPanel1 = new JPanel ( );
jPanel1.add(getJButton2(), null);
jPanel1.add(getJButton(), null);
}
return jPanel1;
}
private JButton getJButton ( )
{
if (jButton == null)
{
jButton = new JButton ( );
jButton.setText("swdfsdf");
jButton.addActionListener (new java.awt.event.ActionListener ( )
{
public void actionPerformed (java.awt.event.ActionEvent e)
{
System.exit(0);
}
});
}
return jButton;
}
//Hier wird der JDialog erstellt
private JDialog getJDialog ( )
{
if (jDialog == null)
{
jDialog = new JDialog ( );
jDialog.setBounds(200,200,400,300);
jDialog.setContentPane(getJContentPane1());
jDialog.setVisible(false);
jDialog.setResizable(false);
}
return jDialog;
}
private JPanel getJContentPane1 ( )
{
if (jContentPane1 == null)
{
jContentPane1 = new JPanel ( );
jContentPane1.setLayout(new BorderLayout());
jContentPane1.add(getJPanel2(), java.awt.BorderLayout.CENTER);
}
return jContentPane1;
}
private JPanel getJPanel2 ( )
{
if (jPanel2 == null)
{
jPanel2 = new JPanel ( );
jPanel2.add(getJButton1(), null);
}
return jPanel2;
}
private JButton getJButton1 ( )
{
if (jButton1 == null)
{
jButton1 = new JButton ( );
jButton1.setText("456");
}
return jButton1;
}
public static void main (String [ ] args)
{
Beispiel beispiel = new Beispiel();
beispiel.getJFrame();
beispiel.getJDialog();
}
}
private void cancelMouse()
{
if(this.isVisible()) //wird beim starten 1mal durchlaufen
{
try
{
Robot rb = new Robot();
rb.mouseRelease(InputEvent.BUTTON1_MASK); //das man releasen kann
}
catch (Exception ex)
{
ex.printStackTrace(System.out);
}
}
}
cancelMouse(); //gleich als 1ten befehl
if(old_point != null) //......
thE_29 hat gesagt.:Jo, in java 1.5 könntet via der Mausklasse abfragen wo die Maus ist und wenn sie im titelbar ist, gleich wieder runtermoven via robot..
Hobbit_Im_Blutrausch hat gesagt.:boah, was isn das für ne Userverarsche??? :lol: :wink:
Viele in diesem Forum und anderen hat gesagt.:Hi!
Wie kann ich verhindern, daß ein Benutzer auf mein
Bild (Button, Listbox, ...) klicken kann?
Wahrscheinlich nicht nur ein DAU....Kann mir gut vorstellen, das da so manch ein DAU dran verzweifelt.
thE_29 hat gesagt.:Sodala
Code:private void cancelMouse() { if(this.isVisible()) //wird beim starten 1mal durchlaufen { try { Robot rb = new Robot(); rb.mouseRelease(InputEvent.BUTTON1_MASK); //das man releasen kann } catch (Exception ex) { ex.printStackTrace(System.out); } } }
Und das dann im Listener einbaun
Code:cancelMouse(); //gleich als 1ten befehl if(old_point != null) //......
private JDialog getJDialog ( )
{
if (jDialog == null)
{
jDialog = new JDialog ( );
jDialog.setSize(400,300);
jDialog.setContentPane(getJContentPane1());
jDialog.setVisible(false);
jDialog.setResizable(false);
jDialog.setUndecorated(true); //Titlebar weg, kein verschieben, sieht aber nicht gut aus
jDialog.getContentPane().addHierarchyBoundsListener(new HierarchyBoundsAdapter(){
public void ancestorMoved(HierarchyEvent e)
{
cancelMouse(); // Deaktiviert die Mauseingabe
if(old_point != null) {
jDialog.setLocation(old_point);
jDialog.validate();
jDialog.repaint();
}
}
});
}
return jDialog;
}
private JDialog getJDialog ( )
{
if (jDialog == null)
{
jDialog = new JDialog ( );
jDialog.setSize(400,300);
jDialog.setContentPane(getJContentPane1());
jDialog.setVisible(false);
jDialog.setResizable(false);
jDialog.getContentPane().addHierarchyBoundsListener(new HierarchyBoundsAdapter(){
public void ancestorMoved(HierarchyEvent e)
{
cancelMouse(); // Deaktiviert die Mauseingabe
if(old_point != null) {
jDialog.setLocation(old_point);
jDialog.validate();
jDialog.repaint();
}
}
});
}
return jDialog;
}
private JInternalFrame getJInternalFrame ( )
{
if (jInternalFrame == null)
{
jInternalFrame = new JInternalFrame ( );
jInternalFrame.setTitle("Ein InternalFrame");
jInternalFrame.setContentPane(getJContentPane2());
jInternalFrame.setVisible(false);
jInternalFrame.getContentPane().addHierarchyBoundsListener(new HierarchyBoundsAdapter(){
public void ancestorMoved(HierarchyEvent e)
{
cancelMouse(); // Deaktiviert die Mauseingabe
jInternalFrame.setLocation(old_point);
jInternalFrame.validate();
jInternalFrame.repaint();
jInternalFrame.setVisible(true);
}
});
}
return jInternalFrame;
}
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Point;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.HierarchyBoundsAdapter;
import java.awt.event.HierarchyEvent;
import java.awt.event.InputEvent;
import java.awt.event.MouseAdapter;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JWindow;
import javax.swing.JInternalFrame;
public class Beispiel
{
JPanel glass = new JPanel();
private Point old_point = new Point(00,00);
private JFrame jFrame = null; // @jve:decl-index=0:visual-constraint="4,6"
private JPanel jContentPane = null;
private JPanel jPanel = null;
private JButton jButton2 = null;
private JPanel jPanel1 = null;
private JButton jButton = null;
private JDialog jDialog = null; // @jve:decl-index=0:visual-constraint="380,385"
private JPanel jContentPane1 = null;
private JPanel jPanel2 = null;
private JButton jButton1 = null;
private JPanel jPanel3 = null;
private JPanel jPanel4 = null;
private JLabel jLabel = null;
private JPanel jPanel5 = null;
private JInternalFrame jInternalFrame = null;
private JPanel jContentPane2 = null;
private JPanel jPanel6 = null;
private JButton jButton3 = null;
private JButton jButton4 = null;
private JFrame getJFrame ( )
{
if (jFrame == null)
{
jFrame = new JFrame ( );
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setSize(new java.awt.Dimension(445,317));
jFrame.setTitle("Hallo,Testbild");
jFrame.setContentPane(getJContentPane());
jFrame.setVisible(true);
}
return jFrame;
}
private JPanel getJContentPane ( )
{
if (jContentPane == null)
{
GridLayout gridLayout = new GridLayout();
gridLayout.setRows(1);
jContentPane = new JPanel ( );
jContentPane.setLayout(gridLayout);
jContentPane.add(getJPanel(), null);
jContentPane.add(getJPanel5(), null);
}
return jContentPane;
}
private JPanel getJPanel ( )
{
if (jPanel == null)
{
jPanel = new JPanel ( );
jPanel.setLayout(new BorderLayout());
jPanel.add(getJPanel1(), java.awt.BorderLayout.SOUTH);
}
return jPanel;
}
private JButton getJButton2 ( )
{
if (jButton2 == null)
{
jButton2 = new JButton ( );
jButton2.setText("sdfsd");
jButton2.setPreferredSize(new java.awt.Dimension(80,50));
jButton2.addActionListener (new java.awt.event.ActionListener ( )
{
public void actionPerformed (java.awt.event.ActionEvent e)
{
jDialog.setVisible(true);
}
});
}
return jButton2;
}
private JPanel getJPanel1 ( )
{
if (jPanel1 == null)
{
jPanel1 = new JPanel ( );
jPanel1.add(getJButton2(), null);
jPanel1.add(getJButton(), null);
}
return jPanel1;
}
private JButton getJButton ( )
{
if (jButton == null)
{
jButton = new JButton ( );
jButton.setText("swdfsdf");
jButton.addActionListener (new java.awt.event.ActionListener ( )
{
public void actionPerformed (java.awt.event.ActionEvent e)
{
System.exit(0);
}
});
}
return jButton;
}
private JDialog getJDialog ( )
{
if (jDialog == null)
{
jDialog = new JDialog ( );
jDialog.setSize(400,300);
jDialog.setContentPane(getJContentPane1());
jDialog.setVisible(false);
jDialog.setResizable(false);
jDialog.getContentPane().addHierarchyBoundsListener(new HierarchyBoundsAdapter(){
public void ancestorMoved(HierarchyEvent e)
{
cancelMouse(); // Deaktiviert die Mauseingabe
if(old_point != null) {
jDialog.setLocation(old_point);
jDialog.validate();
jDialog.repaint();
}
}
});
}
return jDialog;
}
private JInternalFrame getJInternalFrame ( )
{
if (jInternalFrame == null)
{
jInternalFrame = new JInternalFrame ( );
jInternalFrame.setTitle("Ein InternalFrame");
jInternalFrame.setPreferredSize(new java.awt.Dimension(100,69));
jInternalFrame.setContentPane(getJContentPane2());
jInternalFrame.setVisible(false);
jInternalFrame.getContentPane().addHierarchyBoundsListener(new HierarchyBoundsAdapter(){
public void ancestorMoved(HierarchyEvent e)
{
cancelMouse2(); // Deaktiviert die Mauseingabe
jInternalFrame.setLocation(old_point);
jInternalFrame.validate();
jInternalFrame.repaint();
jInternalFrame.setVisible(true);
}
});
}
return jInternalFrame;
}
private void cancelMouse()
{
if(jDialog.isVisible() ) //wird beim starten 1mal durchlaufen
{
try
{
Robot rb = new Robot();
rb.mouseRelease(InputEvent.BUTTON1_MASK); //das man releasen kann
}
catch (Exception ex)
{
ex.printStackTrace(System.out);
}
}
}
private void cancelMouse2()
{
if(jInternalFrame.isVisible() ) //wird beim starten 1mal durchlaufen
{
try
{
Robot rb2 = new Robot();
rb2.mouseRelease(InputEvent.BUTTON1_MASK); //das man releasen kann
}
catch (Exception ex)
{
ex.printStackTrace(System.out);
}
}
}
private JPanel getJContentPane1 ( )
{
if (jContentPane1 == null)
{
jContentPane1 = new JPanel ( );
jContentPane1.setLayout(new BorderLayout());
jContentPane1.add(getJPanel2(), java.awt.BorderLayout.CENTER);
}
return jContentPane1;
}
private JPanel getJPanel2 ( )
{
if (jPanel2 == null)
{
jPanel2 = new JPanel ( );
jPanel2.setLayout(new BorderLayout());
jPanel2.add(getJPanel3(), java.awt.BorderLayout.NORTH);
jPanel2.add(getJPanel4(), java.awt.BorderLayout.CENTER);
}
return jPanel2;
}
private JButton getJButton1 ( )
{
if (jButton1 == null)
{
jButton1 = new JButton ( );
jButton1.setText("456");
}
return jButton1;
}
private JPanel getJPanel3 ( )
{
if (jPanel3 == null)
{
// File bild = new File("U:/titlebar_2.jpg");
// JLabel jLabel = null;
// try
// {
// jLabel = new JLabel(new ImageIcon(ImageIO.read(bild)));
jPanel3 = new JPanel ( );
// jPanel3.add(jLabel);
// }
// catch (IOException e)
// {
//
// e.printStackTrace();
// }
}
return jPanel3;
}
private JPanel getJPanel4 ( )
{
if (jPanel4 == null)
{
jPanel4 = new JPanel ( );
jPanel4.add(getJButton1(), null);
}
return jPanel4;
}
private JPanel getJPanel5 ( )
{
if (jPanel5 == null)
{
jPanel5 = new JPanel ( );
jPanel5.setLayout(new BorderLayout());
jPanel5.add(getJInternalFrame(), java.awt.BorderLayout.CENTER);
}
return jPanel5;
}
private JPanel getJContentPane2 ( )
{
if (jContentPane2 == null)
{
jContentPane2 = new JPanel ( );
jContentPane2.setLayout(new BorderLayout());
jContentPane2.add(getJPanel6(), java.awt.BorderLayout.SOUTH);
}
return jContentPane2;
}
private JPanel getJPanel6 ( )
{
if (jPanel6 == null)
{
jPanel6 = new JPanel ( );
jPanel6.add(getJButton3(), null);
jPanel6.add(getJButton4(), null);
}
return jPanel6;
}
private JButton getJButton3 ( )
{
if (jButton3 == null)
{
jButton3 = new JButton ( );
jButton3.setText("Button");
}
return jButton3;
}
private JButton getJButton4 ( )
{
if (jButton4 == null)
{
jButton4 = new JButton ( );
jButton4.setText("Nocheiner");
}
return jButton4;
}
public void createGlass(){
glass.addMouseListener( new MouseAdapter(){});
glass.setOpaque(false);
//jFrame.setGlassPane(glass);
jInternalFrame.setGlassPane(glass);
glass.setVisible(true);
}
public static void main (String [ ] args)
{
Beispiel beispiel = new Beispiel();
beispiel.getJFrame();
beispiel.getJDialog();
beispiel.createGlass();
}
}
private JInternalFrame getJInternalFrame ( )
{
if (jInternalFrame == null)
{
jInternalFrame = new JInternalFrame ( );
jInternalFrame.setTitle("Ein InternalFrame");
jInternalFrame.setPreferredSize(new java.awt.Dimension(100,69));
jInternalFrame.setContentPane(getJContentPane2());
jInternalFrame.setVisible(false);
jInternalFrame.getContentPane().addHierarchyBoundsListener(new HierarchyBoundsAdapter(){
public void ancestorMoved(HierarchyEvent e)
{
cancelMouse2(); // Deaktiviert die Mauseingabe
jInternalFrame.setLocation(old_point);
jInternalFrame.validate();
jInternalFrame.repaint();
jInternalFrame.setVisible(true);
}
});
}
return jInternalFrame;
}
private void cancelMouse2()
{
if(jInternalFrame.isVisible() ) //wird beim starten 1mal durchlaufen
{
try
{
Robot rb = new Robot();
rb.mouseRelease(InputEvent.BUTTON1_MASK); //das man releasen kann
}
catch (Exception ex)
{
ex.printStackTrace(System.out);
}
}
}
public void ancestorMoved(HierarchyEvent e)
{
if(jInternalFrame.equals(e.getChanged()))
{
cancelMouse2(); // Deaktiviert die Mauseingabe
jInternalFrame.setLocation(old_point);
}
jInternalFrame.validate();
jInternalFrame.repaint();
jInternalFrame.setVisible(true);
}