Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.gui > #572
| From | "Richard" <richard@THRWHITE.remove-dii-this> |
|---|---|
| Subject | Re: Swing embedded in SWT |
| Message-ID | <1168011152.725860.271530@s80g2000cwa.googlegroups.com> (permalink) |
| Newsgroups | comp.lang.java.gui |
| References | <1167937309.866198.186320@6g2000cwy.googlegroups.com> |
| Date | 2011-04-27 15:28 +0000 |
| Organization | TDS.net |
To: comp.lang.java.gui
As I followup to this, I ran this using JRE v1.5 and it worked fine.
This DOESN"T work in JRE v1.4.2. Does anyone know of a workaround in
JRE v1.4.2? I can't move to JRE v1.5 at this time.
rjkoop@gmail.com wrote:
> I'm having problems when I embed an Swing component within an SWT
> composite. Inside the Swing component I have a JTable that contains a
> JPopupMenu. The popup menu comes up fine when I right mouse click and
> go does correctly if I click anywhere inside the Swing component but
> DOESN"T dissapear when I click on an SWT appear of the application.
> >From what I've read I'm doing it correctly. Is this a bug in
> Eclipse/SWT? I'm using the Eclipse 3.2.1 and the associated SWT 3.2.1.
>
> Here's a simple block of code that can be used to reproduce the
> problem. Am I doing something wrong? Or do I have to manually code
> the popdown of the Swing JPopupMenu from the SWT thread?
>
> /*
> * Created on 20-Apr-06
> *
> */
> package mine.app;
>
> import java.awt.BorderLayout;
> import java.awt.Frame;
> import java.awt.Panel;
> import java.awt.event.ActionEvent;
> import java.awt.event.ActionListener;
> import java.awt.event.MouseAdapter;
> import java.awt.event.MouseEvent;
>
> import javax.swing.JMenuItem;
> import javax.swing.JPopupMenu;
> import javax.swing.JRootPane;
> import javax.swing.JScrollPane;
> import javax.swing.JTable;
>
> import org.eclipse.swt.SWT;
> import org.eclipse.swt.awt.SWT_AWT;
> import org.eclipse.swt.layout.FillLayout;
> import org.eclipse.swt.widgets.Button;
> import org.eclipse.swt.widgets.Composite;
> import org.eclipse.swt.widgets.Display;
> import org.eclipse.swt.widgets.Label;
> import org.eclipse.swt.widgets.Shell;
> import org.eclipse.swt.widgets.Table;
>
> public class SWTAWTTest
> {
> public static void main(String[] args)
> {
> Display swtDisplay = new Display();
> Shell swtShell = new Shell(swtDisplay);
> swtShell.setSize(400,200);
> swtShell.setLayout(new FillLayout());
>
> Label swtLabel = new Label(swtShell,SWT.NONE);
> swtLabel.setText("SWT Label");
> swtLabel.setToolTipText("SWT Label");
>
> Button swtButton = new Button(swtShell,SWT.NONE);
> swtButton.setText("SWT Button");
> swtButton.setToolTipText("SWT Button");
>
> Table swtTable = new Table(swtShell,SWT.BORDER);
> swtTable.setHeaderVisible(true);
> swtTable.setLinesVisible(true);
> swtTable.setToolTipText("SWT Table");
>
> Composite swtComposite = new Composite(swtShell,SWT.NO_BACKGROUND |
> SWT.EMBEDDED);
> Frame swingFrame = SWT_AWT.new_Frame(swtComposite);
> final JTable swingTable = new JTable(5,5);
>
> swingTable.addMouseListener(new MouseAdapter(){
> public void mouseClicked(MouseEvent e)
> {
> if (e.getButton() != 3)
> return;
>
> JPopupMenu popup = new JPopupMenu();
> JMenuItem menuItem = new JMenuItem("Select me");
> menuItem.addActionListener(new ActionListener()
> {
> public void actionPerformed(ActionEvent e)
> {
> }
> });
> popup.add(menuItem);
> popup.show(swingTable,e.getX(),e.getY());
> }
> });
>
>
> JScrollPane scrollPane = new JScrollPane(swingTable);
> swingFrame.add(scrollPane);
>
> swtShell.open();
> while (!swtShell.isDisposed())
> {
> if (!swtDisplay.readAndDispatch())
> swtDisplay.sleep();
>
> }
>
> swtDisplay.dispose();
> }
>
> }
---
* Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24
Back to comp.lang.java.gui | Previous | Next — Previous in thread | Find similar
Swing embedded in SWT JPo "rjkoop" <rjkoop@THRWHITE.remove-dii-this> - 2011-04-27 15:28 +0000 Re: Swing embedded in SWT "Richard" <richard@THRWHITE.remove-dii-this> - 2011-04-27 15:28 +0000
csiph-web