在父JPanel中显示添加的JPanel

如何在父JPanel看到添加的JPanel ? 我正在使用Netbeans来设计我的UI。 我有一个MainFrame.java ,它包含两个面板; 即headerPanel和bodyPanel 。 在headerPanel我放了三个按钮,让它为button1 , button2和button3 。 我还创建了三个扩展JPanel独立文件,命名为panel1 , panel2和panel3 。 然后我在构造函数的MainFrame.java中添加了bodypanel内的所有三个面板。 bodyPanel.add(panel1); bodyPanel.add(panel2); bodyPanel.add(panel3); 我希望单击相应的按钮时,只有相应的面板应出现在主机的bodypanel中,即如果我单击button1则应显示panel1 。 我已经在button1鼠标监听器方法中尝试了以下代码: bodyPanel.validate(); bodyPanel.getComponent(0).setVisible(true); 但是panel1没有出现。 我这样做是因为面板中添加的组件被分配了索引。 所以首先我尝试获取组件然后使其可见。 它不起作用。

调用具有不同T类的print(List a,T b)时发生错误

我正在尝试学习Java Generics,并找到了以下代码。 public static void print(T a, T b){ System.out.println(a); System.out.println(b); } public static void main(String[] args){ print(new ArrayList(), 1); } 哪个没有问题。 但是,当我将print方法更改为以下内容时,它会给我编译错误。 public static void print(List a, T b){ System.out.println(a); System.out.println(b); } 错误: GenericTest.java:9: error: method print in class GenericTest cannot be applied to given types; print(new ArrayList(), 1); ^ required: List,T found: ArrayList,int […]

是&,|,^位运算符还是逻辑运算符?

首先我了解了& , | , ^是按位运算符,现在有人将它们称为带&& , ||逻辑运算符 ,我完全糊涂了 – 同一个运营商有两个名字? 已有逻辑运算符&& , || ,那么为什么要使用& , | , ^ ?

Firestore:查询android中数组中的所有元素

我有一个类似的数据结构 /Split // Collection {authid} // Document /SentIvitation //Collection {auto-id} //Documnet amount //array 0:10 1:10 2:10 Phonenumbers//array 0:987654321 1:123456789 2:234567890 我需要查询电话号码中的所有元素,我必须检查这些电话号码是否已经存在于另一个集合中。 我的数据结构的下一个路径是 /deyaUsers //Collection {authid}. //Documnet Name: “abc” Email: “abc@gmail.com” Phonenumber:987654321 在没有任何索引的情况下可以在firestore中使用吗?

JFrame没有显示图片

以下是我到目前为止的代码:所有导入都是正确的。 我确定。 :d 当我运行程序时,我得到的只是一个空白帧,没有图片。 它应该出现。 public class WindowPractice extends JFrame { final static int width= 800; final static int height= 400; int x; int y; Image steve; Dimension gamesize= new Dimension (width, height); public WindowPractice(){ setTitle (“Hangman”); setSize (gamesize); setVisible (true); setResizable (false); setLocationRelativeTo (null); setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); } public static void main (String[] args) { […]

欢迎创建我自己的Swing组件的建议

最近我问到哪个是最好的Swing组件绑定到BigDecimal变量(具有一些特定的编辑属性)。 事实certificate,没有一个标准的Swing组件完全适合我,也没有找到我发现的第三方Swing组件库。 所以我决定创建自己的Swing组件。 组件说明: 我想扩展JTextField或JFormattedTextField ,因此我的新组件可以很容易地绑定到BigDecimal变量。 该组件将具有可自定义的缩放和长度属性。 行为: 绘制组件时,它仅显示右侧刻度数字的小数点和空格。 当组件获得焦点时,插入符号应位于小数点左侧。 当用户键入数字(忽略任何其他字符)时,它们出现在插入符的左侧,只接受长度 – 数字的数字,当整数部分已满时,忽略任何其他数字类型。 每当用户键入小数点时,插入符号移动到小数点的右侧。 键入的以下数字显示在小数部分,只有小数位数被认为是小数部分已满的任何其他数字被忽略。 此外,当用户键入小数点左侧的数字时,应显示千位分隔符。 我还希望能够将该组件用作JTable中的单元编辑器 (无需对其进行两次编码)。 在组件上调用getValue()方法应该生成表示刚刚输入的数字的BigDecimal。 我从来没有创建过自己的Swing组件; 我几乎没有使用标准的。 所以我很感激有关创建所描述组件的任何好的教程/信息/提示。 到目前为止, 这是我唯一得到的东西。 提前致谢。

如何通过java代码在属性文件中写入值

我有一个问题。 我有一个属性文件。 我想在该文件中存储一些值,并在需要时在代码中实现。 有没有办法做到这一点? 我正在使用Properties类来做到这一点..

奇怪的’out’变量,System.out.println()

以下是java.lang.System类中的代码(JDK版本1.6) public final static PrintStream out = nullPrintStream(); //out is set to ‘null’ private static PrintStream nullPrintStream() throws NullPointerException { if (currentTimeMillis() > 0) { return null; } throw new NullPointerException(); } 当我们写System.out.println(“Something”); 在我们的代码中,为什么即使’out’设置为’null’也不会得到NullPointerException 无论如何out将通过System类中的以下setOut方法设置 public static void setOut(PrintStream out) { checkIO(); setOut0(out); } Theyn为什么JLS需要nullPrintStream方法?

如何将java.lang.String的空白JSON字符串值反序列化为null?

我正在尝试一个简单的JSON来反序列化到java对象。 但是,我获取了java.lang.String属性值的空String值。 在其余属性中,空值会转换为空值(这就是我想要的)。 我的JSON和相关的Java类如下所示。 JSON字符串: { “eventId” : 1, “title” : “sample event”, “location” : “” } EventBean类POJO: public class EventBean { public Long eventId; public String title; public String location; } 我的主要类代码: ObjectMapper mapper = new ObjectMapper(); mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); mapper.enable(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT); try { File file = new File(JsonTest.class.getClassLoader().getResource(“event.txt”).getFile()); JsonNode root = mapper.readTree(file); // find out the […]

双击提交按钮时如何避免两次插入两个相同的记录?

我有一个弹出窗口,其中有两个onclick方法,如“Submit”和“Discard”。 当我单击提交两次时,它会插入两条记录,这意味着重复记录。 我怎么能避免这个?