man kan bli trött för mindre måste jag säga...
fått det att funka med knapparna, lösningen blev att sätta upp constraints för contentPane oxå enligt följande:
lay.putConstraint(SpringLayout.EAST, contentPane, 5, SpringLayout.EAST, fjarde);
lay.putConstraint(SpringLayout.SOUTH, contentPane, 5, SpringLayout.SOUTH, sjatte);
efter den implementeringen räcker det med frame.pack() & frame.setVisible(true); för att alling ska komma upp.
I min huvudklass dock fungerar ingenting fortfarande.
allting kompileras och körs men ingen frame kommer upp.
postar hela koden nu, ledsen men den e lite halv lång atm.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import javax.swing.BorderFactory;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;
import javax.swing.border.EtchedBorder;
public class inTouch extends JFrame implements ActionListener {
JButton kontaktButton;
ImageIcon[] ikoner;
String[] status = {"Plugged In", "Absent minded", "Unconscious", "Unplugged", "Sign In"};
Integer[] statusVektor;
ImageIcon foto;
JPopupMenu picPopup;
JPopupMenu kontaktPopup;
JMenuItem menuItem;
ImageIcon[] foton;
String[] kontakter = {"Andie", "Erik", "Davie", "Mackan", "Richie"};
Integer[] kontaktVektor;
ListRenderer Listrenderare;
JList kontaktLista;
JScrollPane kontaktScroll;
JButton ikonen;
JLabel namn;
JLabel sikon;
JComboBox statusCombo;
JButton picButton;
JPanel panelen;
JFrame framen;
public static void main(String[] args) {
inTouch fonster = new inTouch();
}
inTouch() {
setTitle("inTouch v0.05alpha");
Container contentPane = getContentPane();
SpringLayout lay;
lay = new SpringLayout();
contentPane.setLayout(lay);
init();
lay.putConstraint(SpringLayout.WEST, ikonen, 5, SpringLayout.WEST, contentPane);
lay.putConstraint(SpringLayout.NORTH, ikonen, 5, SpringLayout.NORTH, contentPane);
lay.putConstraint(SpringLayout.WEST, namn, 5, SpringLayout.WEST, contentPane);
lay.putConstraint(SpringLayout.NORTH, namn, 5, SpringLayout.SOUTH, ikonen);
lay.putConstraint(SpringLayout.EAST, picButton, 5, SpringLayout.EAST, contentPane);
lay.putConstraint(SpringLayout.NORTH, picButton, 5, SpringLayout.SOUTH, ikonen);
lay.putConstraint(SpringLayout.WEST, kontaktScroll, 5, SpringLayout.WEST, contentPane);
lay.putConstraint(SpringLayout.NORTH, kontaktScroll, 5, SpringLayout.SOUTH, namn);
lay.putConstraint(SpringLayout.WEST, sikon, 5, SpringLayout.WEST, contentPane);
lay.putConstraint(SpringLayout.NORTH, sikon, 5, SpringLayout.SOUTH,kontaktScroll);
lay.putConstraint(SpringLayout.WEST, statusCombo, 5, SpringLayout.EAST, sikon);
lay.putConstraint(SpringLayout.NORTH, statusCombo, 5, SpringLayout.SOUTH, kontaktScroll);
lay.putConstraint(SpringLayout.EAST, contentPane, 5, SpringLayout.EAST, kontaktScroll);
lay.putConstraint(SpringLayout.SOUTH, contentPane, 5, SpringLayout.SOUTH, statusCombo);
// framen.getContentPane().add(panelen, BorderLayout.CENTER);
setSize(new Dimension(270, 400));
pack();
setVisible(true);
// framen.show();
}
private void init() {
ikonen = new JButton("I");
contentPane.add(ikonen);
namn = new JLabel("Namn: Andie");
contentPane.add(namn);
// S‰tt upp v‰lja kort knappen
picPopup = new JPopupMenu();
menuItem = new JMenuItem("Choose new picture...");
menuItem.addActionListener(this);
picPopup.add(menuItem);
foto = new ImageIcon();
foto = createImageIcon("images/" + "myPic.jpg");
picButton = new JButton("",foto);
Insets m = new Insets(1,1,1,1);
picButton.setMargin(m);
MouseListener fotoListener = new Popup2Listener();
picButton.addMouseListener(fotoListener);
contentPane.add(picButton);
// Bygg upp kontaktlistan...
kontaktVektor = new Integer[kontakter.length];
foton = new ImageIcon[kontakter.length];
for (int i=0; i < kontakter.length; i++) {
kontaktVektor[i] = new Integer(i);
foton[i] = createImageIcon("images/" + kontakter[i] + ".jpg");
}
kontaktLista = new JList(kontaktVektor);
kontaktLista.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
kontaktLista.setLayoutOrientation(JList.HORIZONTAL_WRAP);
kontaktLista.setVisibleRowCount(-1);
// kontaktLista.setFixedCellHeight(20);
// kontaktLista.setFixedCellWidth(220);
kontaktScroll = new JScrollPane(kontaktLista);
kontaktScroll.setPreferredSize(new Dimension(240, 80));
kontaktScroll.setMinimumSize(new Dimension(240, 80));
kontaktScroll.setMaximumSize(new Dimension(240, 80));
kontaktScroll.setAlignmentX(LEFT_ALIGNMENT);
Listrenderare = new ListRenderer();
Listrenderare.setBorder(BorderFactory.createLineBorder(Color.black, 1));
Listrenderare.setPreferredSize(new Dimension(240, 30));
Listrenderare.setMinimumSize(new Dimension(240, 80));
Listrenderare.setMaximumSize(new Dimension(240, 80));
JButton kontaktButton = new JButton("kontaktKlick");
kontaktButton.addActionListener(this);
kontaktLista.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
kontaktLista.setLayoutOrientation(JList.VERTICAL);
MouseListener kontaktListener = new Popup1Listener();
kontaktLista.addMouseListener(kontaktListener);
kontaktPopup = new JPopupMenu();
menuItem = new JMenuItem("Send message");
menuItem.addActionListener(this);
kontaktPopup.add(menuItem);
contentPane.add(kontaktScroll);
kontaktLista.setCellRenderer(Listrenderare);
sikon = new JLabel("sI");
contentPane.add(sikon);
// S‰tt upp v‰lja status ComboBoxen
statusVektor = new Integer[status.length];
ikoner = new ImageIcon[status.length];
for (int i=0; i < status.length; i++) {
statusVektor[i] = new Integer(i);
ikoner[i] = createImageIcon("icons/" + status[i] + ".jpg");
}
statusCombo = new JComboBox(statusVektor);
statusCombo.setSelectedIndex(0);
statusCombo.addActionListener(this);
contentPane.add(statusCombo);
}
public void actionPerformed(ActionEvent e) {
if ("kontaktKlick".equals(e.getActionCommand())) {
System.out.println("klick, klick");
}
else if ("Choose new picture...".equals(e.getActionCommand())) {
}
else if ("Send message".equals(e.getActionCommand())) {
}
else {
JComboBox tmpCombo = (JComboBox)e.getSource();
updateStatus(statusCombo.getSelectedIndex());
}
}
private void updateStatus(int stat) {
}
// funktion fˆr h‰mtning av bild. Tack till sun!!!
protected static ImageIcon createImageIcon(String path) {
java.net.URL imgURL = inTouch.class.getResource(path);
return new ImageIcon(imgURL);
}