说明当前在 jtabbedpane 中显示什么 jpanel 的方法
Method to say what jpanel is shown at the moment in a jtabbedpane
我没有找到说明此刻显示什么 jpanel 以及我此刻在屏幕上看到什么的方法。我尝试了 isShowing() 、 hasFocus() 、 isEnabled() 但从未奏效。非常感谢。
您可以使用 getSelectedComponent()
或 getSelectedIndex()
在 jtabbed 窗格上获取当前活动的面板。考虑以下示例,这将在单击按钮时将当前活动面板的颜色设置为黄色
public class JTabbedPaneDemo extends JFrame {
public JTabbedPaneDemo() {
JButton button = new JButton("color");
JPanel mainpanel = new JPanel();
JTabbedPane jtbExample = new JTabbedPane();
JPanel jplInnerPanel1 = new JPanel();
jtbExample.addTab("t1", jplInnerPanel1);
jtbExample.setSelectedIndex(0);
JPanel jplInnerPanel2 = new JPanel();
jtbExample.addTab("t2", jplInnerPanel2);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jtbExample.getSelectedComponent().setBackground(Color.yellow);
}
});
setLayout(new GridLayout(1, 1));
mainpanel.setLayout(new BorderLayout());
mainpanel.add(jtbExample, BorderLayout.CENTER);
mainpanel.add(button,BorderLayout.NORTH);
this.setContentPane(mainpanel);
this.setVisible(true);
}
public static void main(String[] args) {
new JTabbedPaneDemo();
}
}
并征求您的意见
myPane.getSelectedComponent()
将 return 活动组件。和 getSelectedComponent()
return component
对象。所以 getComponents()
中没有方法 component
class.if 你将获得 jpnel 中的所有组件然后你必须在调用 getComponents()
示例
之前将 returned 组件转换为 jpanel
Component[] c=((JPanel)jtbExample.getSelectedComponent()).getComponents();
征求意见 2
如果你想验证活动的是 jpanel1 然后转换到 jpanel
并检查 follow.make 确定你已经将 jPanel12 声明为 field
变量。
if((JPanel)jTabbedPane2.getSelectedComponent()==jPanel12){
System.out.println("jPanel12 is active");
}
我没有找到说明此刻显示什么 jpanel 以及我此刻在屏幕上看到什么的方法。我尝试了 isShowing() 、 hasFocus() 、 isEnabled() 但从未奏效。非常感谢。
您可以使用 getSelectedComponent()
或 getSelectedIndex()
在 jtabbed 窗格上获取当前活动的面板。考虑以下示例,这将在单击按钮时将当前活动面板的颜色设置为黄色
public class JTabbedPaneDemo extends JFrame {
public JTabbedPaneDemo() {
JButton button = new JButton("color");
JPanel mainpanel = new JPanel();
JTabbedPane jtbExample = new JTabbedPane();
JPanel jplInnerPanel1 = new JPanel();
jtbExample.addTab("t1", jplInnerPanel1);
jtbExample.setSelectedIndex(0);
JPanel jplInnerPanel2 = new JPanel();
jtbExample.addTab("t2", jplInnerPanel2);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jtbExample.getSelectedComponent().setBackground(Color.yellow);
}
});
setLayout(new GridLayout(1, 1));
mainpanel.setLayout(new BorderLayout());
mainpanel.add(jtbExample, BorderLayout.CENTER);
mainpanel.add(button,BorderLayout.NORTH);
this.setContentPane(mainpanel);
this.setVisible(true);
}
public static void main(String[] args) {
new JTabbedPaneDemo();
}
}
并征求您的意见
myPane.getSelectedComponent()
将 return 活动组件。和 getSelectedComponent()
return component
对象。所以 getComponents()
中没有方法 component
class.if 你将获得 jpnel 中的所有组件然后你必须在调用 getComponents()
示例
jpanel
Component[] c=((JPanel)jtbExample.getSelectedComponent()).getComponents();
征求意见 2
如果你想验证活动的是 jpanel1 然后转换到 jpanel
并检查 follow.make 确定你已经将 jPanel12 声明为 field
变量。
if((JPanel)jTabbedPane2.getSelectedComponent()==jPanel12){
System.out.println("jPanel12 is active");
}