[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.technology.albireo] Re: Eclipse view plugin: swing problem

Hi Ben,

I don't know how to solve but I've included the albireo newsgroup which
deals with Swing/SWT.

The problem looks like the Swing event loop is not working appropiately
hence no events are delivered to the Swing components.

Tom

Ben schrieb:
> Hi,
> 
> Thanks in advance for any help that could be provided.
> 
> I am new to the Eclipse plugin world. I have a very short amount of time
> to complete my project and do not have time to learn the SWT library. I
> am very familiar with the Swing library and i have found a way to wrap
> Swing into the view by doing the following.
> 
> public void createPartControl(Composite parent) {
>        try{
>           
> UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
> 
>        }catch (Exception e){
>            //TODO: manage exception
>        }
>              Composite swtAwtComponent = new Composite(parent,
> SWT.EMBEDDED);
>        java.awt.Frame frame = SWT_AWT.new_Frame( swtAwtComponent );
>        Ftie_ui ui = new Ftie_ui();
>        frame.add(ui);
> }
> 
> The Ftie_ui class extends JPanel. Normally, with access to a JPanel, I
> figured it would be easy to develop my project with Swing. I added 2
> JLabels, 1 JTextField, 1 JPasswordField and 1 JButton. When i ran
> Eclipse with my plugin, Everything got loaded in my JPanel, but i could
> not access the JTextField and the JPasswordField. I have tryed
> setEnabled(true) and setEditable(true) on the fields, but with no
> success, I could not manage to put a cursor is the fields. The Ftie_ui
> class looks like the following (I know, theres no layout yet).
> 
> I am running, windows vista 32bit, java 1.6, Eclipse 3.4.0
> I will supply a complete code snippet in case it would help.
> 
> For any help someone could bring, I would greatly appreciate it.
> Thank you
> Ben
> 
> 
> package ftie.views;
> 
> import javax.swing.*;
> 
> import org.eclipse.swt.widgets.Composite;
> import org.eclipse.ui.part.*;
> import org.eclipse.swt.awt.SWT_AWT;
> import org.eclipse.ui.*;
> import org.eclipse.swt.SWT;
> 
> 
> public class FtieView extends ViewPart {
> 
>    Composite swtAwtComponent;
>    java.awt.Frame frame;
>    Ftie_ui ui;
> 
>    public FtieView() {
> 
>    }
> 
>    public void createPartControl(Composite parent) {
>        try{
>           
> UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
> 
>        }catch (Exception e){
>            //TODO: manage exception
>        }
>              swtAwtComponent = new Composite(parent, SWT.EMBEDDED);
>        frame = SWT_AWT.new_Frame( swtAwtComponent );
>        ui = new Ftie_ui();
>        frame.add(ui);
> 
>    }
> 
> 
>    public void setFocus() {
> 
> 
>    }
> }
> 
> 
> 
> package ftie.views;
> 
> import javax.swing.*;
> 
> public class Ftie_ui extends JPanel{
> 
>    JLabel labelUser;
>    JLabel labelPass;
>    JTextField txtUser;
>    JPasswordField txtPass;
>    JButton btnLogin;
>        public Ftie_ui()
>    {
>        //TODO: add layout
> 
>              labelUser = new JLabel();
>        labelUser.setText("Username:");
>              labelPass = new JLabel();
>        labelPass.setText("Password:");
>              txtUser = new JTextField(20);
>        txtUser.setEditable(true);
>        txtUser.setEnabled(true);
>              txtPass = new JPasswordField(20);
> 
>        btnLogin = new JButton("Login");
>              add(labelUser);
>        add(labelPass);
>        add(txtUser);
>        add(txtPass);
>        add(btnLogin);
>    }
> }
> 
> 
> 
> 
> 
> 
> 


-- 
B e s t S o l u t i o n . at
--------------------------------------------------------------------
Tom Schindl                                          JFace-Committer
--------------------------------------------------------------------