我正在为一个项目创建一个 JFrame,在尝试编辑它时,设计选项卡是空白的。
我创建了一个测试项目,所有内容都默认,但这个“错误”仍然存在。
这是测试的代码:
package test;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
public class Test extends JFrame {
private JPanel contentPane;
/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                Test frame = new Test();
                frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}
/**
 * Create the frame.
 */
public Test() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel(); …我在 Java 编程方面相对较新,我一直将 Eclipse 与 WindowBuilder 一起使用,但我不明白JFrame在 Swing Designer 中使用 a或 Application Window之间有什么区别。谁能解释一下?
摘要:我正在寻找一种方法来配置Eclipse Window Builder的代码生成器,以将其对象引用放在类主体中,而不是在initalize()方法中本地放置.
详细:
Window builder有一个内置的代码生成器/代码分析器,可以从"图形表单设计器"生成GUI代码,反之亦然.快速设计GUI并了解各种框架如何在java中工作(特别是对于Java初学者)非常有用.但是,当我转向更复杂的GUI设置时,我在设计中使用生成的代码时遇到了问题.问题是大多数生成的代码都放在initialize()方法中,这使得对象驻留在本地范围内并且很难从"外部"获得引用.
到目前为止,我已经手动将类型声明从initialize()方法复制/粘贴到类体中作为公共访问它们,但这似乎是错误的方法.只要我不从图形设计器中重新组织GUI,它就可以正常工作.在这种情况下,代码生成器会在方法中再次放置它的类型声明.initialize()
自动生成的代码如下所示:
   // AUTO-GENERATED CODE
   public class MyGUI {
      private void initialize() {
          // gui objects declared AND created in this scope by Window Builder
          JFrame frame = new JFrame();
          JPanel panel_1 = new JPanel();
          frame.getContentPane().add(panel_1);
    }
  }
我想要的是:
   public class MyGUI {
          // accessible from outside
          public Frame frame = null;
          public JPanel panel_1 = null;
       private void initialize() {
          // gui …我正在使用Google Window Builder for eclipse来创建程序的UI方面.我需要创建一个首选项窗口,以便用户可以更改程序的不同设置.我希望用户能够按下菜单中的"首选项"按钮以显示一个单独的窗口.我遇到的问题是我不知道如何通过Window Builder直观地创建或添加组件到这个单独的窗口.有没有办法通过Window Builder创建一个不是主jframe程序子代的jpanel?
我正在使用此代码创建一个JList:
JList list = new JList<String>(new String[] {"Hello", "World"});
该程序也在 Eclipse Juno 上编译并运行,但是当我尝试使用 WindowBuilder 打开它时,出现以下错误:
new JList<String>(new String[] {"Hello", "World"}) is not valid source for component creation, it references not existing constructor. 
现在,由于我使用的是 Java 7(JDK 和 JRE),所以这不应该是一个错误。
注意:程序的其余部分是正确的。
我需要一些关于以下问题的帮助:
问题:
在设计视图中,在选定的Swing元素周围出现的帧不会显示在正确的位置.内容窗格也不位于窗口内的正确位置(JFrame).似乎无论是否使用布局(例如BorderLayout,GroupLayout).
例如,所选按钮的框架在按钮上方或旁边显示许多像素.在这种情况下,如果要通过使用courser单击选择GUI组件,则不应单击该元素的图形表示,而是单击上方或框架可能的某些像素 - 您必须考虑移位的偏移.通过几乎每次刷新设计视图(F5)或者如果您移动内容窗格中的某些组件,错误放置的帧的偏移量会针对某些像素发生变化 - 有时帧会在上方,有时在下方或旁边.
还有其他人有这个问题吗?
使用Ubuntu 12.04的WindowBuilder Pro是否有人没有这些问题?
什么可能导致此错误以及如何解决?
发生错误的系统环境:
提示:
如果内容窗格未正确放置在窗口内(JFrame),则似乎只会发生错误.有时内容窗格不合适几十个像素,有时它与JFrame本身一样宽,有时它比窗口大一点.
Windwos 7和Xubuntu 13.04在其他相同条件下不会出现错误(我没有测试过Xubuntu 12.04).但是Ubuntu 12.04和Kubuntu 12.04出现了错误.
我的解决方法是使用WindowBuilder Pro和VirtualBox中安装的Xubuntu 13.04.当然这不是一个永久的解决方案,因为我想继续使用Ubuntu 12.04 LTS.
我已阅读http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.wb.doc.user%2Fhtml%2Ffaq.html.
这里描述了同样的问题,但没有答案:https://stackoverflow.com/questions/15818379/windowbuilder-eclipse-away-from-the-actual-component?rq = 1
这里描述了一个可能的解决方法:https://bugs.eclipse.org/bugs/show_bug.cgi ? id = 417224
我希望在表单加载时将一些文本放在text-Field中,这表示用户,当用户点击该文本时,文本会自动删除.
 txtEmailId = new JTextField();
 txtEmailId.setText("Email ID");
我已经写了上面的代码,但它显示文本并保持原样,当用户点击该文本按钮我想删除它.
有没有办法完成这项任务?
经过一段时间,我已经开始从今年早些时候开始一个项目.该应用程序是围绕使用Eclipse ADT Windowbuilder构建的GUI构建的.现在,当我想再次使用窗口构建器查看我的GUI类时,Eclipse开始解析并简单地在"刷新"时崩溃.这是我在终端中收到的崩溃消息:
Exception in thread "Thread-16" org.eclipse.swt.SWTException: Invalid thread access
    at org.eclipse.swt.SWT.error(SWT.java:4397)
    at org.eclipse.swt.SWT.error(SWT.java:4312)
    at org.eclipse.swt.SWT.error(SWT.java:4283)
    at org.eclipse.swt.widgets.Widget.error(Widget.java:481)
    at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:419)
    at org.eclipse.swt.widgets.Control.isVisible(Control.java:3620)
    at org.eclipse.swt.widgets.ProgressBar.timerProc(ProgressBar.java:283)
    at org.eclipse.swt.widgets.Display.windowTimerProc(Display.java:4587)
[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
java: ../../src/xcb_io.c:274: poll_for_event: Zusicherung »!xcb_xlib_threads_sequence_lost« nicht erfüllt.
到目前为止,我不知道如何解决这个问题.Windowbuilder已经使用这个应用程序在几个月前工作了.
编辑:
这是GUI的类.
public class DBDatabaseSystem implements Serializable {
    public static JFrame mainGui;
    public static Config config;
    private static final …我想知道什么是eclipse版本将支持windowbuilder及其可在线安装?
windowbuilder ×10
java ×9
eclipse ×8
swing ×6
jframe ×2
contentpane ×1
frame ×1
gwt ×1
java-ee ×1
jtextfield ×1
prompt ×1
swt ×1
ubuntu ×1