创建方法以在 Selected JTabbedPane 中添加组件
Create a Method to add components in Selected JTabbedPane
我是新手,想了好几天了,还是解决不了,谁能帮帮我。
我把主要的两个 JPanel
合二为一 JFrame
。我在第一个面板中有一些按钮。我有一种方法可以通过调用另一种方法来创建 JPanels
然后将其添加到选项卡,从而将面板添加到 JTabbedPane
。
我想要一种方法,可以在我单击第一个面板中的按钮时将任何 buttons/components 添加到我想要的“选定”选项卡。
我怎样才能做到这一点。如果有人想帮助我,我可以 post 这三种方法的代码。提前致谢。
第一个代码向 JTabbedPane
、
添加新标签
private class TabPlus implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
JPanel panel = CreateSlice();
String title = "Slice " + String.valueOf(pane.getTabCount());
pane.insertTab(title, null, panel, null, pane.getTabCount() - 1);
}
}
第二个代码用于选择选项卡,
private class TabSelect implements ChangeListener {
@Override
public void stateChanged(ChangeEvent e) {
JTabbedPane source = (JTabbedPane) e.getSource();
if (source.getSelectedComponent() != null) {
int index = source.getSelectedIndex();
System.out.print(index);
}
}
}
这将创建要添加到 JTabbedPane
、
的 JPanel
public JPanel CreateSlice() {
JPanel Slice = new JPanel();
Slice.setPreferredSize(new Dimension(550, 600));
return Slice;
}
按钮在另一个面板中,有自己的操作。
您可以通过这种方式添加带有按钮的面板:
public JPanel CreateSlice() {
JPanel Slice = new JPanel();
Slice.setPreferredSize(new Dimension(550, 600));
JPanel buttonsPanel = new JPanel();
buttonsPanel.add(new JButton("dumpButton"));
buttonsPanel.setVisible(false);
Slice.add(buttonsPanel);
return Slice;
}
并且每当发生选择时,将按钮面板的可见性设置为 true。
我想,我找到了一种方法,我的索引变量 int index = source.getSelectedIndex();
必须是 public 变量,然后在另一个选项卡的按钮的动作事件中将组件添加到这个选定的 JTabbedPane
.
在我的例子中,我引入了 ArrayList
面板 (network_slices),每次我将面板添加到 JTabbedPane
,它也会添加到 ArrayList
。然后我使用选定的 JTabbedPane 的索引从 ArrayList 调用面板。这是代码的一部分。
private class TabSelect implements ChangeListener {
@Override
public void stateChanged(ChangeEvent e) {
JTabbedPane source = (JTabbedPane) e.getSource();
if (source.getSelectedComponent() != null) {
index = source.getSelectedIndex();
System.out.print(index);
}
}
}
private class AddTab implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
Slice panel = new Slice();
panel.setPreferredSize(new Dimension(550, 600));
String title = "Slice " + String.valueOf(pane.getTabCount());
pane.insertTab(title, null, panel, null, pane.getTabCount() - 1);
network_slices.add(panel);
}
}
private class AddNetworkFuncitons implements ActionListener {
public void actionPerformed(ActionEvent e) {
String buttonselected = (String) e.getActionCommand();
JButton button = new JButton(buttonselected);
network_slices.get(index).add(button).setVisible(true);
System.out.print(buttonselected);
}
}
我是新手,想了好几天了,还是解决不了,谁能帮帮我。
我把主要的两个 JPanel
合二为一 JFrame
。我在第一个面板中有一些按钮。我有一种方法可以通过调用另一种方法来创建 JPanels
然后将其添加到选项卡,从而将面板添加到 JTabbedPane
。
我想要一种方法,可以在我单击第一个面板中的按钮时将任何 buttons/components 添加到我想要的“选定”选项卡。 我怎样才能做到这一点。如果有人想帮助我,我可以 post 这三种方法的代码。提前致谢。
第一个代码向 JTabbedPane
、
private class TabPlus implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
JPanel panel = CreateSlice();
String title = "Slice " + String.valueOf(pane.getTabCount());
pane.insertTab(title, null, panel, null, pane.getTabCount() - 1);
}
}
第二个代码用于选择选项卡,
private class TabSelect implements ChangeListener {
@Override
public void stateChanged(ChangeEvent e) {
JTabbedPane source = (JTabbedPane) e.getSource();
if (source.getSelectedComponent() != null) {
int index = source.getSelectedIndex();
System.out.print(index);
}
}
}
这将创建要添加到 JTabbedPane
、
JPanel
public JPanel CreateSlice() {
JPanel Slice = new JPanel();
Slice.setPreferredSize(new Dimension(550, 600));
return Slice;
}
按钮在另一个面板中,有自己的操作。
您可以通过这种方式添加带有按钮的面板:
public JPanel CreateSlice() {
JPanel Slice = new JPanel();
Slice.setPreferredSize(new Dimension(550, 600));
JPanel buttonsPanel = new JPanel();
buttonsPanel.add(new JButton("dumpButton"));
buttonsPanel.setVisible(false);
Slice.add(buttonsPanel);
return Slice;
}
并且每当发生选择时,将按钮面板的可见性设置为 true。
我想,我找到了一种方法,我的索引变量 int index = source.getSelectedIndex();
必须是 public 变量,然后在另一个选项卡的按钮的动作事件中将组件添加到这个选定的 JTabbedPane
.
在我的例子中,我引入了 ArrayList
面板 (network_slices),每次我将面板添加到 JTabbedPane
,它也会添加到 ArrayList
。然后我使用选定的 JTabbedPane 的索引从 ArrayList 调用面板。这是代码的一部分。
private class TabSelect implements ChangeListener {
@Override
public void stateChanged(ChangeEvent e) {
JTabbedPane source = (JTabbedPane) e.getSource();
if (source.getSelectedComponent() != null) {
index = source.getSelectedIndex();
System.out.print(index);
}
}
}
private class AddTab implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
Slice panel = new Slice();
panel.setPreferredSize(new Dimension(550, 600));
String title = "Slice " + String.valueOf(pane.getTabCount());
pane.insertTab(title, null, panel, null, pane.getTabCount() - 1);
network_slices.add(panel);
}
}
private class AddNetworkFuncitons implements ActionListener {
public void actionPerformed(ActionEvent e) {
String buttonselected = (String) e.getActionCommand();
JButton button = new JButton(buttonselected);
network_slices.get(index).add(button).setVisible(true);
System.out.print(buttonselected);
}
}