基本上我编辑属性private string status="OK"中UserObject()的一个DefaultTreeNode().
我有其中CustomRenderer implements DefaultCellRenderer,其通过渲染的"OK"属性设置图标UserObject的TreeNode.
最初,当我选择一个节点时,图标会发生变化.我正在使用Tree.revalidate()&Tree.repaint(),并且正在反映这一变化.
但是,我不确定这是否非常有效.这样做的正确方法是什么?我尝试过,TreeModel.nodesChanged(new DefaultMutableTreeNode(myUserObject))但TreeNodeChanged event不会开火.
因此,每次更改TreeNode的用户工作以查看图形更新时,我是否坚持使用重新绘制整个树?
我刚刚注意到,当至少满足以下两个条件时,a JButton不会将文本更改NAME为耦合Action对象的值:
preferredSize属性不是默认值.text属性不是默认值""(空).可能有其他属性值组合使按钮忽略操作的名称,但是当我将一个或另一个置于默认值时,它可以工作.
我将明确表明该操作已正确注册,并且该hideActionText属性为false.此外,我应该说,我通过设置这些属性的属性面板中的Netbeans GUI设计.
一些谷歌搜索没有带来什么.这是正常行为,是否可以解决?
我已经声明了一个数组:
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)
因为那对我不起作用
我有以下实体
@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) 我尝试并阅读有关此问题的其他问题,但我无法将逻辑应用于我的案例.我想从这个表中选择:
@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)
有人可以解释一下如何解决这个问题吗?最好的祝福
我有一个程序,需要用户输入(从输入框)并将其添加到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) hashCode()和equals()方法均未覆盖StringBuffer和StringBuilder,我是想这幅下面的代码..
//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两的情况下,当我使用StringBuffer或StringBuilder字符串的情况下,但2,因为字符串具有覆盖hashCode()和equals()方法,请告知.
我正在使用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)
但仍然没有显示背景图像任何人可以帮助我