Hallo!
Ich hab hier eine Klasse geschrieben die ein Interface erzeugt, hab ihm das Windows outfit gegeben und hab es geschafft das der erste Name im Listing auf einen Doppelklick reagiert und dann ein Bild zeigt.
Kann man den catch Block und try Block irgendwie weglassen.Ich hab erst versucht den MouseListener so zu initialisieren und den ClickEvent in einer extra methode zu erzeugen. Irgendwie ging das nicht, er sagte MouseListener könne nicht überschrieben werden es wäre abstract, ich hatte MouseListener implementiert aber ging trotzdem nicht. So wie ich jetzt den MouseListener und event erzeugt hab versteh ich es nicht, hab es von wo kopiert.
Kann es mir jemand erklären falls mich einer versteht. :shock:
Ich hab hier eine Klasse geschrieben die ein Interface erzeugt, hab ihm das Windows outfit gegeben und hab es geschafft das der erste Name im Listing auf einen Doppelklick reagiert und dann ein Bild zeigt.
Kann man den catch Block und try Block irgendwie weglassen.Ich hab erst versucht den MouseListener so zu initialisieren und den ClickEvent in einer extra methode zu erzeugen. Irgendwie ging das nicht, er sagte MouseListener könne nicht überschrieben werden es wäre abstract, ich hatte MouseListener implementiert aber ging trotzdem nicht. So wie ich jetzt den MouseListener und event erzeugt hab versteh ich es nicht, hab es von wo kopiert.
Kann es mir jemand erklären falls mich einer versteht. :shock:
Code:
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class SwingTest extends JFrame // implements MouseListener <-- so hatte ich es zu erst
{
private JLabel bildschirmLabel;
public static final String[] kuckstDu = { "Floh","Schnueggel","Marco","Franky","Roger","Tamaris","Ralf"};
public SwingTest()
{
super("Schnueggels erstes Panel");
// MouseListener mouseListener = new MouseAdapter(); <-- So hatte ich es zu erst
// Panel erzeugen
JPanel schnueggelPanel = new JPanel();
getContentPane().add(schnueggelPanel);
schnueggelPanel.setBorder(BorderFactory.createEtchedBorder());
getContentPane().add(schnueggelPanel, BorderLayout.NORTH);
// Label erzeugen
JLabel schnueggelLabel = new JLabel("Hallo Sonnenschein");
// Font festlegen
Font schnuggiFont = new Font ("Serif", Font.BOLD | Font.ITALIC , 32);
schnueggelLabel.setFont(schnuggiFont);
//Icon erzeugen
Icon schnuggiIcon = new ImageIcon(getClass().getResource("schnuggi.gif"));
schnueggelLabel.setIcon(schnuggiIcon);
schnueggelLabel.setHorizontalAlignment(JLabel.LEFT);
schnueggelPanel.add(schnueggelLabel);
// Liste erzeugen
final JList list = new JList(kuckstDu);
list.setToolTipText("Wer die Wahl hat die Qual");
getContentPane().add(new JScrollPane(list), BorderLayout.WEST);
Font schnuggi1Font = new Font("Serif", Font.BOLD | Font.ITALIC, 20);
list.setFont(schnuggi1Font);
list.setFixedCellWidth(100);
list.setFixedCellHeight(40);
// list.addMouseListener(mouseListener); <--- so hatte ich es zu erst
// Button erzeugen
JPanel buttonPanel = new JPanel();
JButton button = new JButton("Drück mich ganz fest");
button.setToolTipText("Jetzt drück mich doch schon");
buttonPanel.add(button);
getContentPane().add(buttonPanel, BorderLayout.SOUTH);
// ImageBildschirm
final JPanel bildschirm = new JPanel();
getContentPane().add(bildschirm,BorderLayout.CENTER);
bildschirm.setVisible(false);
JLabel bildschirmLabel = new JLabel();
bildschirm.add(bildschirmLabel);
Icon pic = new ImageIcon( getClass().getResource("Floh.jpeg"));
bildschirmLabel.setIcon(pic);
//Mouseempfänger
MouseListener mouseListener = new MouseAdapter() { // <--- so hab ich jetzt ünernommen
public void mouseClicked(MouseEvent e) { // das hatte ich als allein stehende Methode
if (e.getClickCount() == 2) {
int index = list.locationToIndex(e.getPoint());
if (index == 0)
{
bildschirm.setVisible(true);
}
}
}
};
list.addMouseListener(mouseListener);
}
/**
* Programm start
*/
public static void main(String[] args)
{
SwingTest frame = new SwingTest();
frame.setLocation(400, 100);
frame.pack();
frame.setSize(1000,500);
frame.skin();
frame.setVisible(true);
}
/**
* Windows skin erzeugen
*/
public void skin()
{
String plaf = "unkown";
try
{
plaf = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
UIManager.setLookAndFeel(plaf);
SwingUtilities.updateComponentTreeUI(this);
}
catch (UnsupportedLookAndFeelException e) {
System.err.println(e.toString());
} catch (ClassNotFoundException e) {
System.err.println(e.toString());
} catch (InstantiationException e) {
System.err.println(e.toString());
} catch (IllegalAccessException e) {
System.err.println(e.toString());
}
}
}