我正在尝试更新我编写的程序的GUI。在新的GUI上,我有一个JFrame,其中包含一个JPanel,它有一个JTabbedPane和上面的两个按钮。
在JTabbedPane中,我有三个JPanel,其中包含不同的组件。(如按钮、文本字段等)所以现在我必须让所有组件根据类型对其执行相同的操作。
如果有一个文本字段,我必须做一些事情,但如果有一个按钮,我必须做其他事情。
所以之前我做过这样的事情:
Container focus = general_panel.getFocusCycleRootAncestor();
FocusTraversalPolicy ftp = focus.getFocusTraversalPolicy();
Component comp = ftp.getFirstComponent(general_panel);
Component first = comp;
while(comp != null){
if(comp instanceof JComboBox){
((JComboBox) comp).setSelectedIndex(0);
}
....
comp = ftp.getComponentAfter(focus, comp);
if(comp.equals(first)){
break;
}
}
并且使用带有以前GUI的JGroup可以正常工作。但是现在,与选项卡窗格相同的方法我只接收第一个组件和许多“null”而不是其他组件。
这是System.out.pritnln(comp)的结果,选项卡窗格内有一个Jpanel
javax.swing.JComboBox[,26,24,78x25,layout=javax.swing.plaf.basic.BasicComboBoxUI$Handler,alignmentX=0.0,alignmentY=0.0,border=com.bulenkov.darcula.ui.DarculaComboBoxUI@3b43d6ce,flags=328,maximumSize=,minimumSize=,preferredSize=,isEditable=false,lightWeightPopupEnabled=true,maximumRowCount=8,selectedItemReminder=Bianco]
null
null
null
null
null
null
null
null
null
null
null
null
null
null
“旧的”GUI和新的GUI都是用嵌入NetBeans中的GUI创建者完成的,因此所有组件的设置可能都是相同的。。
但是TabbedPane中的面板的处理方式是否与JFrame上的J面板不同?
为了防止有人在同样的情况下被堆叠,我解决了这个问题:
在GUI类中,使用面板创建了一个容器:
Container focus = pnl_generali.getFocusCycleRootAncestor();
然后下面的方法完成剩下的工作:
public static List<Component> getAllComponents(final Container c) {
Component[] comps = c.getComponents();
List<Component> compList = new ArrayList<Component>();
for (Component comp : comps) {
compList.add(comp);
if (comp instanceof Container) {
compList.addAll(getAllComponents((Container) comp));
}
if(comp instanceof JTextField){
System.out.println(comp);
}
}
return compList;
}
问题内容: 如果我有 我怎样才能从? 如果我这样做,那我就代替了。 问题答案: 组件类型 用这个: 返回表示数组的组件类型的信息。如果此类不表示数组类,则此方法返回。 参考: 安全/不安全铸造 有没有一种方法可以从getComponentType()返回的Class强制转换为Class,而不会收到编译器警告? 采取这种方法: 这是生成的字节码: 如您所见,参数类型被擦除为Object [],因此编
问题内容: 如何获得Java 键盘EG(+ ,+ )上的按键组合? 我使用监听器,键盘上所有按键的监听器。我可以使用该监听器捕获键盘上的所有按键事件。但是,我无法捕捉到(+ + )....等组合键。 问题答案:
主要内容:JavaTuples 获取元组值的方法,JavaTuples 获取元组值方法的特征,JavaTuples 获取元组值的示例JavaTuples 获取元组值的方法 元组具有 getValueX() 方法来获取值,而 getValue() 是一种通过索引获取值的通用方法。例如 Triplet 类具有以下方法。 getValue(index) :从 0 开始返回索引处的值。 getValue0() : 返回索引 0 处的值。 getValue1() : 返回索引 1 处的值。 getValu
在这个例子中,我想在我的父组件中使用我的子组件的状态。
我把一些JPanel放到另一个JPanel中,它的布局是长方体布局和Y轴。在我放置了所有面板之后,我需要从JPanel容器面板获取每个添加的JPanel的Y位置。当我每次都得到零的时候。请告诉我如何从Jpanel容器Jpanel获取每个Jpanel的Y位置。 这就是我所做的,
我正在尝试匹配下面句子中只包含“Jack”的组。我想创建一个正则表达式,它可以获取“hello”之后以及字符串“my friend”之前或之后的任何内容。 以下不起作用: 关于如何在可选组之间建立一些组的任何建议都会很棒。