ikoner på buttons. Jeg kan ikke få hæftet dem på knapperne
Løbet ind i et par problemer med at sætte billeder på dropdown knapperne.Kunne Tænke mig at soeg.gif blev sat på knappen med string label "Søg", i stedet for at den almindelige knap blev vist. - Jeg kan sagtens vise en alm. ikon knap men ikke klistre ikoner på de eksisterende knapper... grrrr.
Ydermere er jeg ikke helt med på hvorfor ikon knappen bliver skåret af hvis vinduet resizes, dvs gøres smallere men stadig er højt nok til at knapperne teoretisk kunne ligge oven på hinanden... Det er som om der er en usynlig streg under de almindelige buttons hvorunder intet kan vises. (prøv at resize bredden af vinduet og læg et gif på ca 125x72 i det relevante directory så kan du se hvad jeg mener).
Sidst men ikke mindst ville det være rart hvis der var nogen der havde en ide til hvor de konkrete action events f.eks. en System.out.println("varenavn"); og for "Forhandlernavn", skal sættes ind for de enkelte punkter på dropdown listen.
Koden for de to klasser der er 90-98% tæt på at gøre hvad de skal følger her:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public abstract class PopupButton extends Button implements ActionListener
{
private PopupMenu popup;
protected PopupButton(String[] items, Container parent)
{
this("",items, parent);
}
protected PopupButton(String label, String[] items, Container parent)
{
super(label);
popup = new PopupMenu();
MenuItem menuItems[] = new MenuItem[items.length];
for(int i = 0; i < items.length; i++)
{
menuItems[i] = new MenuItem(items[i]);
menuItems[i].addActionListener(this);
popup.add(menuItems[i]);
}
parent.add(popup);
addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
popup.show(PopupButton.this, 0, PopupButton.this.getSize().height);
}
}
);
}
}
**********************
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class PopupButtonImplementation {
public static void main(String args[]) {
new PopupButtonImplementationFrame();
}
}
class PopupButtonImplementationFrame extends Frame {
Panel panel = new Panel();
MyPopupButton mpb1 = new MyPopupButton("Opret",new String[]{"Opret vare","-","Opret forhandler"},this);
MyPopupButton mpb2 = new MyPopupButton("Søg",new String[]{"Vare","-","Forhandler"},this);
MyPopupButton mpb3 = new MyPopupButton("Administrer brugere",new String[]{"Opret ny bruger","-","Rediger bruger","-", "Slet bruger"},this);
MyPopupButton yay = new MyPopupButton("Administrer webshop",new String[]{"Upload en vare","-","Upload alle varer","-", "Slet vare", "-","Slet alle varer"},this);
JButton btn1 = new JButton(new ImageIcon("images/soeg.gif"));
PopupButtonImplementationFrame() {
super();
/* Add the window listener */
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
dispose(); System.exit(0);}});
/* Size the frame */
setSize(600,200);
// Center the frame
Dimension screenDim = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle frameDim = getBounds();
setLocation((screenDim.width - frameDim.width) / 2,(screenDim.height - frameDim.height) / 2);
panel.add(mpb1);
panel.add(mpb2);
panel.add(mpb3);
panel.add(yay);
panel.add(btn1);
add(BorderLayout.NORTH,panel);
/* Show the frame */
setVisible(true);
}
}
class MyPopupButton extends PopupButton
{
public MyPopupButton(String label, String[] items, Container parent)
{
super(label,items,parent);
}
public void actionPerformed(ActionEvent evt)
{
String command = evt.getActionCommand();
}}
*******************
Det ville være fantastisk hvis nogen har en ide.
