有没有办法强制SWT按钮文本跨越两行,在SWT代码中手动或使用WindowBuilder GUI?我有这个:

我想要这样的东西(数字改变的图像来实现这一点):

可能吗?怎么样?
我正在写一个简单的Swing应用程序.我尝试添加如下所示的复选框.一旦我添加了actionHandler loadPickers,名称Foo就会从它位于chckbxNewCheckBox右侧的位置消失.我尝试添加对setHideActionText()的调用,但现在没有显示任何内容.
JCheckBox chckbxNewCheckBox = new JCheckBox("Foo");
chckbxNewCheckBox.setToolTipText("");
chckbxNewCheckBox.setName("");
chckbxNewCheckBox.setHideActionText(true);
chckbxNewCheckBox.setAction(loadPickers);
mainPanel.add(chckbxNewCheckBox, "flowy,cell 0 1");
Run Code Online (Sandbox Code Playgroud)
如果我将其更改为此功能正常.我看到文字"Foo".
JCheckBox chckbxNewCheckBox = new JCheckBox("Foo");
chckbxNewCheckBox.setToolTipText("");
chckbxNewCheckBox.setName("");
chckbxNewCheckBox.setHideActionText(true);
chckbxNewCheckBox.setAction(loadPickers);
chckbxNewCheckBox.setText("Foo"); //THIS DOES NOT WORK IF IT COMES BEFORE SET ACTION
mainPanel.add(chckbxNewCheckBox, "flowy,cell 0 1");
Run Code Online (Sandbox Code Playgroud)
为了完整起见,我已将此处包含在此处.为什么这样工作?我在这里错过了什么吗?目前我正在使用Eclipse的WindowBuilder插件和Mig布局系统(我非常喜欢).不幸的是,我还没弄清楚是否有办法让WindowBuilder使用.setText()方法而不是使用构造函数.对于我做错的任何帮助,对此行为存在的原因有任何见解,或者WindowBuilder的一个好的解决方法都会很棒.
private class LoadPickers extends AbstractAction {
public LoadPickers() {
//putValue(NAME, "SwingAction_2");
putValue(SHORT_DESCRIPTION, "Some short description");
}
public void actionPerformed(ActionEvent e) {
}
}
Run Code Online (Sandbox Code Playgroud) 我正在学习 JAVA,正在寻找一个可以在 Eclipse 中使用的 GUI 编辑器/创建器。我用谷歌搜索并找到了“WindowBuilder”。我通过以下说明安装了它:
https://developers.google.com/java-dev-tools/wbpro/installation/
当我安装它时,我选中了每个复选框来安装所有内容。但是,当我创建一个类来创建 GUI,然后单击“设计”选项卡时,我得到“这不是 GUI 类,无法以图形方式进行编辑”(即使我选择了 WindowBuilder 的选项)创建类)。
当我打开已经包含(工作)GUI 的类时,我得到“未知的 GUI 工具包”。
有没有办法让 WindowBuilder 运行,或者是否有更好的解决方案?
我目前正在尝试使用具有多个 jpanels 的 jframe 制作一个小应用程序。我对此有几个问题。
必须有一种更简洁的方法来制作具有 16 个不同面板的应用程序,而不是将所有面板都放在一个类中。还有哪些其他选择。
目前我只有 3 个面板。我没有进一步进行,因为其中两个面板没有反映我的更改。它们是我称之为使用的两个面板
移除所有();
添加();
重新验证();
重绘();
是什么导致我调用的其他面板显示为空白?
这是我所拥有的,任何建议都会很好。谢谢
public class Jframetest extends JFrame {
private JPanel Home;
private JPanel masslog;
private JPanel DEH;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Jframetest frame = new Jframetest();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public Jframetest() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setBounds(100, 100, 618, 373);
Home = …Run Code Online (Sandbox Code Playgroud) 我在一个项目中使用GWT,最近开始在Eclipse中使用WindowBuilder.我在WindowBuilder中创建了一个新类并添加了一些小部件.一切正常,一切都有效.但是,当我尝试编辑某些面板的CSS并单击编辑"styleName"字段时,我收到一条错误消息,其中显示:
"There are no CSS files referenced from modules HTML."
Run Code Online (Sandbox Code Playgroud)
我尝试在我的基本html文件和Web.gwt.xml文件中添加一个样式表的链接,但这似乎不起作用.我犯了同样的错误.
在其他类中,我使用了UiBinder并在XML文件中添加了样式,但是这个类不使用UiBinder.那么如何将CSS文件与类相关联以便WindowBuilder允许我编辑样式?
在这个项目中,我没有或使用"war"目录.该项目是一个couchapp,所以我将它编译到另一个目录并从那里推送到CouchDB.似乎在其他项目中,有一个带有war目录的原始项目设置,此功能正常工作.
WindowBuilder for Swing将复选框创建为局部变量,将文本框创建为成员数据.这种不一致困扰着我.因为无论如何它都被链接到顶层JFrame,只要JFrame有对它们的引用,这些小部件肯定会存在,因此似乎不需要将文本框作为成员数据.在我看来,文本框应该像复选框一样是本地人.当地人的封装效果更好.本地引用可能会死于WindowBuilder生成的GUI对象(扩展JFrame的类)构造函数的末尾,而JFrame仍然会引用所有小部件.
使它们成为本地并将"最终"放在这些窗口小部件声明的前面,以便它们可以在事件处理程序的匿名内部类中使用,这是使它们工作所需的.我还必须重新排列顺序,因为文本框的实例化顺序无关紧要,如果它们都被声明为成员.顺序对本地人很重要,所以我不得不将"新"运算符(实例化)的使用"向上"移动到本地范围的顶部.他们只需要在使用它们的事件处理程序的北面.
到目前为止,我发现没有错误,所以我问为什么WindowBuilder没有这样开始.我是Swing和WindowBuilder的新手,所以很有可能WindowBuilder有很好的理由不这样做,即使它似乎是我的情况的正确方法.
以下是在一些简单的命名修改之后但在上述修改之前的WindowBuilder输出.这是输出,因为它有2个文本框,2个复选框,北边有2个按钮,中间有1个标签.这是粘贴在这里,以防有人可以在这里看到一些东西可以解释WindowBuilder使用成员数据背后的选择.
public class TestWB extends JFrame
{
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTextField textBox1;
private JTextField textBox2;
public TestWB() // the constructor
{
... // see the constructor below
}
}
Run Code Online (Sandbox Code Playgroud)
上述类的构造函数:
public TestWB()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 646, 451);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JPanel northPanel = new JPanel();
contentPane.add(northPanel, BorderLayout.NORTH);
JButton button1 = new JButton("button1");
button1.addActionListener(new ActionListener() …Run Code Online (Sandbox Code Playgroud) 我试图了解JavaFX的内容...我的程序是基于WindowBuilder的Gui,我想要一个JavaFX图,以及我的应用程序中显示的JavaFX实时视频.
我如何在我的代码中实现它?我试过这个,但我无法让它奔跑.数据馈送不是问题.我只需要在我的JFrame中查看它作为小方块......
现在困惑:(
这是我的代码:(我很抱歉这有点长,但我责怪JavaFX的示例代码:p
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.UIManager;
import java.awt.Canvas;
import java.awt.SystemColor;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import javax.swing.UIManager.*;
/**
* @author
*
*/
public class MyClientApp extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
protected static final String BufferedWriter = null;
JFrame frame;
private JTextField textFieldUsername;
/**
* Create the application.
*/
public MyClientApp(BufferedWriter serverDataOut, BufferedReader serverDataIn) {
initialize();
}
/**
* Initialize the contents of the frame.
*
* @param …Run Code Online (Sandbox Code Playgroud) 我正在尝试重叠JPanel实例.将面板直接放在另一个面板上,位置和尺寸完全相同.每次我这样做,它将另一个面板移动到另一侧或下面,前一个面板位于另一个更大的面板内,并且其中有按钮.
我该怎么做?请记住,它使用的是Window Builder工具.
我使用WindowBuilder Pro设计了一个 Swing 应用程序,我需要迁移到另一台计算机。所以我压缩了项目(从本地git文件夹)并导入到新计算机中。但是,当我右键单击该文件并选择Open With WindowBuilder 时,它就像一个普通文件,没有设计选项卡。但是,我可以新建一个WindowBuilder文件。那么我迁移时是否遗漏了什么?
在我的代码中,我调用了一些项目(我的按钮的名称指向不同的项目。名称和所有内容均取自数据库)我想要一个 J ScrollPane 来包围我的按钮,我该怎么办?我只想在滚动窗格内调用按钮。这是我的代码
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class AdminClass implements ActionListener {
ProjectButton[] buttons = new ProjectButton[35];
//Creating data field for unique Ids in the form of array list
ArrayList<Integer> uniqueIDList = new ArrayList<Integer>();
String[] projectNames;
int[] uniqueIds;
Connection conn1 = null;
Statement stmt1 = null;
JFrame frame = new JFrame("Admin Panel");
private JPanel panel = new JPanel();
JButton btnNewButton …Run Code Online (Sandbox Code Playgroud)