/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Prob. med JComboBox på en JPopupMenu
Fra : Morten Nørgaard


Dato : 05-12-02 08:50

Hej,

håber nogen kan hjælpe mig med dette. Jeg smed en JComboBox ned på et
JPanel, som jeg placerede på en JPopupMenu. Når jeg aktiverer JComboBox'en,
forsvinder min JPopupMenu. Hvordan kan jeg få JPopupMenu'en til at forblive
vist?

På forhånd tak for hjælp!

Mvh. Morten

Den passende afkortede kode:


import javax.swing.*;
import java.awt.event.*;

class Test extends JFrame
{
class PopupListener extends MouseAdapter
{
public void mousePressed(MouseEvent e) { maybeShowPopup(e); }
public void mouseReleased(MouseEvent e) { maybeShowPopup(e);}
private void maybeShowPopup(MouseEvent e) {
if (e.isPopupTrigger()) {
popup.show(e.getComponent(),
e.getX(), e.getY());
}
}
}

JPopupMenu popup = new JPopupMenu();
JPanel panel = new JPanel();
JComboBox box = new JComboBox();
PopupListener popuplytter = new PopupListener();

public Test()
{
addMouseListener( popuplytter );
panel.add( box );
popup.add( panel );
}

public static void main( String args[] )
{
Test nytest = new Test();
nytest.show();
}
}



 
 
Ole Ildsgaard Hougaa~ (05-12-2002)
Kommentar
Fra : Ole Ildsgaard Hougaa~


Dato : 05-12-02 17:53

On Thu, 5 Dec 2002 08:49:31 +0100, "Morten Nørgaard"
<morten.norgaard@uni-c.dk> wrote:

>Hej,
>
> håber nogen kan hjælpe mig med dette. Jeg smed en JComboBox ned på et
>JPanel, som jeg placerede på en JPopupMenu. Når jeg aktiverer JComboBox'en,
>forsvinder min JPopupMenu. Hvordan kan jeg få JPopupMenu'en til at forblive
>vist?

Jeg kan ikke direkte svare på dit spørgsmål, men jeg kan måske hjælpe
alligevel. Så vidt jeg kan se, er dit problem at den lille popup der
kommer op, når du aktiverer comboboxen (BasicComboPopup), i sig selv
er en JPopupMenu, og det forvirrer MenuSelectionManageren at du
pludselig vil have to JPopupMenu'er på skærmen på én gang.

Jeg ved ikke om det problem kan løses, men jeg kan foreslå et
work-around: Brug en undermenu med JRadioButtomMenuItems i stedet for
en combobox. For eksempel:

JMenu subMenu = new JMenu("Undermenu");
ButtonGroup buttonGroup = new ButtonGroup();
JRadioButtonMenuItem[] items = {
new JRadioButtonMenuItem("a"),
new JRadioButtonMenuItem("b"),
new JRadioButtonMenuItem("c"),
};
for (int i = 0; i < items.length; i++) {
subMenu.add(items[i]);
buttonGroup.add(items[i]);
}
popup.add(subMenu);

Håber det hjalp,

Morten Nørgaard (06-12-2002)
Kommentar
Fra : Morten Nørgaard


Dato : 06-12-02 10:07

Hej Ole,

det var måske et godt alternativ. Jeg prøver ad. Tak.

Morten


"Ole Ildsgaard Hougaard" <oih@get2net.dk> wrote in message
news:f10vuukkk2512komchlt8vqeudsefsto0s@4ax.com...
> On Thu, 5 Dec 2002 08:49:31 +0100, "Morten Nørgaard"
> <morten.norgaard@uni-c.dk> wrote:
>
> >Hej,
> >
> > håber nogen kan hjælpe mig med dette. Jeg smed en JComboBox ned på et
> >JPanel, som jeg placerede på en JPopupMenu. Når jeg aktiverer
JComboBox'en,
> >forsvinder min JPopupMenu. Hvordan kan jeg få JPopupMenu'en til at
forblive
> >vist?
>
> Jeg kan ikke direkte svare på dit spørgsmål, men jeg kan måske hjælpe
> alligevel. Så vidt jeg kan se, er dit problem at den lille popup der
> kommer op, når du aktiverer comboboxen (BasicComboPopup), i sig selv
> er en JPopupMenu, og det forvirrer MenuSelectionManageren at du
> pludselig vil have to JPopupMenu'er på skærmen på én gang.
>
> Jeg ved ikke om det problem kan løses, men jeg kan foreslå et
> work-around: Brug en undermenu med JRadioButtomMenuItems i stedet for
> en combobox. For eksempel:
>
> JMenu subMenu = new JMenu("Undermenu");
> ButtonGroup buttonGroup = new ButtonGroup();
> JRadioButtonMenuItem[] items = {
> new JRadioButtonMenuItem("a"),
> new JRadioButtonMenuItem("b"),
> new JRadioButtonMenuItem("c"),
> };
> for (int i = 0; i < items.length; i++) {
> subMenu.add(items[i]);
> buttonGroup.add(items[i]);
> }
> popup.add(subMenu);
>
> Håber det hjalp,



Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408509
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste