Abend zusammen,
ich bin gerade dabei, ein kleines Programm zu schreiben, mein Erstes, wohl bemerkt.
Derzeit ist es so, dass man zwischen 5 verschiedenen Einträgen in einer JList auswählen kann, und sich je nach Auswahl der Inhalt von 2 JLabel's anpasst.
Nun soll sich aber auch noch ein drittes Label verändern, welches lediglich ein Bild enthält.
Hier erstmal der derzeitige Code.
Ich denke mal, da ist noch sehr viel verbesserungswürdig, oder?
Leider finde ich keine wirklich brauchbaren Seiten, die auch mal ein Beispiel zeigen, und nicht immer nur einen Einzeiler, mit dem ein Neuling nicht wirklich viel anfangen kann...
Wie dem auch sei, ich hatte mir das jetzt so gedacht, dass ich in "valueChanged" einfach einen repaint des sysImgLabel "rein werfe", nur wie kann ich von dort aus auf das ImageIcon zugreifen und es verändern, bzw. wie kann ich das "new ImageIcon" allgemein anders an das JLabel übergeben? Da hänge ich gerade fest..
Für Vorschläge, Tipps, Verbesserungen und/oder Links wäre ich euch sehr dankbar. ):
byebyez - sagg
*edit* Code mal eben korrigiert, da waren noch paar sinnfreie Fehler von meinem Geteste drinne.
ich bin gerade dabei, ein kleines Programm zu schreiben, mein Erstes, wohl bemerkt.
Derzeit ist es so, dass man zwischen 5 verschiedenen Einträgen in einer JList auswählen kann, und sich je nach Auswahl der Inhalt von 2 JLabel's anpasst.
Nun soll sich aber auch noch ein drittes Label verändern, welches lediglich ein Bild enthält.
Hier erstmal der derzeitige Code.
Code:
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
public class window extends JFrame {
public static JLabel sysNameLabel, sysDescLabel, sysImgLabel;
public static JList sysList;
public static int sysCurrent = 1;
public static String[] names = {
"sys 1",
"sys 2",
"sys 3",
"sys 4",
"sys 5"
};
public static String[] descs = {
"<html>Beschreibung 1
;)
Hier k&nnte jetzt ganz viel tolles Zeug stehen,
was im Grunde genommen zwar erstunken und erlogen ist, aber da das sowieso
niemand merkt und es im Endeffekt auch jedem einzelnen mehr als nur egal ist, werden
wir wohl ein ganz kleines bischen &bertreiben. :)</html>",
"Beschreibung 2",
"Beschreibung 3",
"Beschreibung 4",
"Beschreibung 5"
};
public static String[] prices = {
"1000",
"1100",
"1200",
"1300",
"1400"
};
public window() {
setTitle("Gruppe 3 ;o)");
JTabbedPane jtp = new JTabbedPane();
getContentPane().add(jtp);
setSize( 400, 300 );
setResizable(false);
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
int w = getSize().width;
int h = getSize().height;
int x = ( dim.width - w ) / 2;
int y = ( dim.height - h ) / 2;
setLocation(x, y);
JPanel jp1 = new JPanel( );
jp1.setLayout( null );
JLabel sysNameLabel = new JLabel( "", SwingConstants.LEFT );
sysNameLabel.setBounds( 5, 5, 200, 15 );
sysNameLabel.setText( names[0] );
JLabel sysDescLabel = new JLabel( descs[0], SwingConstants.LEFT );
sysDescLabel.setBounds( 5, 25, 200, 280 );
JLabel sysImgLabel = new JLabel( new ImageIcon( "i/"+sysCurrent+".jpg" ) );
sysImgLabel.setBounds( 540, 200, 140, 150 );
JList sysList = new JList( names );
sysList.setFixedCellWidth( 140 );
sysList.addListSelectionListener( new selectionListener( ) );
JScrollPane sysScrollPane = new JScrollPane( sysList );
sysScrollPane.setBounds( 540, 5, 140, 200 );
jp1.add( sysScrollPane );
jp1.add( sysNameLabel );
jp1.add( sysDescLabel );
jp1.add( sysImgLabel );
jtp.addTab( "<html><u>Üebersicht</u></html>", jp1 );
}
public static void main(String[] args) {
window tp = new window();
tp.setSize( 700, 600 );
tp.setLocationRelativeTo(null);
tp.setResizable(false);
tp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tp.setVisible(true);
}
}
final class selectionListener implements ListSelectionListener {
public selectionListener( ) {
super();
}
public void valueChanged (ListSelectionEvent e) {
window.sysCurrent = window.sysList.getSelectedIndex();
window.sysNameLabel.setText( ""+window.sysList.getSelectedValue() );
window.sysDescLabel.setText( ""+window.descs[window.sysCurrent] );
window.sysImgLabel.repaint();
}
}
Leider finde ich keine wirklich brauchbaren Seiten, die auch mal ein Beispiel zeigen, und nicht immer nur einen Einzeiler, mit dem ein Neuling nicht wirklich viel anfangen kann...
Wie dem auch sei, ich hatte mir das jetzt so gedacht, dass ich in "valueChanged" einfach einen repaint des sysImgLabel "rein werfe", nur wie kann ich von dort aus auf das ImageIcon zugreifen und es verändern, bzw. wie kann ich das "new ImageIcon" allgemein anders an das JLabel übergeben? Da hänge ich gerade fest..
Für Vorschläge, Tipps, Verbesserungen und/oder Links wäre ich euch sehr dankbar. ):
byebyez - sagg
*edit* Code mal eben korrigiert, da waren noch paar sinnfreie Fehler von meinem Geteste drinne.