小编wmd*_*zyl的帖子

动态创建jCheckBox并添加到jScrollPane

编辑:使用下面提供的解决方案,我已经更改了代码,在JScrollPane中有一个JPanel.使用JButton我将JCheckBoxes添加到JScrollPane内的JPanel.这是一个问题,因为JScrollPanecan只接受一个JComponent.解决了其余问题,在JScrollPane中为JPanel设置了gridlayout.为了后代,我在这里保留了原来的问题:

原始问题:我正在尝试动态创建JCheckBox并将它们添加到JScrollPane,但唉,我收效甚微.我将其简化为单一的概念验证实现.

我在JFrame中有一个JScrollPaneon JPanel.同样在JPanel上,我添加了一个按钮,可以在单击时将JCheckBox添加到JScrollPane.应该够简单.按钮内的代码如下:

 private void addCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {

    JCheckBox cb = new JCheckBox("New CheckBox");        

    jScrollPaneCheckBoxes.add(cb);
    jScrollPaneCheckBoxes.revalidate();
 }
Run Code Online (Sandbox Code Playgroud)

代码运行似乎没有错误.我没有例外,使用调试器显示JCheckBox实际上已添加到JScrollPane.不幸的是,应用程序中没有显示任何内容 我需要指导在哪里寻找问题.

这是您可以运行的快速代码.不幸的是,我使用Netbeans和它的GUI设计器将它们放在一起,因此它比它需要的时间长,特别是生成的代码.专注于方法jButton1ActionPerformed,这就是上面代码的来源.

编辑:此代码现在做我需要它.:-)

package dynamiccheckboxsscce;

import javax.swing.JCheckBox;

public class Main extends javax.swing.JFrame {

    /**
     * Creates new form Main
     */
    public Main() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jPanel1 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        jScrollPane1.setPreferredSize(new java.awt.Dimension(250, 250));

        jPanel1.setPreferredSize(new java.awt.Dimension(300, 250));
        jPanel1.setLayout(new java.awt.GridLayout(0, 2, 10, 10));
        jScrollPane1.setViewportView(jPanel1);

        jButton1.setText("Add Checkbox");
        jButton1.addActionListener(new java.awt.event.ActionListener() { …
Run Code Online (Sandbox Code Playgroud)

java swing dynamic jscrollpane jcheckbox

6
推荐指数
1
解决办法
1万
查看次数

如何处理组合框中的非常长的文本项

所以我的文字比他们占用的一些组件要长一些.我已经为大多数问题提出了合理的解决方案,但我不知道如何处理组合框中的非常长的文本项.如果用户看不到文本,他就无法做出正确的决定 - 特别是如果文本的第一部分匹配.请参阅下面的我的SSCCE.

我使用JScrollpane来解决JTextfield中的长文本问题,并且我使用工具提示来解析JXhyperlink字段中的长文本.另外,我为组合框提供了一个工具提示,它可以在选择后显示一个长项,但理想情况下我想在用户做出选择之前将该选项提供给用户.这个代码示例使用Netbeans的GUI设计器(非常适合RAD目的)放在一起,布局是GUI设计者使用的GroupLayout.

package longtextsexample;

import javax.swing.JFileChooser;

public class MainFrame extends javax.swing.JFrame {

    /**
     * Creates new form MainFrame
     */
    public MainFrame() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     */
    @SuppressWarnings("unchecked")
    private void initComponents() {

        jScrollPane1 = new javax.swing.JScrollPane();
        jTextField1 = new javax.swing.JTextField();
        jComboBox1 = new javax.swing.JComboBox();
        jXHyperlink1 = new org.jdesktop.swingx.JXHyperlink();
        jButton1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
        jScrollPane1.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
        jScrollPane1.setViewportView(jTextField1);

        jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 222222222222222222222222", …
Run Code Online (Sandbox Code Playgroud)

java swing text swingx jcombobox

3
推荐指数
1
解决办法
2087
查看次数

如何在 NetBeans 中切换 Subversion 存储库?

我一直在一个项目中使用 NetBeans,并在 riouxsvn.com 上托管一个 Subversion 存储库,但最近服务器突然宕机了,并且一直如此。由于服务器已关闭,我无法使用其“从 URL 导入”功能将其导入到 assembla 中。因此,现在我需要在 assembla.com 的新存储库中签入代码,但使用菜单选项Team > Relocate会出现以下错误:

org.tigris.subversion.javahl.ClientException:svn:“ https://subversion.assembla.com/svn/opmtoolset ”处的存储库具有uuid“36c7bd81-9045-4dfa-9d2c-2ba0fa0ee7f3”,但WC具有“7f9aa1f8” -8c2b-44dd-b220-ac62e04eeab0'

您可能正在尝试重新定位到错误的存储库。您的工作副本是从另一份工作副本创建的。再次检查网址。

您还可以签出目标存储库并创建新的工作副本。

我理解基本消息,但我不确定如何解决它。我发现我现在有两个存储库(新的存储库显然是空的)并且 UUID 不同,但我希望告诉 NetBeans 我想要重新定位是一种可行的方法。

所以我的问题是:有没有办法告诉 NetBeans 我想为我的存储库使用新的 URL?

次要问题:如果存储库(显然)没有按照我期望的方式工作,我该如何解决这个问题?我是否要在 NetBeans 中创建一个新项目并在新主机上再次签入所有代码?那么,NetBeans 中的Relocate函数有什么作用呢?

java svn version-control netbeans

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