<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Problema Ctrl + Tab JTabbedPane"]]></title>
		<link>http://www.guj.com.br/posts/list/5.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Problema Ctrl + Tab JTabbedPane"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Problema Ctrl + Tab JTabbedPane</title>
				<description><![CDATA[ Galera, estou com um problema ao capturar eventos de teclado.<br /> Preciso navegar pela minha JTabbedPane com o ctrl + tab, por exemplo: o usuário mantém o ctrl pressionado e quando ele aperta o tab eu mudo a tab selecionada, já tentei muita coisa e não consegui.<br /> <br /> Alguém pode me ajudar???<br /> <br /> Obrigado!]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/199372/1002826/problema-ctrl--tab-jtabbedpane
</guid>
				<link>http://www.guj.com.br/prepost/199372/1002826/problema-ctrl--tab-jtabbedpane
</link>
				<pubDate><![CDATA[Fri, 26 Feb 2010 16:51:08]]> GMT</pubDate>
				<author><![CDATA[ _Leon]]></author>
			</item>
			<item>
				<title>Re:Problema Ctrl + Tab JTabbedPane</title>
				<description><![CDATA[ Conforme você pode ver, Ctrl+Tab só funciona com JTabbedPane se o look & feel for Windows e se você estiver com um tab selecionado. Senão ele irá só mover o foco para o próximo controle (assim como ocorre em outros look & feels). <br /> <br /> [code]<br /> import javax.swing.*;<br /> import java.awt.event.*;<br /> import java.awt.*;<br /> <br /> <br /> class Tester {<br />    public static void main(String[] args) {<br />       final JFrame      f  = new JFrame();<br />       final JTabbedPane tabbedPane  = new JTabbedPane();<br />       final JPanel      panel1 = new JPanel(false),<br />                         panel2 = new JPanel(false),<br />                         panel3 = new JPanel(false),                        <br />                         panel4 = new JPanel(false),<br />                         panel5 = new JPanel(false),<br />                         panel6 = new JPanel(false),<br />                         panel7 = new JPanel(false),<br />                         panel8 = new JPanel(false),<br />                         panel9 = new JPanel(false);<br />                         <br />       // WindowListener for cosing progam.<br />       f.addWindowListener(new WindowAdapter() {<br />          public void windowClosing(WindowEvent evt) {<br />             evt.getWindow().dispose();<br />             System.exit(0);<br />          }<br />       });<br /> <br />       tabbedPane.add("Panel 1", panel1);<br />       tabbedPane.add("Panel 2", panel2);<br />       tabbedPane.add("Panel 3", panel3);<br />       tabbedPane.add("Panel 4", panel4);<br />       tabbedPane.add("Panel 5", panel5);<br />       tabbedPane.add("Panel 6", panel6);<br />       tabbedPane.add("Panel 7", panel7);<br />       tabbedPane.add("Panel 8", panel8);<br />       tabbedPane.add("Panel 9", panel9);<br />       <br />       f.getContentPane().add(tabbedPane, BorderLayout.CENTER);<br /> <br />       //--------------------<br />       // The remaining code simply allows for a change in the LaF....<br />       //--------------------<br />       JPanel LaFPanel = new JPanel();<br /> <br />       final JButton windowsLaF = new JButton("Windows"),<br />                     motifLaF   = new JButton("Motif"),<br />                     metalLaF   = new JButton("Metal");<br /> <br />       LaFPanel.add(windowsLaF);<br />       LaFPanel.add(motifLaF);<br />       LaFPanel.add(metalLaF);<br /> <br />       ActionListener LaFListener = new ActionListener() {<br />          public void actionPerformed(ActionEvent evt) {<br />             Object src = evt.getSource();<br /> <br />             try {<br />                if(src == windowsLaF)<br />                   UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");<br />                else if(src == motifLaF)<br />       	    	   UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");<br />                else<br />       	    	   UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");<br /> <br />                SwingUtilities.updateComponentTreeUI(f);<br />             }<br />             catch(Exception e) {<br />                System.err.println("*** ERROR IN CHANGING LAF: " + e);<br />             }<br />          }<br />       };<br /> <br />       windowsLaF.addActionListener(LaFListener);<br />       motifLaF.addActionListener(LaFListener);<br />       metalLaF.addActionListener(LaFListener);<br /> <br />       f.getContentPane().add(LaFPanel, BorderLayout.SOUTH);<br />       f.setResizable(false);<br />       f.setBounds(40, 40, 330, 200);<br />       f.setVisible(true);<br />    }<br /> }<br /> [/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/199372/1002853/reproblema-ctrl--tab-jtabbedpane
</guid>
				<link>http://www.guj.com.br/prepost/199372/1002853/reproblema-ctrl--tab-jtabbedpane
</link>
				<pubDate><![CDATA[Fri, 26 Feb 2010 17:23:56]]> GMT</pubDate>
				<author><![CDATA[ entanglement]]></author>
			</item>
			<item>
				<title>Re:Problema Ctrl + Tab JTabbedPane</title>
				<description><![CDATA[ Eu pensei capturar o evento ao pressionar o ctrl + tab e apenas acionar um myTabbedPane.setSelectedIndex(tabNumber)...<br /> O maior problema é capturar o ctrl + tab, não estou conseguindo...]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/199372/1002914/reproblema-ctrl--tab-jtabbedpane
</guid>
				<link>http://www.guj.com.br/prepost/199372/1002914/reproblema-ctrl--tab-jtabbedpane
</link>
				<pubDate><![CDATA[Fri, 26 Feb 2010 18:12:41]]> GMT</pubDate>
				<author><![CDATA[ _Leon]]></author>
			</item>
			<item>
				<title>Re:Problema Ctrl + Tab JTabbedPane</title>
				<description><![CDATA[ Pronto fiz funcionar com qualquer look and feel  :D <br /> <br /> Da uma olhada:<br /> <br /> [code]<br />    import javax.swing.*;<br />    import java.awt.event.*;<br />    import java.awt.*;<br /> <br /> <br />    class Tester {<br /> <br />        private static boolean ctrlKey;<br />        private static boolean tabKey;<br />        <br /> <br />       public static void main(String[] args) {<br />          final JFrame      f  = new JFrame();<br />          final JTabbedPane tabbedPane = new JTabbedPane();<br />          final JPanel      panel1 = new JPanel(false),<br />                            panel2 = new JPanel(false),<br />                            panel3 = new JPanel(false),<br />                            panel4 = new JPanel(false),<br />                            panel5 = new JPanel(false),<br />                            panel6 = new JPanel(false),<br />                            panel7 = new JPanel(false),<br />                            panel8 = new JPanel(false),<br />                            panel9 = new JPanel(false);<br />        <br />          // WindowListener for cosing progam.<br />          f.addWindowListener(new WindowAdapter() {<br />             public void windowClosing(WindowEvent evt) {<br />                evt.getWindow().dispose();<br />                System.exit(0);<br />             }<br />          });<br /> <br />          tabbedPane.add("Panel 1", panel1);<br />          tabbedPane.add("Panel 2", panel2);<br />          tabbedPane.add("Panel 3", panel3);<br />          tabbedPane.add("Panel 4", panel4);<br />          tabbedPane.add("Panel 5", panel5);<br />          tabbedPane.add("Panel 6", panel6);<br />          tabbedPane.add("Panel 7", panel7);<br />          tabbedPane.add("Panel 8", panel8);<br />          tabbedPane.add("Panel 9", panel9);<br /> <br />          f.getContentPane().add(tabbedPane, BorderLayout.CENTER);<br /> <br />          //--------------------<br />          // The remaining code simply allows for a change in the LaF....<br />          //--------------------<br />          JPanel LaFPanel = new JPanel();<br /> <br />          final JButton windowsLaF = new JButton("Windows"),<br />                        motifLaF   = new JButton("Motif"),<br />                        metalLaF   = new JButton("Metal");<br /> <br />          LaFPanel.add(windowsLaF);<br />          LaFPanel.add(motifLaF);<br />          LaFPanel.add(metalLaF);<br /> <br />          ActionListener LaFListener = new ActionListener() {<br />             public void actionPerformed(ActionEvent evt) {<br />                Object src = evt.getSource();<br /> <br />                try {<br />                   if(src == windowsLaF)<br />                      UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");<br />                   else if(src == motifLaF)<br />                       UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");<br />                   else<br />                       UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");<br /> <br />                   SwingUtilities.updateComponentTreeUI(f);<br />                }<br />                catch(Exception e) {<br />                   System.err.println("*** ERROR IN CHANGING LAF: " + e);<br />                }<br />             }<br />          };<br /> <br />          windowsLaF.addActionListener(LaFListener);<br />          motifLaF.addActionListener(LaFListener);<br />          metalLaF.addActionListener(LaFListener);<br />          <br />          f.getContentPane().add(LaFPanel, BorderLayout.SOUTH);<br />          f.setResizable(false);<br />          f.setBounds(40, 40, 330, 200);<br />          f.setVisible(true);<br /> <br /> <br />          addTabControlListener(tabbedPane);<br />          <br />       }<br /> <br /> <br />       public static void addTabControlListener( final JTabbedPane parent ) {<br /> <br />           Toolkit.getDefaultToolkit().addAWTEventListener(<br /> <br />                 new AWTEventListener(){<br />                     public void eventDispatched(AWTEvent event){<br /> <br />                         KeyEvent ke = (KeyEvent)event;<br />                         if(ke.getID() == KeyEvent.KEY_RELEASED){<br /> <br />                             if (ke.getKeyCode() == 17) {<br />                                 ctrlKey = false;<br />                                 parent.grabFocus();<br />                             } else if (ke.getKeyCode() == KeyEvent.VK_TAB){<br />                                 tabKey = false;<br />                                 parent.grabFocus();<br />                             }<br /> <br />                         }else if(ke.getID() == KeyEvent.KEY_PRESSED){<br />                             if ( ke.getKeyCode() == 17) {<br />                                 ctrlKey = true;<br />                                 parent.grabFocus();<br />                             } else if (ke.getKeyCode() == KeyEvent.VK_TAB){<br />                                 tabKey = true;<br />                                 parent.grabFocus();<br /> <br />                                 if ( ctrlKey ) {                                    <br />                                     if ( parent.getSelectedIndex() != 8 ) {<br />                                         parent.setSelectedIndex(parent.getSelectedIndex() + 1);<br />                                         parent.grabFocus();<br />                                         tabKey = false;<br />                                     } else {<br />                                         parent.setSelectedIndex(0);<br />                                     }<br />                                 }<br />                             }<br /> <br />                         }else if(ke.getID() == KeyEvent.KEY_TYPED){<br />                             if ( ke.getKeyCode() == 17) {<br />                                 ctrlKey = true;<br />                                 parent.grabFocus();<br />                             } else if (ke.getKeyCode() == KeyEvent.VK_TAB){<br />                                 tabKey = true;<br />                                 parent.grabFocus();<br /> <br />                             }<br />                         }<br />                     }<br /> <br />             }, AWTEvent.KEY_EVENT_MASK);<br />       }<br /> <br /> <br />    }  <br /> <br /> [/code]<br /> <br /> Obrigado!]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/199372/1002975/reproblema-ctrl--tab-jtabbedpane
</guid>
				<link>http://www.guj.com.br/prepost/199372/1002975/reproblema-ctrl--tab-jtabbedpane
</link>
				<pubDate><![CDATA[Fri, 26 Feb 2010 20:55:15]]> GMT</pubDate>
				<author><![CDATA[ _Leon]]></author>
			</item>
	</channel>
</rss>
