1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
| /*
*/
package panneauàonglets;
import javax.swing.JTabbedPane;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JComponent;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.KeyEvent;
/**
* Copié de Java Tutorials - How to use tabbed panes
* https://docs.oracle.com/javase/tutorial/uiswing/components/tabbedpane.html
*
*/
public class PanneauÀOnglets extends JPanel
{
// <editor-fold defaultstate="collapsed" desc="Déclarations des variables">
// </editor-fold>
public PanneauÀOnglets()
{
// <editor-fold defaultstate="collapsed" desc="Initialisation des variables">
JTabbedPane ensemblePanneauxÀOnglet = new JTabbedPane();
ImageIcon icon = createImageIcon("images/middle.gif");
// Overridable method call 'makeTextPanel()' in constructor
JComponent tabPnl_1 = new TabPan_1(); // makeTextPanel("Panneau #1")
ensemblePanneauxÀOnglet.addTab("Tab 1", icon, tabPnl_1, "Does nothing");
ensemblePanneauxÀOnglet.setMnemonicAt(0, KeyEvent.VK_1);
JComponent tabPnl_2 = new TabPan_2(); // makeTextPanel("Panneau #2")
ensemblePanneauxÀOnglet.addTab("Tab 2", icon, tabPnl_2, "Does twice as much nothing");
ensemblePanneauxÀOnglet.setMnemonicAt(1, KeyEvent.VK_2);
JComponent tabPnl_3 = new TabPan_3(); // makeTextPanel("Panneau #3");
tabPnl_3.setPreferredSize(new Dimension(410, 50));
ensemblePanneauxÀOnglet.addTab("Tab 3", icon, tabPnl_3, "Does nothing at all");
ensemblePanneauxÀOnglet.setMnemonicAt(2, KeyEvent.VK_3);
//Add the tabbed pane to this panel.
add(ensemblePanneauxÀOnglet);
//The following line enables to use scrolling tabs.
ensemblePanneauxÀOnglet.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
// - - - - - - - - - - -
// </editor-fold>
}
/** Returns an ImageIcon, or null if the path was invalid.
* @param path
* @return
*/
protected static ImageIcon createImageIcon(String path)
{
java.net.URL imgURL = PanneauÀOnglets.class.getResource(path);
if (imgURL != null)
{
return new ImageIcon(imgURL);
} else
{
System.err.println("Couldn't find file: " + path);
return null;
}
}
/**
* Create the GUI and show it. For thread safety,
* this method should be invoked from the event dispatch thread.
*/
private static void createAndShowGUI()
{
//Create and set up the window.
JFrame frame = new JFrame("Panneau à onglets");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Add content to the window.
frame.add(new PanneauÀOnglets(), BorderLayout.CENTER);
//Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args)
{
// Schedule a job for the event dispatch thread:
// creating and showing this application's GUI.
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{ //Turn off metal's use of bold fonts
UIManager.put("swing.boldMetal", Boolean.FALSE);
createAndShowGUI();
}
} );
}
} |
Partager