相关疑难解决方法(0)

动态添加组件到JDialog

当用户单击JDialog上的按钮时,我无法将JComponents添加到JDialog.基本上我希望它看起来像这样:

打开对话框时

然后,当用户点击"添加新字段"时,我希望它看起来像这样:

用户点击

我似乎无法获得添加新JLabel或JTextField的对话框.谁能指出我正确的方向?

编辑:这是"添加新字段"按钮的操作(现在只是尝试标签).

@Action
public void addNewField()
{
    Container contentPane = getContentPane();
    JLabel label = new JLabel ("welkom");
    contentPane.add(label, BorderLayout.CENTER);
}
Run Code Online (Sandbox Code Playgroud)

解决方案:

我使用了mre的解决方案并让它工作.这是我的最终功能:

@Action
public void addNewField()
{
    System.out.println("New Field...");
    Container contentPane = getContentPane();
    JLabel label = new JLabel ("welcome");
    label.setBounds(10,10,100,10); //some random value that I know is in my dialog
    contentPane.add(label);

    contentPane.validate();
    contentPane.repaint();
    this.pack();
}
Run Code Online (Sandbox Code Playgroud)

我的另一个问题是我在NetBeans中使用"自由设计"布局,这意味着我的标签可能处于一些奇怪的位置而不是在我的对话框中(只是一个猜测).我解决了这个问题,label.setBounds()以便它显示我想要的确切位置.

java swing jdialog

25
推荐指数
3
解决办法
2万
查看次数

Swing:链接切换按钮以及按钮组以及相应的菜单项

对于学校项目,我需要制作一个简单的绘画应用程序,可以绘制线条,椭圆和矩形.

赋值指定我需要每种类型的形状的工具栏按钮菜单项.

通过制作JToggleButtons工具栏和菜单项中的按钮,我想稍微超越一点JRadioButtonMenuItems.此外,我想要它,以便当您选择其中一个工具栏按钮时,它取消选择其他按钮,选择适当的菜单项,并取消选择其他菜单项.同样用于选择其中一个菜单项.

我知道我可以组的任何AbstractButton一个ButtonGroup,但我不知道这是正确的道路要走,是因为虽然它处理一个按钮的"组"就好了,我不知道它可以处理两个并行组.

如果没有ButtonGroup意味着在6个事件监听器中的每一个中,我将不得不手动取消选择其他按钮,并且每对将调用相同的代码来设置形状类型.

我也可以制作两个ButtonGroup,一个用于菜单,一个用于工具栏,但是我还必须复制形状类型设置代码.

在任何一种情况下,我都冒着菜单设置按钮的风险,该按钮设置了一个设置按钮的菜单项,ad adintum.

解决这个问题的最佳方法是什么?

(能够通过Netbeans GUI设计器解决问题的好处;它更容易)

java user-interface swing

13
推荐指数
1
解决办法
8331
查看次数

标签 统计

java ×2

swing ×2

jdialog ×1

user-interface ×1