- SNIPPET_TEXT:
-
- package ClientGui;
- import java.awt.BorderLayout;
- import java.awt.Dimension;
- import java.awt.GridLayout;
- import java.awt.event.*;
- import java.util.LinkedList;
- import javax.swing.*;
- public class GuiMain {
- public GuiMain(String fname) {
- this.mainTitle = fname;
- this.frame = new JFrame(fname);
- this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- this.frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
- this.frame.setJMenuBar(this.createMenuBar());
- this.rightPanel = new JScrollPane();
- this.frame.add(this.createSplitPane(), BorderLayout.CENTER);
- this.showMainWindow(this.lMC[0]);
- this.createAndShowGUI();
- this.rightPanel.setVisible(true);
- }
- private JMenuBar createMenuBar() {
- JMenuBar menuBar;
- menuBar = new JMenuBar();
- for(JMenu tmp : this.createMenuPoints())
- menuBar.add(tmp);
- return menuBar;
- }
- private LinkedList<JMenu> createMenuPoints() {
- LinkedList<JMenu> res = new LinkedList<JMenu>();
- for(int i = 0; i < this.menuP.length; i++) {
- res.add(new JMenu(this.menuP[i]));
- res.getLast().setMnemonic(this.menuPm[i]);
- for(JMenuItem mITmp : this.createMenuItems(i)) {
- res.getLast().add(mITmp);
- if(mITmp.getText().equals("Search..."))
- res.getLast().addSeparator();
- }
- }
- return res;
- }
- private LinkedList<JMenuItem> createMenuItems(int i) {
- LinkedList<JMenuItem> res = new LinkedList<JMenuItem>();
- for(int j = 0; j < this.menuI[i].length; j++) {
- res.add(new JMenuItem(this.menuI[i][j]));
- res.getLast().setMnemonic(this.menuIm[i][j]);
- if(i < this.menuIa.length && j < this.menuIa[i].length)
- res.getLast().setAccelerator(this.menuIa[i][j]);
- }
- return res;
- }
- private JSplitPane createSplitPane() {
- this.sp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, this.createList(), this.rightPanel);
- this.sp.setOneTouchExpandable(true);
- this.sp.setContinuousLayout(true);
- this.sp.setDividerLocation(200);
- this.sp.setVisible(true);
- return this.sp;
- }
- private JList createList() {
- for(String tmp : this.lMC)
- this.lM.addElement(tmp);
- this.list = new JList(this.lM);
- this.list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
- this.list.addMouseListener(new MouseAdapter() {
- public void mousePressed(MouseEvent evt) {
- showMainWindow((String)list.getSelectedValue());
- }
- });
- this.list.addKeyListener(new KeyAdapter() {
- public void keyPressed(KeyEvent evt) {
- if(evt.getKeyCode() == KeyEvent.VK_SPACE || evt.getKeyCode() == KeyEvent.VK_ENTER)
- showMainWindow((String)list.getSelectedValue());
- }
- });
- this.list.setSize(250, this.frame.getHeight());
- this.list.setMinimumSize(new Dimension(200, this.frame.getHeight()));
- this.list.setMaximumSize(new Dimension(200, this.frame.getHeight()));
- return this.list;
- }
- private void showMainWindow(String win) {
- JPanel alignLeftTop = new JPanel(new GridLayout(1, 1));
- if(win.equals(this.lMC[0]))
- alignLeftTop.add(this.createOverviewPanel());
- else if(win.equals(this.lMC[1]))
- alignLeftTop.add(this.createDomainPanel());
- else if(win.equals(this.lMC[2]))
- alignLeftTop.add(this.createServerPanel());
- System.out.println("Now showing: " + win);
- this.rightPanel.add(alignLeftTop);
- this.rightPanel.setVisible(true);
- System.out.println(this.rightPanel.getX() + " " + this.rightPanel.getY());
- System.out.println(this.rightPanel.getSize());
- if(win != null)
- this.frame.setTitle(this.mainTitle + " - " + win);
- }
- private JPanel createDomainPanel() {
- if(this.dp == null)
- this.dp = new DomainPanel();
- this.dp.setVisible(true);
- return this.dp;
- }
- private JPanel createOverviewPanel() {
- if(this.op == null)
- this.op = new JPanel(new BorderLayout());
- this.op.add(new JButton("Ok!"), BorderLayout.CENTER);
- this.op.setVisible(true);
- return this.op;
- }
- private JPanel createServerPanel() {
- if(this.servp == null)
- this.servp = new JPanel(new BorderLayout());
- this.servp.add(new JButton("NotOK!"), BorderLayout.CENTER);
- this.servp.setVisible(true);
- return this.servp;
- }
- private void createAndShowGUI() {
- javax.swing.SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- frame.setVisible(true);
- }
- });
- }
- private JFrame frame;
- private JScrollPane rightPanel;
- private JSplitPane sp;
- private String mainTitle;
- private DomainPanel dp;
- private JPanel op;
- private JPanel servp;
- private JList list;
- private final String[] menuP = new String[] {"File", "Edit", "Search", "View", "Help"};
- private final int[] menuPm = new int[] {KeyEvent.VK_F, KeyEvent.VK_E, KeyEvent.VK_S, KeyEvent.VK_V, KeyEvent.VK_H};
- private final String[][] menuI = new String[][] {{"Exit"}, {"Copy", "Cut","Past"},{"Search...", "Customer...", "Domain...", "Server...", "Bill..."}, {"Window", "Zoom"}, {"About..."}};
- private final int[][] menuIm = new int[][] {{KeyEvent.VK_E}, {KeyEvent.VK_C, KeyEvent.VK_U, KeyEvent.VK_P}, {KeyEvent.VK_F, KeyEvent.VK_C, KeyEvent.VK_D, KeyEvent.VK_S, KeyEvent.VK_B}, {KeyEvent.VK_W, KeyEvent.VK_Z},{KeyEvent.VK_A}};
- private final KeyStroke[][] menuIa = new KeyStroke[][] {{KeyStroke.getKeyStroke(KeyEvent.VK_F4, ActionEvent.ALT_MASK)}, {KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK), KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.CTRL_MASK), KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK)}, {KeyStroke.getKeyStroke(KeyEvent.VK_F, ActionEvent.CTRL_MASK)}};
- private final DefaultListModel lM = new DefaultListModel();
- private final String[] lMC = {"Overview", "Domains", "Server", "Buchhaltung", "Kunden" };
- private static final long serialVersionUID = 6832848017248114414L;
- }
Quellcode
Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN