QA@IT
«質問へ戻る

質問を投稿

メニューバーの、メニューアイテムから、押した回数だけ、addtab する。

こんばんは。
武居 紘史 です。
次のコードで、

コード
    int count = 0;
    JPanel panel = new JPanel();
    JTabbedPane tabpane ;//= new JTabbedPane[20];
    JPanel addpanel[] = new JPanel[20]; 
    int i = 0;
    public void changelistener()
    {
                count++;
                System.out.println("couunt = " + count);
                tabpane = new JTabbedPane();
                //tabpane.addChangeListener(this);
                tabpane.setBounds(0,0,500,500);
                String count_s = String.valueOf(count);

                for (i = 1; i < count; i++) 
                {
                    //count++;
                    System.out.println(i);
                    //tabpane.addTab(null, new JButton("title1"));
                    tabpane.addTab(null, new JLabel("Tab " + i));

                    tabpane.setTabComponentAt(i, new JLabel("Tab " + i, UIManager.getIcon("FileView.fileIcon"), JLabel.TRAILING));
                                        /* ここに、addtabで、メニューアイテムで、追加を押した分だけ、増やす。
                                        * また、このコードでは、2つまでしか、作れない。
                                        * 作れても、選択できない。
                                        */

                    //tabpane.set
                    //System.out.println("ret = " + ret);
                    //changelistener();

                }
                panel.add(tabpane);
    }
    public MainActivity()
    {
        panel.setLayout(null);
        show("ようこそ2。");
        JMenuBar bar = new JMenuBar();

        JMenu menu = new JMenu("タブ");
        JMenuItem item = new JMenuItem("追加");
        item.addActionListener(new ActionListener()
        {
            @Override
            public void actionPerformed(ActionEvent e)
            {
                    changelistener();   
            }
        });
        menu.add(item);

        bar.add(menu);

        setJMenuBar(bar);

        JTabbedPane pane11 = new JTabbedPane();
        pane11.addTab(null, new JLabel("welcome"));
        panel.setBounds(0,0,400,400);
        panel.add(pane11);

        getContentPane().add(panel);
    }

となっていますが、どうしても、増やすものの、選択(選べない)できなかったり、2つまでしか作れません。
menu bar の menu item を、押した分だけ、表示するには、正しい方法は、ないのでしょうか?
よろしくお願い致します。

こんばんは。
武居 紘史 です。
次のコードで、


```java
コード
	int count = 0;
	JPanel panel = new JPanel();
	JTabbedPane tabpane ;//= new JTabbedPane[20];
	JPanel addpanel[] = new JPanel[20]; 
	int i = 0;
	public void changelistener()
	{
				count++;
				System.out.println("couunt = " + count);
				tabpane = new JTabbedPane();
				//tabpane.addChangeListener(this);
				tabpane.setBounds(0,0,500,500);
				String count_s = String.valueOf(count);

				for (i = 1; i < count; i++) 
				{
					//count++;
					System.out.println(i);
					//tabpane.addTab(null, new JButton("title1"));
					tabpane.addTab(null, new JLabel("Tab " + i));

					tabpane.setTabComponentAt(i, new JLabel("Tab " + i, UIManager.getIcon("FileView.fileIcon"), JLabel.TRAILING));
                                        /* ここに、addtabで、メニューアイテムで、追加を押した分だけ、増やす。
                                        * また、このコードでは、2つまでしか、作れない。
                                        * 作れても、選択できない。
                                        */

					//tabpane.set
					//System.out.println("ret = " + ret);
					//changelistener();
					
				}
				panel.add(tabpane);
	}
	public MainActivity()
	{
		panel.setLayout(null);
		show("ようこそ2。");
		JMenuBar bar = new JMenuBar();
		
		JMenu menu = new JMenu("タブ");
		JMenuItem item = new JMenuItem("追加");
		item.addActionListener(new ActionListener()
		{
			@Override
			public void actionPerformed(ActionEvent e)
			{
					changelistener();	
			}
		});
		menu.add(item);
		
		bar.add(menu);
		
		setJMenuBar(bar);
		
		JTabbedPane pane11 = new JTabbedPane();
		pane11.addTab(null, new JLabel("welcome"));
		panel.setBounds(0,0,400,400);
		panel.add(pane11);
		
		getContentPane().add(panel);
	}
	
```

となっていますが、どうしても、増やすものの、選択(選べない)できなかったり、2つまでしか作れません。
menu bar の menu item を、押した分だけ、表示するには、正しい方法は、ないのでしょうか?
よろしくお願い致します。