小编Sta*_*avL的帖子

在不重新绘制树的情况下更新JTree中的ImageIcon?

基本上我编辑属性private string status="OK"UserObject()的一个DefaultTreeNode().

我有其中CustomRenderer implements DefaultCellRenderer,其通过渲染的"OK"属性设置图标UserObjectTreeNode.

最初,当我选择一个节点时,图标会发生变化.我正在使用Tree.revalidate()&Tree.repaint(),并且正在反映这一变化.

但是,我不确定这是否非常有效.这样做的正确方法是什么?我尝试过,TreeModel.nodesChanged(new DefaultMutableTreeNode(myUserObject))TreeNodeChanged event不会开火.

因此,每次更改TreeNode的用户工作以查看图形更新时,我是否坚持使用重新绘制整个树?

java swing jtree repaint treemodel

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

当preferredSize为非默认值时,JButton不会采取操作名称

我刚刚注意到,当至少满足以下两个条件时,a JButton不会将文本更改NAME为耦合Action对象的值:

  • 按钮的preferredSize属性不是默认值.
  • 按钮的text属性不是默认值""(空).

可能有其他属性值组合使按钮忽略操作的名称,但是当我将一个或另一个置于默认值时,它可以工作.

我将明确表明该操作已正确注册,并且该hideActionText属性为false.此外,我应该说,我通过设置这些属性的属性面板的Netbeans GUI设计.

一些谷歌搜索没有带来什么.这是正常行为,是否可以解决?

java swing netbeans action jbutton

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

将JPanel添加到JPanel数组

我已经声明了一个数组:

private javax.swing.JPanel[] panelArray = new javax.swing.JPanel[3];
Run Code Online (Sandbox Code Playgroud)

我还有3个面板:panel0,panel1和panel2.我可以将这些面板添加到阵列中吗?即

panelArray[0] = panel0;
panelArray[1] = panel1;
panelArray[2] = panel2;
Run Code Online (Sandbox Code Playgroud)

然后像这样操纵数组?

boolean[] myBools; .... then set them as true/false
for(int i=0; i<3; i++)
{
    if(myBools[i])
        panelArray[i].setVisible(true)
}
Run Code Online (Sandbox Code Playgroud)

因为那对我不起作用

java arrays swing jpanel

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

Spring Data JPA执行批处理保存问题

我有以下实体

@Entity
@Table(name = "APP_ITEM")
public class AppItem implements Serializable {
private static final long serialVersionUID = 1L;

@EmbeddedId
private AppItemPK AppItemPK;

 public AppItemPK getAppItemPK() {
    return appItemPK;
}

public void setAppItemPK(
        AppItemPK appItemPK) {
    this.appItemPK = appItemPK;
}
} 


@Embeddable
public class AppItemPK implements Serializable {

private static final long serialVersionUID = 1L;
@Column(name = "app_id")
private Long appId;
@Column(name = "item_id")
private Long itemId;

public Long getAppId() {
    return appId;
}

public void setAppId(Long appId) {
    this.appId = …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa

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

HQL错误 - 连接所需的路径

我尝试并阅读有关此问题的其他问题,但我无法将逻辑应用于我的案例.我想从这个表中选择:

@Entity
public class LabelStatistics {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int ID;

    @Enumerated(EnumType.STRING)
    private AnalysisType type;

    private String labelId;
    private String hexLabelId;
    private Timestamp timestamp;

    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    private List<LabelStatisticsItem> results;
Run Code Online (Sandbox Code Playgroud)

我正在尝试执行以下语句:

@Query(value = "SELECT s1.labelId, s1.type, s1.timestamp "
        + "FROM LabelStatistics s1 "
        + "INNER JOIN LabelStatistics s2 on s1.labelId = s2.labelId  and s1.type = s2.type and s1.timestamp < s2.timestamp")
List<Object[]> findLatestStatisticsEntries();
Run Code Online (Sandbox Code Playgroud)

我一直收到这个错误:

org.hibernate.hql.internal.ast.QuerySyntaxException: Path expected for join! 
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下如何解决这个问题吗?最好的祝福

spring hql spring-data spring-data-jpa

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

关于如何将文本字段中的内容添加到JList中

我有一个程序,需要用户输入(从输入框)并将其添加到JList.但是,当我单击程序上的"添加"按钮时,会发生错误.

这是我希望能够运作的代码

JButton addButton = new JButton( "<-Add" );
         addButton.addActionListener(
         new ActionListener() {
            public void actionPerformed( ActionEvent event )
                         {
                         final String name=inputField.getText();
                         // prompt user for new philosopher's name

                         // add new philosopher to model
                         philosophers.addElement( name );
                     }
                 }
                 );
Run Code Online (Sandbox Code Playgroud)

编辑:以下所有的代码虽然我测试了这部分,我相信它的工作原理(除了我试图添加到文本框的列表器)

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

    public class PhilosophersJList extends JFrame {

     private DefaultListModel philosophers;
     private JList list;
     private JTextField inputField;

     public PhilosophersJList()
         {
         super( "Favorite Philosophers" );

         // create a DefaultListModel to store philosophers …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing jlist

0
推荐指数
1
解决办法
6783
查看次数

关于StringBuffer和StringBuilder中没有重写方法?

hashCode()equals()方法均未覆盖StringBufferStringBuilder,我是想这幅下面的代码..

    //StringBuffer does not override equals & hashCode
        //StringBuffer s = new StringBuffer("saral");
        //StringBuffer s1 = new StringBuffer("saral");

        StringBuilder s = new StringBuilder("saral");
        StringBuilder s1 = new StringBuilder("saral");          

        //String s = new String("saral");
        //String s1 = new String("saral");

       HashSet set=new HashSet();
        set.add(s);
        set.add(s1);
        set.add(null);
       System.out.println("There are "+set.size()+" elements in the set.");
Run Code Online (Sandbox Code Playgroud)

从而导致在来我是个得到的是3两的情况下,当我使用StringBufferStringBuilder字符串的情况下,但2,因为字符串具有覆盖hashCode()equals()方法,请告知.

java

0
推荐指数
1
解决办法
1102
查看次数

在JTable中添加背景图像

我正在使用JInternalFrame我添加的内容JTable.现在我要显示背景图像JTable.所以我在JScrollPane's自定义代码中添加了以下代码.

jScrollPane1 = new javax.swing.JScrollPane(ViewBalanceReportTable) {{
    setOpaque(false);
    getViewport().setOpaque(false);
}
@Override
protected void paintComponent(Graphics g) {
    final int imageWidth = image.getIconWidth();
    final int imageHeight = image.getIconHeight();
    final Dimension d = getSize();
    final int x = (d.width - imageWidth)/2;
    final int y = (d.height - imageHeight)/2;
    g.drawImage(image.getImage(), x, y, null, null);
    super.paintComponent(g);
}

}
Run Code Online (Sandbox Code Playgroud)

但仍然没有显示背景图像任何人可以帮助我

java swing jtable

0
推荐指数
1
解决办法
3083
查看次数