private JPanel createCompPanel() { filesets = new Vector(); int count = installer.getIntegerProperty("comp.count"); JPanel panel = new JPanel(new GridLayout(count, 1)); String osClass = OperatingSystem.getOperatingSystem().getClass().getName(); osClass = osClass.substring(osClass.indexOf('$') + 1); for (int i = 0; i < count; i++) { String os = installer.getProperty("comp." + i + ".os"); if (os != null && !osClass.equals(os)) continue; JCheckBox checkBox = new JCheckBox( installer.getProperty("comp." + i + ".name") + " (" + installer.getProperty("comp." + i + ".disk-size") + "Mb)"); checkBox.getModel().setSelected(true); checkBox.addActionListener(this); checkBox.setRequestFocusEnabled(false); filesets.addElement(new Integer(i)); panel.add(checkBox); } Dimension dim = panel.getPreferredSize(); dim.width = Integer.MAX_VALUE; panel.setMaximumSize(dim); return panel; }
/** * Loads the tileset defined in the constructor into a JPanel which it then returns. Makes no * assumptions about height or width, which means it needs to read an extra 64 tiles at worst (32 * down to check height and 32 across for width), since the maximum height/width is 32 tiles. */ public JPanel loadTileset() { int height = MAX_TILESET_SIZE; int width = MAX_TILESET_SIZE; boolean maxHeight = false; boolean maxWidth = false; // find width int j = 0; while (!maxWidth) { try { File f = new File(tileDir + "/" + j + "_" + 0 + ".png"); ImageIO.read(f); } catch (IOException e) { width = j; maxWidth = true; } j += TILE_SIZE; } // find height int i = 0; while (!maxHeight) { try { File f = new File(tileDir + "/" + 0 + "_" + i + ".png"); ImageIO.read(f); } catch (IOException e) { height = i; maxHeight = true; } i += TILE_SIZE; } JPanel tileDisplay = new JPanel(); tileDisplay.setLayout(new GridLayout(height / TILE_SIZE, width / TILE_SIZE)); tileDisplay.setMinimumSize(new Dimension(width, height)); tileDisplay.setPreferredSize(new Dimension(width, height)); tileDisplay.setMaximumSize(new Dimension(width, height)); for (i = 0; i < height; i += TILE_SIZE) { for (j = 0; j < width; j += TILE_SIZE) { String fPath = tileDir + "/" + j + "_" + i; try { int[] mov = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; Image icon = getTile(tileDir, j, i, 1); Tile tile = new Tile(new ImageIcon(icon), "palette", 0, 0, mov, "none", false, "" + j + "_" + i); tile.addMouseListener(new PaletteButtonListener()); tile.setMaximumSize(new Dimension(TILE_SIZE, TILE_SIZE)); tile.setPreferredSize(new Dimension(TILE_SIZE, TILE_SIZE)); tile.setMinimumSize(new Dimension(TILE_SIZE, TILE_SIZE)); tileDisplay.add(tile); } catch (IOException e) { } } } return tileDisplay; }
public void addRow(Component... components) { remove(puff); final JPanel row = new JPanel(); row.addMouseListener( new MouseAdapter() { @Override public void mouseClicked(MouseEvent event) { gui.notifyObserver("/use " + rows.indexOf(event.getSource())); } }); row.setLayout(new BoxLayout(row, BoxLayout.X_AXIS)); // row.add(Box.createHorizontalStrut(3)); row.setMinimumSize(new Dimension(10, 30)); row.setMaximumSize(new Dimension(250, 30)); for (Component component : components) { row.add(component); } JButton red = new JButton("x"); red.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent event) { int deleted = rows.indexOf(row); gui.notifyObserver("/use " + deleted); gui.notifyObserver("/disconnect"); } }); red.setBackground(Color.PINK.darker()); red.setForeground(Color.WHITE); row.add(Box.createHorizontalGlue()); row.add(red); rows.add(row); Component strut = Box.createVerticalStrut(5); struts.add(strut); add(row); add(strut); add(puff); repaint(); updateUI(); }
private void jbInit() throws Exception { panel1.setLayout(borderLayout1); jLabelSynapseType.setText("Synapse type:"); jLabelDelay.setText("Internal delay:"); jButtonOK.setText("OK"); jButtonOK.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jButtonOK_actionPerformed(e); } }); jButtonCancel.setText("Cancel"); jButtonCancel.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jButtonCancel_actionPerformed(e); } }); jPanelMain.setLayout(gridBagLayout1); jButtonDelay.setText("..."); jButtonDelay.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jButtonDelay_actionPerformed(e); } }); jTextFieldDelay.setEditable(false); jTextFieldDelay.setText(""); panel1.setMaximumSize(new Dimension(400, 200)); panel1.setMinimumSize(new Dimension(400, 200)); panel1.setPreferredSize(new Dimension(400, 200)); jLabelWeights.setText("Synaptic weights:"); jButtonWeights.setText("..."); jButtonWeights.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jButtonWeights_actionPerformed(e); } }); jTextFieldWeights.setEditable(false); jTextFieldWeights.setText(""); jLabelThreshold.setText("Voltage threshold:"); jTextFieldThreshold.setText(""); getContentPane().add(panel1); panel1.add(jPanelMain, BorderLayout.CENTER); jPanelMain.add( jLabelSynapseType, new GridBagConstraints( 0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(6, 20, 6, 12), 0, 0)); jPanelMain.add( jLabelDelay, new GridBagConstraints( 0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(6, 20, 6, 0), 0, 0)); jPanelMain.add( jTextFieldDelay, new GridBagConstraints( 1, 1, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 0, 6, 6), 0, 0)); jPanelMain.add( jButtonDelay, new GridBagConstraints( 2, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 6, 0, 20), 0, 0)); jPanelMain.add( jLabelWeights, new GridBagConstraints( 0, 2, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(6, 12, 6, 12), 0, 0)); jPanelMain.add( jTextFieldWeights, new GridBagConstraints( 1, 2, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 0, 6, 6), 0, 0)); jPanelMain.add( jButtonWeights, new GridBagConstraints( 2, 2, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(6, 6, 6, 20), 0, 0)); panel1.add(jPanelButtons, BorderLayout.SOUTH); jPanelButtons.add(jButtonOK, null); jPanelButtons.add(jButtonCancel, null); jPanelMain.add( jLabelThreshold, new GridBagConstraints( 0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(6, 12, 6, 12), 0, 0)); jPanelMain.add( jTextFieldThreshold, new GridBagConstraints( 1, 3, 2, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 0, 6, 20), 0, 0)); jPanelMain.add( jComboBoxSynapseType, new GridBagConstraints( 1, 0, 2, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(6, 0, 6, 20), 0, 0)); }
public GUI() { // Frame frame = new JFrame("HardwareSwap Notifier"); // Panels panel = new JPanel(); group1 = new JPanel(); group2 = new JPanel(); group3 = new JPanel(); group4 = new JPanel(); group5 = new JPanel(); group6 = new JPanel(); group7 = new JPanel(); group8 = new JPanel(); // Menu Bar menus = new JMenuBar(); fileMenu = new JMenu("File"); clearCurrent = new JMenuItem("Clear"); quitItem = new JMenuItem("Quit"); load = new JMenuItem("Load"); saveCurrent = new JMenuItem("Save All"); clearSaved = new JMenuItem("Clear Saved"); removeItem = new JMenuItem("Remove Item"); removePhone = new JMenuItem("Remove Phone"); saveCurrent = new JMenuItem("Save Current"); helpMenu = new JMenu("Help"); help = new JMenuItem("How To Use"); about = new JMenuItem("About"); // Buttons add1 = new JButton("Add"); add2 = new JButton("Add"); start = new JButton("Start"); stop = new JButton("Stop"); save1 = new JButton("Add/Save"); save2 = new JButton("Add/Save"); show = new JButton("Display Data"); add1.setFocusPainted(false); add2.setFocusPainted(false); start.setFocusPainted(false); stop.setFocusPainted(false); save1.setFocusPainted(false); save2.setFocusPainted(false); show.setFocusPainted(false); stop.setEnabled(false); // CheckBox remove = new JCheckBox("Remove items when found"); remove.setFocusable(false); // Listener ButtonListener listener = new ButtonListener(); add1.addActionListener(listener); add2.addActionListener(listener); start.addActionListener(listener); stop.addActionListener(listener); load.addActionListener(listener); save1.addActionListener(listener); save2.addActionListener(listener); saveCurrent.addActionListener(listener); show.addActionListener(listener); quitItem.addActionListener(listener); clearCurrent.addActionListener(listener); clearSaved.addActionListener(listener); saveCurrent.addActionListener(listener); help.addActionListener(listener); about.addActionListener(listener); removePhone.addActionListener(listener); removeItem.addActionListener(listener); remove.addActionListener(listener); // Carrier Selection options = new String[10]; options[0] = "AT&T"; options[1] = "Boost Mobile"; options[2] = "Cellular One"; options[3] = "Nextel"; options[4] = "T-Mobile"; options[5] = "Tracfone"; options[6] = "US Cellular"; options[7] = "Sprint"; options[8] = "Verizon"; options[9] = "Virgin Mobile"; carriers = new JComboBox<String>(options); // Text Fields searchName = new JTextField(15); item = new JTextField(15); phone = new JTextField(15); interval2 = new JTextField(15); results = new JTextArea(10, 20); JScrollPane scrollPane = new JScrollPane(results); results.setEditable(false); // Interval intOptions = new SpinnerNumberModel(5, 1, 60, 1); interval = new JSpinner(intOptions); JFormattedTextField tf = ((JSpinner.DefaultEditor) interval.getEditor()).getTextField(); tf.setHorizontalAlignment(JFormattedTextField.LEFT); // Background panelBackground = new Color(237, 237, 237); panel.setBackground(panelBackground); searchName.setBackground(panelBackground); item.setBackground(panelBackground); phone.setBackground(panelBackground); interval.setBackground(panelBackground); // Panel Layouts panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS)); group1.setLayout(new BoxLayout(group1, BoxLayout.PAGE_AXIS)); group2.setLayout(new BoxLayout(group2, BoxLayout.X_AXIS)); group3.setLayout(new BoxLayout(group3, BoxLayout.PAGE_AXIS)); group4.setLayout(new BoxLayout(group4, BoxLayout.X_AXIS)); group5.setLayout(new BoxLayout(group5, BoxLayout.X_AXIS)); group6.setLayout(new BoxLayout(group6, BoxLayout.X_AXIS)); group7.setLayout(new BoxLayout(group7, BoxLayout.X_AXIS)); group8.setLayout(new BoxLayout(group8, BoxLayout.X_AXIS)); // Borders searchName.setBorder( BorderFactory.createTitledBorder( null, "Search Name", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_JUSTIFICATION, null, Color.DARK_GRAY)); item.setBorder( BorderFactory.createTitledBorder( null, "Item", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_JUSTIFICATION, null, Color.DARK_GRAY)); phone.setBorder( BorderFactory.createTitledBorder( null, "Cell Phone", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_JUSTIFICATION, null, Color.DARK_GRAY)); group5.setBorder( BorderFactory.createTitledBorder( null, "Check Interval (mins)", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_JUSTIFICATION, null, Color.DARK_GRAY)); // Sizes panel.setPreferredSize(new Dimension(200, 0)); searchName.setMaximumSize(new Dimension(190, 50)); item.setMaximumSize(new Dimension(190, 50)); phone.setMaximumSize(new Dimension(185, 50)); carriers.setMaximumSize(new Dimension(175, 20)); group5.setPreferredSize(new Dimension(190, 47)); group5.setMaximumSize(new Dimension(190, 47)); add1.setMaximumSize(new Dimension(90, 20)); save1.setMaximumSize(new Dimension(90, 20)); add2.setMaximumSize(new Dimension(90, 20)); save2.setMaximumSize(new Dimension(90, 20)); start.setMaximumSize(new Dimension(90, 20)); stop.setMaximumSize(new Dimension(90, 20)); show.setMaximumSize(new Dimension(120, 20)); // Add file menu items fileMenu.add(clearCurrent); fileMenu.add(clearSaved); fileMenu.add(load); fileMenu.add(removeItem); fileMenu.add(removePhone); fileMenu.add(saveCurrent); fileMenu.add(quitItem); // Add help menu items helpMenu.add(help); helpMenu.add(about); // Add to menu bar menus.add(fileMenu); menus.add(helpMenu); // Add items to panel group1.add(searchName); group1.add(item); group2.add(add1); group2.add(Box.createHorizontalStrut(10)); group2.add(save1); group6.add(remove); group3.add(phone); group3.add(Box.createVerticalStrut(10)); group3.add(carriers); group4.add(add2); group4.add(Box.createHorizontalStrut(10)); group4.add(save2); group5.add(interval); group7.add(show); group8.add(start); group8.add(Box.createHorizontalStrut(10)); group8.add(stop); panel.add(Box.createVerticalStrut(10)); panel.add(group1); panel.add(Box.createVerticalStrut(10)); panel.add(group2); panel.add(Box.createVerticalStrut(40)); panel.add(group3); panel.add(Box.createVerticalStrut(10)); panel.add(group4); panel.add(Box.createVerticalStrut(40)); panel.add(group5); panel.add(Box.createVerticalStrut(30)); panel.add(group6); panel.add(Box.createVerticalStrut(40)); panel.add(group7); panel.add(Box.createVerticalStrut(10)); panel.add(group8); panel.add(Box.createVerticalStrut(10)); // Setup frame frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setJMenuBar(menus); frame.add(scrollPane); frame.add(BorderLayout.EAST, panel); frame.pack(); frame.setSize(new Dimension(670, 620)); frame.setVisible(true); }
/** Constructor for RestaurantGui class. Sets up all the gui components. */ public RestaurantGui() { int WINDOWX = 600; int WINDOWY = 500; ButtonPanel = new JPanel(); MrKrabs = new ImageIcon(getClass().getResource("/resources/MrKrabs.png")); Ramsay = new ImageIcon(getClass().getResource("/resources/Ramsay.png")); RestaurantPortion.setLayout(new BorderLayout()); InformationPanel = new JPanel(); InformationPanel.setLayout(new BorderLayout()); buttonPanel = new JPanel(); buttonPanel.setLayout(new BorderLayout()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(25, 25, WINDOWX + 650, WINDOWY + 170); setVisible(true); setLayout(new BorderLayout()); Dimension restDim = new Dimension(WINDOWX, (int) (WINDOWY * .86)); restPanel.setPreferredSize(restDim); restPanel.setMinimumSize(restDim); restPanel.setMaximumSize(restDim); // pauseButton = new JButton("PAUSE"); // pauseButton.addActionListener(this); refreshButton = new JButton("REFRESH"); refreshButton.addActionListener(this); // CUSTOMER PANEL INFORMATION Dimension infoDimCustomer = new Dimension(WINDOWX, (int) (WINDOWY * .12)); customerInformationPanel = new JPanel(); customerInformationPanel.setPreferredSize(infoDimCustomer); customerInformationPanel.setMinimumSize(infoDimCustomer); customerInformationPanel.setMaximumSize(infoDimCustomer); customerInformationPanel.setBorder(BorderFactory.createTitledBorder("Customers")); customerStateCheckBox = new JCheckBox(); customerStateCheckBox.setVisible(false); customerStateCheckBox.addActionListener(this); customerInformationPanel.setLayout(new GridLayout(1, 2, 30, 0)); infoCustomerLabel = new JLabel(); infoCustomerLabel.setText("<html><pre><i>There are no restaurant customers.</i></pre></html>"); customerInformationPanel.add(infoCustomerLabel); customerInformationPanel.add(customerStateCheckBox); // WAITER PANEL INFORMATION/* /* Dimension infoDimWaiter = new Dimension(WINDOWX, (int) (WINDOWY * .12)); waiterInformationPanel = new JPanel(); waiterInformationPanel.setPreferredSize(infoDimWaiter); waiterInformationPanel.setMinimumSize(infoDimWaiter); waiterInformationPanel.setMaximumSize(infoDimWaiter); waiterInformationPanel.setBorder(BorderFactory.createTitledBorder("Waiters")); waiterON.addActionListener(this); waiterOFF.addActionListener(this); */ // waiterInformationPanel.setLayout(new GridLayout(1, 2, 30, 0)); infoWaiterLabel = new JLabel(); infoWaiterLabel.setText("<html><pre><i>Click Add to make waiters</i></pre></html>"); // waiterInformationPanel.add(infoWaiterLabel); waiterON.setVisible(false); waiterOFF.setVisible(false); // waiterInformationPanel.add(waiterON); // waiterInformationPanel.add(waiterOFF); RestaurantPortion.add(restPanel, BorderLayout.NORTH); InformationPanel.add(customerInformationPanel, BorderLayout.CENTER); MrKrabsButton = new JButton(MrKrabs); RamsayButton = new JButton(Ramsay); MrKrabsButton.addActionListener(this); RamsayButton.addActionListener(this); ButtonPanel.setLayout(new BorderLayout()); ButtonPanel.add(MrKrabsButton, BorderLayout.WEST); ButtonPanel.add(RamsayButton, BorderLayout.EAST); InformationPanel.add(ButtonPanel, BorderLayout.SOUTH); // InformationPanel.add(waiterInformationPanel, BorderLayout.CENTER); RestaurantPortion.add(InformationPanel, BorderLayout.CENTER); // buttonPanel.add(pauseButton, BorderLayout.CENTER); buttonPanel.add(refreshButton, BorderLayout.CENTER); RestaurantPortion.add(buttonPanel, BorderLayout.SOUTH); add(animationPanel, BorderLayout.CENTER); add(RestaurantPortion, BorderLayout.EAST); }
/** * Create the train module GUI (the dynamic and static windows). Both windows are HIDE_ON_CLOSE so * that closing them does not cause the train module to close. */ public TrainModelUI() { try { JPanel emptyJPanel = new JPanel(); emptyJPanel.add(new JLabel(" ")); isPaused = true; // Setup the dynamicWindow. btnShowStaticValues = buildJButton("Show Static Values"); btnSelectTrain = buildJButton("Select Train"); btnPauseResume = buildJButton("Pause"); btnPauseResume.setEnabled(false); btnSetManRecPower = buildJButton("Set Manual Received Power"); btnToggleManRecPower = buildJButton("Toggle Manual Received Power"); btnSetManDesSpdLmt = buildJButton("Set Manual Desired Speed Limit"); btnToggleManDesSpdLmt = buildJButton("Toggle Manual Desired Speed Limit"); btnToggleSignalPickupFailure = buildJButton("Toggle Signal Pickup Failure"); btnToggleEngineFailure = buildJButton("Toggle Engine Failure"); btnToggleBrakeFailure = buildJButton("Toggle Brake Failure"); btnToggleServiceBrake = buildJButton("Toggle Service Brake"); btnToggleEmergencyBrake = buildJButton("Toggle Emergency Brake"); btnSetManLights = buildJButton("Set Manual Lights Status"); btnToggleManLights = buildJButton("Toggle Manual Lights Status"); btnSetManDoors = buildJButton("Set Manual Doors Status"); btnToggleManDoors = buildJButton("Toggle Manual Doors Status"); btnSetManTarTemperature = buildJButton("Set Manual Target Temp."); btnToggleManTarTemperature = buildJButton("Toggle Manual Target Temp."); jlTime = new JLabel("XX:XX:XX", JLabel.CENTER); jlCurVel = new JLabel("", JLabel.CENTER); jlCurAccel = new JLabel("", JLabel.CENTER); jlRecPowerTNC = new JLabel("", JLabel.CENTER); jlManRecPower = new JLabel("", JLabel.CENTER); jlToggleManRecPower = new JLabel("", JLabel.CENTER); jlPostedSpdLmt = new JLabel("", JLabel.CENTER); jlManDesSpdLmt = new JLabel("", JLabel.CENTER); jlToggleManDesSpdLmt = new JLabel("", JLabel.CENTER); jlGrade = new JLabel("", JLabel.CENTER); jlTotalMass = new JLabel("", JLabel.CENTER); jlPassengerCount = new JLabel("", JLabel.CENTER); jlCrewCount = new JLabel("", JLabel.CENTER); jlPosition = new JLabel("", JLabel.CENTER); jlToggleSignalPickupFailure = new JLabel("", JLabel.CENTER); jlToggleEngineFailure = new JLabel("", JLabel.CENTER); jlToggleBrakeFailure = new JLabel("", JLabel.CENTER); jlToggleServiceBrake = new JLabel("", JLabel.CENTER); jlToggleEmergencyBrake = new JLabel("", JLabel.CENTER); jlLights = new JLabel("", JLabel.CENTER); jlManLights = new JLabel("", JLabel.CENTER); jlToggleManLights = new JLabel("", JLabel.CENTER); jlDoors = new JLabel("", JLabel.CENTER); jlManDoors = new JLabel("", JLabel.CENTER); jlToggleManDoors = new JLabel("", JLabel.CENTER); jlCurTemperature = new JLabel("", JLabel.CENTER); jlTarTemperature = new JLabel("", JLabel.CENTER); jlManTarTemperature = new JLabel("", JLabel.CENTER); jlToggleManTarTemperature = new JLabel("", JLabel.CENTER); jlAnnouncement = new JLabel("", JLabel.CENTER); JPanel dwPanel1 = new JPanel(); dwPanel1.setLayout(new GridLayout(18, 2)); dwPanel1.add(buildJPanel(new JLabel("Current Velocity (m/s)", JLabel.CENTER))); dwPanel1.add(buildJPanel(jlCurVel)); dwPanel1.add(buildJPanel(new JLabel("Current Acceleration (m/s^2)", JLabel.CENTER))); dwPanel1.add(buildJPanel(jlCurAccel)); dwPanel1.add(buildJPanel(new JLabel("Received Power from TNC (W)", JLabel.CENTER))); dwPanel1.add(buildJPanel(jlRecPowerTNC)); dwPanel1.add(buildJPanel(btnSetManRecPower)); dwPanel1.add(buildJPanel(jlManRecPower)); dwPanel1.add(buildJPanel(btnToggleManRecPower)); dwPanel1.add(buildJPanel(jlToggleManRecPower)); dwPanel1.add(buildJPanel(new JLabel("Speed Limit Posted on Signs (m/s)", JLabel.CENTER))); dwPanel1.add(buildJPanel(jlPostedSpdLmt)); dwPanel1.add(buildJPanel(btnSetManDesSpdLmt)); dwPanel1.add(buildJPanel(jlManDesSpdLmt)); dwPanel1.add(buildJPanel(btnToggleManDesSpdLmt)); dwPanel1.add(buildJPanel(jlToggleManDesSpdLmt)); dwPanel1.add(buildJPanel(new JLabel("Relative Grade from TKM (%)", JLabel.CENTER))); dwPanel1.add(buildJPanel(jlGrade)); dwPanel1.add( buildJPanel(new JLabel("Total Mass (inc. passengers/crew) (kg)", JLabel.CENTER))); dwPanel1.add(buildJPanel(jlTotalMass)); dwPanel1.add(buildJPanel(new JLabel("Passenger Count", JLabel.CENTER))); dwPanel1.add(buildJPanel(jlPassengerCount)); dwPanel1.add(buildJPanel(new JLabel("Crew Count", JLabel.CENTER))); dwPanel1.add(buildJPanel(jlCrewCount)); dwPanel1.add( buildJPanel(new JLabel("Position from Onboard GPS ([block], m)", JLabel.CENTER))); dwPanel1.add(buildJPanel(jlPosition)); dwPanel1.add(buildJPanel(btnToggleSignalPickupFailure)); dwPanel1.add(buildJPanel(jlToggleSignalPickupFailure)); dwPanel1.add(buildJPanel(btnToggleEngineFailure)); dwPanel1.add(buildJPanel(jlToggleEngineFailure)); dwPanel1.add(buildJPanel(btnToggleBrakeFailure)); dwPanel1.add(buildJPanel(jlToggleBrakeFailure)); dwPanel1.add(buildJPanel(btnToggleServiceBrake)); dwPanel1.add(buildJPanel(jlToggleServiceBrake)); dwPanel1.add(buildJPanel(btnToggleEmergencyBrake)); dwPanel1.add(buildJPanel(jlToggleEmergencyBrake)); JPanel dwPanel2 = new JPanel(); dwPanel2.setLayout(new GridLayout(18, 2)); dwPanel2.add(buildJPanel(new JLabel("Lights Status", JLabel.CENTER))); dwPanel2.add(buildJPanel(jlLights)); dwPanel2.add(buildJPanel(btnSetManLights)); dwPanel2.add(buildJPanel(jlManLights)); dwPanel2.add(buildJPanel(btnToggleManLights)); dwPanel2.add(buildJPanel(jlToggleManLights)); dwPanel2.add(buildJPanel(new JLabel("Doors Status", JLabel.CENTER))); dwPanel2.add(buildJPanel(jlDoors)); dwPanel2.add(buildJPanel(btnSetManDoors)); dwPanel2.add(buildJPanel(jlManDoors)); dwPanel2.add(buildJPanel(btnToggleManDoors)); dwPanel2.add(buildJPanel(jlToggleManDoors)); dwPanel2.add(buildJPanel(new JLabel("Current Temp. (degrees F)", JLabel.CENTER))); dwPanel2.add(buildJPanel(jlCurTemperature)); dwPanel2.add(buildJPanel(new JLabel("Target Temp. from TNC (degrees F)", JLabel.CENTER))); dwPanel2.add(buildJPanel(jlTarTemperature)); dwPanel2.add(buildJPanel(btnSetManTarTemperature)); dwPanel2.add(buildJPanel(jlManTarTemperature)); dwPanel2.add(buildJPanel(btnToggleManTarTemperature)); dwPanel2.add(buildJPanel(jlToggleManTarTemperature)); dwPanel2.add(buildJPanel(new JLabel("Announcement", JLabel.CENTER))); dwPanel2.add(buildJPanel(jlAnnouncement)); JPanel primaryButtons = new JPanel(); primaryButtons.setLayout(new GridLayout(1, 4)); primaryButtons.add(btnShowStaticValues); primaryButtons.add(btnSelectTrain); primaryButtons.add(btnPauseResume); primaryButtons.add(buildJPanel(jlTime)); JPanel jp = new JPanel(); jp.setLayout(new BoxLayout(jp, BoxLayout.Y_AXIS)); jp.add(primaryButtons); jp.add(emptyJPanel); jp.add(new JSeparator(JSeparator.HORIZONTAL)); jp.add(dwPanel1); jp.add(new JSeparator(JSeparator.HORIZONTAL)); jp.add(dwPanel2); jp.setMaximumSize(new Dimension(400, 700)); JScrollPane dScroll = new JScrollPane(jp); dScroll.setViewportView(jp); dynamicWindow = new JFrame(); dynamicWindow.setTitle("Train Model (Chris Paskie) - UI (Train ID: --)"); dynamicWindow.setSize(600, 400); dynamicWindow.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE); dynamicWindow.add(dScroll); isVisible = false; dynamicWindow.setVisible(isVisible); // Setup the staticWindow. jlLength = new JLabel("", JLabel.CENTER); jlWidth = new JLabel("", JLabel.CENTER); jlHeight = new JLabel("", JLabel.CENTER); jlNumCars = new JLabel("", JLabel.CENTER); jlMotorPower = new JLabel("", JLabel.CENTER); jlMaxSpeed = new JLabel("", JLabel.CENTER); jlServiceBrakeDecel = new JLabel("", JLabel.CENTER); jlEmergencyBrakeDecel = new JLabel("", JLabel.CENTER); jlFrictionCoeff = new JLabel("", JLabel.CENTER); jlEmptyTrainMass = new JLabel("", JLabel.CENTER); jlPersonMass = new JLabel("", JLabel.CENTER); jlMaxSeatedCount = new JLabel("", JLabel.CENTER); jlMaxStandingCount = new JLabel("", JLabel.CENTER); jlMaxCrewCount = new JLabel("", JLabel.CENTER); JPanel swPanel = new JPanel(); swPanel.setLayout(new GridLayout(14, 2)); swPanel.add(buildJPanel(new JLabel("Length (m)", JLabel.CENTER))); swPanel.add(buildJPanel(jlLength)); swPanel.add(buildJPanel(new JLabel("Width (m)", JLabel.CENTER))); swPanel.add(buildJPanel(jlWidth)); swPanel.add(buildJPanel(new JLabel("Height (m)", JLabel.CENTER))); swPanel.add(buildJPanel(jlHeight)); swPanel.add(buildJPanel(new JLabel("Number of Cars", JLabel.CENTER))); swPanel.add(buildJPanel(jlNumCars)); swPanel.add(buildJPanel(new JLabel("Motor Power (W)", JLabel.CENTER))); swPanel.add(buildJPanel(jlMotorPower)); swPanel.add(buildJPanel(new JLabel("Maximum Speed (m/s)", JLabel.CENTER))); swPanel.add(buildJPanel(jlMaxSpeed)); swPanel.add(buildJPanel(new JLabel("Service Brake Deceleration (m/s^2)", JLabel.CENTER))); swPanel.add(buildJPanel(jlServiceBrakeDecel)); swPanel.add(buildJPanel(new JLabel("Emergency Brake Deceleration (m/s^2)", JLabel.CENTER))); swPanel.add(buildJPanel(jlEmergencyBrakeDecel)); swPanel.add(buildJPanel(new JLabel("Coefficient of Friction", JLabel.CENTER))); swPanel.add(buildJPanel(jlFrictionCoeff)); swPanel.add( buildJPanel(new JLabel("Train Mass (not inc. passengers/crew) (kg)", JLabel.CENTER))); swPanel.add(buildJPanel(jlEmptyTrainMass)); swPanel.add(buildJPanel(new JLabel("Mass Per Passenger/Crew (kg)", JLabel.CENTER))); swPanel.add(buildJPanel(jlPersonMass)); swPanel.add(buildJPanel(new JLabel("Maximum Seated Passenger Count", JLabel.CENTER))); swPanel.add(buildJPanel(jlMaxSeatedCount)); swPanel.add(buildJPanel(new JLabel("Maximum Standing Passenger Count", JLabel.CENTER))); swPanel.add(buildJPanel(jlMaxStandingCount)); swPanel.add(buildJPanel(new JLabel("Maximum Crew Count", JLabel.CENTER))); swPanel.add(buildJPanel(jlMaxCrewCount)); staticWindow = new JFrame(); staticWindow.setTitle("Train Model (Chris Paskie) - Static Values (Train ID: --)"); staticWindow.setSize(700, 600); staticWindow.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE); staticWindow.add(swPanel); isVisibleStatic = false; staticWindow.setVisible(isVisibleStatic); // Set up the TNC UI. if (!isSolo) { tncUI = new TNC_UI(); } } catch (Exception e) { e.printStackTrace(System.err); JOptionPane.showMessageDialog(null, e, "Error", JOptionPane.ERROR_MESSAGE); } }
protected boolean exportApplicationPrompt() throws IOException, SketchException { JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); panel.add(Box.createVerticalStrut(6)); // Box panel = Box.createVerticalBox(); // Box labelBox = Box.createHorizontalBox(); // String msg = "<html>Click Export to Application to create a standalone, " + // "double-clickable application for the selected plaforms."; // String msg = "Export to Application creates a standalone, \n" + // "double-clickable application for the selected plaforms."; String line1 = "Export to Application creates double-clickable,"; String line2 = "standalone applications for the selected plaforms."; JLabel label1 = new JLabel(line1, SwingConstants.CENTER); JLabel label2 = new JLabel(line2, SwingConstants.CENTER); label1.setAlignmentX(Component.LEFT_ALIGNMENT); label2.setAlignmentX(Component.LEFT_ALIGNMENT); // label1.setAlignmentX(); // label2.setAlignmentX(0); panel.add(label1); panel.add(label2); int wide = label2.getPreferredSize().width; panel.add(Box.createVerticalStrut(12)); final JCheckBox windowsButton = new JCheckBox("Windows"); // windowsButton.setMnemonic(KeyEvent.VK_W); windowsButton.setSelected(Preferences.getBoolean("export.application.platform.windows")); windowsButton.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { Preferences.setBoolean( "export.application.platform.windows", windowsButton.isSelected()); } }); final JCheckBox macosxButton = new JCheckBox("Mac OS X"); // macosxButton.setMnemonic(KeyEvent.VK_M); macosxButton.setSelected(Preferences.getBoolean("export.application.platform.macosx")); macosxButton.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { Preferences.setBoolean("export.application.platform.macosx", macosxButton.isSelected()); } }); final JCheckBox linuxButton = new JCheckBox("Linux"); // linuxButton.setMnemonic(KeyEvent.VK_L); linuxButton.setSelected(Preferences.getBoolean("export.application.platform.linux")); linuxButton.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { Preferences.setBoolean("export.application.platform.linux", linuxButton.isSelected()); } }); JPanel platformPanel = new JPanel(); // platformPanel.setLayout(new BoxLayout(platformPanel, BoxLayout.X_AXIS)); platformPanel.add(windowsButton); platformPanel.add(Box.createHorizontalStrut(6)); platformPanel.add(macosxButton); platformPanel.add(Box.createHorizontalStrut(6)); platformPanel.add(linuxButton); platformPanel.setBorder(new TitledBorder("Platforms")); // Dimension goodIdea = new Dimension(wide, platformPanel.getPreferredSize().height); // platformPanel.setMaximumSize(goodIdea); wide = Math.max(wide, platformPanel.getPreferredSize().width); platformPanel.setAlignmentX(Component.LEFT_ALIGNMENT); panel.add(platformPanel); // Box indentPanel = Box.createHorizontalBox(); // indentPanel.add(Box.createHorizontalStrut(new JCheckBox().getPreferredSize().width)); final JCheckBox showStopButton = new JCheckBox("Show a Stop button"); // showStopButton.setMnemonic(KeyEvent.VK_S); showStopButton.setSelected(Preferences.getBoolean("export.application.stop")); showStopButton.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { Preferences.setBoolean("export.application.stop", showStopButton.isSelected()); } }); showStopButton.setEnabled(Preferences.getBoolean("export.application.fullscreen")); showStopButton.setBorder(new EmptyBorder(3, 13, 6, 13)); // indentPanel.add(showStopButton); // indentPanel.setAlignmentX(Component.LEFT_ALIGNMENT); final JCheckBox fullScreenButton = new JCheckBox("Full Screen (Present mode)"); // fullscreenButton.setMnemonic(KeyEvent.VK_F); fullScreenButton.setSelected(Preferences.getBoolean("export.application.fullscreen")); fullScreenButton.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { boolean sal = fullScreenButton.isSelected(); Preferences.setBoolean("export.application.fullscreen", sal); showStopButton.setEnabled(sal); } }); fullScreenButton.setBorder(new EmptyBorder(3, 13, 3, 13)); JPanel optionPanel = new JPanel(); optionPanel.setLayout(new BoxLayout(optionPanel, BoxLayout.Y_AXIS)); optionPanel.add(fullScreenButton); optionPanel.add(showStopButton); // optionPanel.add(indentPanel); optionPanel.setBorder(new TitledBorder("Options")); wide = Math.max(wide, platformPanel.getPreferredSize().width); // goodIdea = new Dimension(wide, optionPanel.getPreferredSize().height); optionPanel.setAlignmentX(Component.LEFT_ALIGNMENT); // optionPanel.setMaximumSize(goodIdea); panel.add(optionPanel); Dimension good; // label1, label2, platformPanel, optionPanel good = new Dimension(wide, label1.getPreferredSize().height); label1.setMaximumSize(good); good = new Dimension(wide, label2.getPreferredSize().height); label2.setMaximumSize(good); good = new Dimension(wide, platformPanel.getPreferredSize().height); platformPanel.setMaximumSize(good); good = new Dimension(wide, optionPanel.getPreferredSize().height); optionPanel.setMaximumSize(good); // JPanel actionPanel = new JPanel(); // optionPanel.setLayout(new BoxLayout(optionPanel, BoxLayout.X_AXIS)); // optionPanel.add(Box.createHorizontalGlue()); // final JDialog frame = new JDialog(editor, "Export to Application"); // JButton cancelButton = new JButton("Cancel"); // cancelButton.addActionListener(new ActionListener() { // public void actionPerformed(ActionEvent e) { // frame.dispose(); // return false; // } // }); // Add the buttons in platform-specific order // if (PApplet.platform == PConstants.MACOSX) { // optionPanel.add(cancelButton); // optionPanel.add(exportButton); // } else { // optionPanel.add(exportButton); // optionPanel.add(cancelButton); // } String[] options = {"Export", "Cancel"}; final JOptionPane optionPane = new JOptionPane( panel, JOptionPane.PLAIN_MESSAGE, // JOptionPane.QUESTION_MESSAGE, JOptionPane.YES_NO_OPTION, null, options, options[0]); final JDialog dialog = new JDialog(this, "Export Options", true); dialog.setContentPane(optionPane); optionPane.addPropertyChangeListener( new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent e) { String prop = e.getPropertyName(); if (dialog.isVisible() && (e.getSource() == optionPane) && (prop.equals(JOptionPane.VALUE_PROPERTY))) { // If you were going to check something // before closing the window, you'd do // it here. dialog.setVisible(false); } } }); dialog.pack(); dialog.setResizable(false); Rectangle bounds = getBounds(); dialog.setLocation( bounds.x + (bounds.width - dialog.getSize().width) / 2, bounds.y + (bounds.height - dialog.getSize().height) / 2); dialog.setVisible(true); Object value = optionPane.getValue(); if (value.equals(options[0])) { return jmode.handleExportApplication(sketch); } else if (value.equals(options[1]) || value.equals(new Integer(-1))) { // closed window by hitting Cancel or ESC statusNotice("Export to Application canceled."); } return false; }
/** Construct a new dialog. */ public JExecDetailsDialog() { super("Execution Details"); /* create dialog body components */ { JPanel body = new JPanel(); body.setLayout(new BoxLayout(body, BoxLayout.Y_AXIS)); { JPanel panel = new JPanel(); panel.setName("MainDialogPanel"); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); /* working directory */ { panel.add(UIFactory.createPanelLabel("Working Directory:")); panel.add(Box.createRigidArea(new Dimension(0, 4))); JTextField field = UIFactory.createTextField(null, 100, JLabel.LEFT); pWorkingDirField = field; panel.add(field); } body.add(panel); } { JPanel panel = new JPanel(); panel.setName("HorizontalBar"); Dimension size = new Dimension(100, 7); panel.setPreferredSize(size); panel.setMinimumSize(size); panel.setMaximumSize(new Dimension(Integer.MAX_VALUE, 7)); body.add(panel); } /* command line */ JPanel above = new JPanel(); { above.setName("MainDialogPanel"); above.setLayout(new BoxLayout(above, BoxLayout.Y_AXIS)); { Box hbox = new Box(BoxLayout.X_AXIS); hbox.add(Box.createRigidArea(new Dimension(4, 0))); { JLabel label = new JLabel("X"); pCommandLineLabel = label; label.setName("PanelLabel"); hbox.add(label); } hbox.add(Box.createHorizontalGlue()); above.add(hbox); } above.add(Box.createRigidArea(new Dimension(0, 4))); { JTextArea area = new JTextArea(null, 5, 70); pCommandLineArea = area; area.setName("CodeTextArea"); area.setLineWrap(true); area.setWrapStyleWord(true); area.setEditable(false); } { JScrollPane scroll = UIFactory.createScrollPane( pCommandLineArea, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, new Dimension(100, 27), null, null); above.add(scroll); } } /* environment */ JPanel below = new JPanel(); { below.setName("MainDialogPanel"); below.setLayout(new BoxLayout(below, BoxLayout.Y_AXIS)); { Box hbox = new Box(BoxLayout.X_AXIS); hbox.add(Box.createRigidArea(new Dimension(4, 0))); { JLabel label = new JLabel("X"); pEnvLabel = label; label.setName("PanelLabel"); hbox.add(label); } hbox.add(Box.createHorizontalGlue()); below.add(hbox); } below.add(Box.createRigidArea(new Dimension(0, 4))); Component comps[] = UIFactory.createTitledPanels(); { JPanel tpanel = (JPanel) comps[0]; JPanel vpanel = (JPanel) comps[1]; tpanel.add(Box.createRigidArea(new Dimension(sTSize, 0))); vpanel.add(Box.createHorizontalGlue()); } { pEnvScroll = UIFactory.createScrollPane( comps[2], ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, new Dimension(100, 50), new Dimension(100, 300), null); below.add(pEnvScroll); } } { JVertSplitPanel split = new JVertSplitPanel(above, below); split.setResizeWeight(0.0); split.setAlignmentX(0.5f); body.add(split); } super.initUI("X", body, null, null, null, "Close", null); } }
public PlaceMover() { setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS)); JPanel moverPanel = new JPanel(); moverPanel.setLayout(new BoxLayout(moverPanel, BoxLayout.Y_AXIS)); Border moverBorder = BorderFactory.createTitledBorder("Set Mover"); moverPanel.setBorder(moverBorder); // AddBallListener startListener = new AddBallListener(); ballButton = new JRadioButton("Launch Ball"); Window.placeableGroup.add(ballButton); moverPanel.add(ballButton); rocketButton = new JRadioButton("Launch Rocket"); Window.placeableGroup.add(rocketButton); moverPanel.add(rocketButton); JPanel positionLabelPanel = new JPanel(); positionLabelPanel.setLayout(new BoxLayout(positionLabelPanel, BoxLayout.X_AXIS)); positionLabelPanel.add(new JLabel("Position:")); JButton launchButton = new JButton("<-"); LaunchListener launchListener = new LaunchListener(); launchButton.addActionListener(launchListener); positionLabelPanel.add(launchButton); moverPanel.add(positionLabelPanel); JPanel positionPanel = new JPanel(); positionPanel.setLayout(new BoxLayout(positionPanel, BoxLayout.X_AXIS)); positionPanel.add(new JLabel("X:")); xPosition = new JTextField("0.0", 1); positionPanel.add(xPosition); positionPanel.add(new JLabel("Y:")); yPosition = new JTextField("0.0", 1); yPosition.setSize(4, 4); positionPanel.add(yPosition); moverPanel.add(positionPanel); JLabel angleLabel = new JLabel("Angle:"); // angleLabel.setAlignmentX(LEFT_ALIGNMENT); moverPanel.add(angleLabel); projectileAngle = new JTextField("1.0", 10); moverPanel.add(projectileAngle); projectileAngle.setMaximumSize(projectileAngle.getPreferredSize()); JLabel speedLabel = new JLabel("Speed:"); // speedLabel.setAlignmentX(LEFT_ALIGNMENT); moverPanel.add(speedLabel); projectileSpeed = new JTextField("4.0", 10); moverPanel.add(projectileSpeed); projectileSpeed.setMaximumSize(projectileSpeed.getPreferredSize()); moverPanel.add(new JLabel("(Rocket) Force:")); rocketForce = new JTextField("10.0", 10); moverPanel.add(rocketForce); rocketForce.setMaximumSize(rocketForce.getPreferredSize()); moverPanel.add(new JLabel("Mass:")); projectileMass = new JTextField("1.0", 10); moverPanel.add(projectileMass); projectileMass.setMaximumSize(projectileMass.getPreferredSize()); moverPanel.add(new JLabel("Charge:")); projectileCharge = new JTextField("0", 10); moverPanel.add(projectileCharge); projectileCharge.setMaximumSize(projectileCharge.getPreferredSize()); moverPanel.setMaximumSize(moverPanel.getPreferredSize()); add(moverPanel); }
private void initialize() { setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); JLabel label = new JLabel( "It is up to you whether or not to include the source when you distribute your robot."); label.setAlignmentX(Component.LEFT_ALIGNMENT); add(label); label = new JLabel( "If you include the source, other people will be able to look at your code and learn from it."); label.setAlignmentX(Component.LEFT_ALIGNMENT); add(label); getIncludeSource().setAlignmentX(Component.LEFT_ALIGNMENT); add(getIncludeSource()); label = new JLabel(" "); label.setAlignmentX(Component.LEFT_ALIGNMENT); add(label); add(getVersionLabel()); JPanel p = new JPanel(); p.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0)); p.setAlignmentX(Component.LEFT_ALIGNMENT); getVersionField().setAlignmentX(Component.LEFT_ALIGNMENT); getVersionField().setMaximumSize(getVersionField().getPreferredSize()); p.setMaximumSize(new Dimension(Integer.MAX_VALUE, getVersionField().getPreferredSize().height)); p.add(getVersionField()); p.add(getVersionHelpLabel()); add(p); label = new JLabel(" "); label.setAlignmentX(Component.LEFT_ALIGNMENT); add(label); add(getDescriptionLabel()); JScrollPane scrollPane = new JScrollPane( getDescriptionArea(), ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); scrollPane.setMaximumSize(scrollPane.getPreferredSize()); scrollPane.setMinimumSize(new Dimension(100, scrollPane.getPreferredSize().height)); scrollPane.setAlignmentX(Component.LEFT_ALIGNMENT); add(scrollPane); label = new JLabel(" "); label.setAlignmentX(Component.LEFT_ALIGNMENT); add(label); add(getAuthorLabel()); getAuthorField().setAlignmentX(Component.LEFT_ALIGNMENT); getAuthorField().setMaximumSize(getAuthorField().getPreferredSize()); add(getAuthorField()); label = new JLabel(" "); label.setAlignmentX(Component.LEFT_ALIGNMENT); add(label); add(getWebpageLabel()); getWebpageField().setAlignmentX(Component.LEFT_ALIGNMENT); getWebpageField().setMaximumSize(getWebpageField().getPreferredSize()); add(getWebpageField()); getWebpageHelpLabel().setAlignmentX(Component.LEFT_ALIGNMENT); add(getWebpageHelpLabel()); JPanel panel = new JPanel(); panel.setAlignmentX(Component.LEFT_ALIGNMENT); add(panel); addComponentListener(eventHandler); }
/** * The class constructor. * * @param owner the GuiKeyboardInstance class instance * @param space plugin dimension */ public GUI(final ButtonGridInstance owner, final Dimension space) { this.owner = owner; final JButton buttons[] = new JButton[owner.NUMBER_OF_KEYS]; panel = new JPanel(); setLayout(new BorderLayout()); int labelHeight; if (owner.getCaption().length() > 0) { JLabel label = new JLabel(owner.getCaption(), 0); add(label, BorderLayout.NORTH); labelHeight = (int) getPreferredSize().getHeight(); } else { labelHeight = 0; } for (int i = 0; i < owner.NUMBER_OF_KEYS; i++) { buttons[i] = new JButton(); String caption = owner.getButtonCaption(i); buttons[i].setText(caption); if ("".equalsIgnoreCase(caption)) { buttons[i].setEnabled(false); buttons[i].setVisible(false); } else { numberOfKeys = numberOfKeys + 1; buttons[i].setEnabled(true); buttons[i].setVisible(true); final JButton b = buttons[i]; // final Border raisedBevelBorder = BorderFactory.createRaisedBevelBorder(); // final Insets insets = raisedBevelBorder.getBorderInsets(buttons[i]); // final EmptyBorder emptyBorder = new EmptyBorder(insets); // b.setBorder(emptyBorder); // b.setOpaque(false); // b.setContentAreaFilled(false); if (owner.propBorderColor != USE_DEFAULT_COLOR) b.setBorder( BorderFactory.createLineBorder( getColorProperty(owner.propBorderColor), owner.propBorderThickness)); b.setFocusPainted(false); if (!("".equalsIgnoreCase(owner.getToolTip(i)))) b.setToolTipText(owner.getToolTip(i)); if (owner.propBackgroundColor != USE_DEFAULT_COLOR) b.setBackground(getColorProperty(owner.propBackgroundColor)); if (owner.propTextColor != USE_DEFAULT_COLOR) b.setForeground(getColorProperty(owner.propTextColor)); if (owner.propSelectionFrameColor != USE_DEFAULT_COLOR) { b.getModel() .addChangeListener( new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { ButtonModel model = (ButtonModel) e.getSource(); if (model.isRollover()) { // b.setBorder(raisedBevelBorder); b.setBorder( BorderFactory.createLineBorder( getColorProperty(owner.propSelectionFrameColor), owner.propSelectionFrameThickness)); } else { // b.setBorder(emptyBorder); b.setBorder( BorderFactory.createLineBorder( getColorProperty(owner.propBorderColor), owner.propBorderThickness)); } } }); } } final int y = i; buttons[i].addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { if (colSav == null) colSav = buttons[y].getBackground(); if (owner.propSelectionFrameColor == USE_DEFAULT_COLOR) buttons[y].setBackground(Color.RED); else buttons[y].setBackground(getColorProperty(owner.propSelectionFrameColor)); owner.etpKeyArray[y].raiseEvent(); AstericsThreadPool.instance.execute( new Runnable() { public void run() { try { Thread.sleep(250); buttons[y].setBackground(colSav); } catch (InterruptedException e) { } } }); } }); } if (numberOfKeys > 0) { Dimension buttonDimension; Dimension panelDimension; if (owner.propHorizontalOrientation == true) { buttonDimension = new Dimension(space.width / numberOfKeys, ((space.height - labelHeight))); panelDimension = new Dimension(numberOfKeys * buttonDimension.width, buttonDimension.height); } else { buttonDimension = new Dimension(space.width, ((space.height - labelHeight) / numberOfKeys)); panelDimension = new Dimension(space.width, numberOfKeys * buttonDimension.height); } panel.setMaximumSize(panelDimension); panel.setPreferredSize(panelDimension); panel.setMinimumSize(panelDimension); panel.setVisible(true); if (owner.propHorizontalOrientation == true) { panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS)); } else { panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); } for (int i = 0; i < owner.NUMBER_OF_KEYS; i++) { buttons[i].setPreferredSize(buttonDimension); buttons[i].setMinimumSize(buttonDimension); buttons[i].setMaximumSize(buttonDimension); // panel.add(buttons[i]); } float maxFontSize = fontSizeMax; float maxFontSizeTable[] = new float[owner.NUMBER_OF_KEYS]; Rectangle buttonRectangle = new Rectangle(); for (int i = 0; i < owner.NUMBER_OF_KEYS; i++) { float fontSize = 0; boolean finish = false; maxFontSizeTable[i] = 0; if (owner.getButtonCaption(i).length() > 0) { do { fontSize = fontSize + fontIncrementStep; buttons[i].setMargin(new Insets(2, 2, 2, 2)); Font font = buttons[i].getFont(); font = font.deriveFont(fontSize); FontMetrics fontMetrics = buttons[i].getFontMetrics(font); Rectangle2D tmpFontSize = fontMetrics.getStringBounds(owner.getButtonCaption(i), buttons[i].getGraphics()); Insets insets = buttons[i].getMargin(); double height = tmpFontSize.getHeight(); double width = tmpFontSize.getWidth(); double buttonHeightSpace = buttonDimension.getHeight() - (double) insets.bottom - (double) insets.top - verticalOffset; double buttonWidthSpace = buttonDimension.getWidth() - (double) insets.left - (double) insets.right - horizontalOffset; if ((height >= buttonHeightSpace) || (width >= buttonWidthSpace)) { finish = true; maxFontSizeTable[i] = fontSize - 1; } else { if (fontSize > fontSizeMax) { finish = true; maxFontSizeTable[i] = fontSize; } } } while (!finish); } } for (int i = 0; i < owner.NUMBER_OF_KEYS; i++) { if ((maxFontSizeTable[i] > 0) && (maxFontSizeTable[i] < maxFontSize)) { maxFontSize = maxFontSizeTable[i]; } } for (int i = 0; i < owner.NUMBER_OF_KEYS; i++) { Font font = buttons[i].getFont(); font = font.deriveFont(maxFontSize); buttons[i].setFont(font); } } for (int i = 0; i < owner.NUMBER_OF_KEYS; i++) { panel.add(buttons[i]); } add(panel, BorderLayout.CENTER); setBorder(BorderFactory.createLineBorder(Color.BLACK)); }
public ThumbMaker() { super("ThumbMaker"); // grab the preferences so that they can be used to fill out the layout ThumbMakerPreferences myPrefs = ThumbMakerPreferences.getInstance(); // content pane JPanel pane = new JPanel(); pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS)); setContentPane(pane); // top panel JPanel top = new JPanel(); top.setLayout(new BoxLayout(top, BoxLayout.X_AXIS)); pane.add(top); // left-hand panel JPanel left = new JPanel(); left.setLayout(new BoxLayout(left, BoxLayout.Y_AXIS)); top.add(left); // horizontal padding top.add(Box.createHorizontalStrut(5)); // label for file list JLabel listLabel = GUIUtil.makeLabel("Files to process:"); listLabel.setDisplayedMnemonic('f'); String listTip = "List of files from which to create thumbnails"; listLabel.setToolTipText(listTip); left.add(GUIUtil.pad(listLabel)); // list of files to convert list = new JList(); listLabel.setLabelFor(list); list.setToolTipText(listTip); list.setModel(new DefaultListModel()); list.setDragEnabled(true); changeFilesInList = new ThumbTransferHandler(); list.setTransferHandler(changeFilesInList); left.add(new JScrollPane(list)); // progress bar progress = new JProgressBar(0, 1); progress.setString("[Drag and drop files onto list to begin]"); progress.setStringPainted(true); progress.setToolTipText("Status of thumbnail processing operation"); left.add(progress); // panel for process and remove buttons JPanel p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); // add files button addFiles = new JButton("Add Files"); addFiles.setMnemonic('d'); addFiles.setToolTipText("Add files to be processed."); addFiles.addActionListener(this); p.add(addFiles); p.add(Box.createHorizontalStrut(5)); // process button process = new JButton("Process"); process.setMnemonic('p'); process.setToolTipText("Begin creating thumbnails"); process.addActionListener(this); p.add(process); p.add(Box.createHorizontalStrut(5)); // remove button remove = new JButton("Remove"); remove.setMnemonic('v'); remove.setToolTipText("Remove selected files from the list"); remove.addActionListener(this); p.add(remove); left.add(GUIUtil.pad(p)); // right-hand panel JPanel right = new JPanel(); right.setLayout(new BoxLayout(right, BoxLayout.Y_AXIS)); top.add(right); // panel for resolution settings p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); // resolution label JLabel resLabel = GUIUtil.makeLabel("Resolution: "); resLabel.setDisplayedMnemonic('s'); resLabel.setToolTipText("Resolution of the thumbnails"); p.add(resLabel); // x resolution text box xres = GUIUtil.makeTextField(myPrefs.getStringPref(ThumbMakerPreferences.RES_WIDTH_PREF_NAME), 2); resLabel.setLabelFor(xres); xres.setToolTipText("Thumbnail width"); p.add(xres); // "by" label JLabel byLabel = GUIUtil.makeLabel(" by "); byLabel.setDisplayedMnemonic('y'); p.add(byLabel); // y resolution text box yres = GUIUtil.makeTextField(myPrefs.getStringPref(ThumbMakerPreferences.RES_HEIGHT_PREF_NAME), 2); byLabel.setLabelFor(yres); yres.setToolTipText("Thumbnail height"); p.add(yres); right.add(GUIUtil.pad(p)); right.add(Box.createVerticalStrut(8)); // aspect ratio checkbox aspect = new JCheckBox("Maintain aspect ratio", true); aspect.setMnemonic('m'); aspect.setToolTipText( "When checked, thumbnails are not stretched, " + "but rather padded with the background color."); aspect.addActionListener(this); right.add(GUIUtil.pad(aspect)); // make sure that the check box is initialized correctly aspect.setSelected( myPrefs .getStringPref(ThumbMakerPreferences.DO_MAINTAIN_ASPECT_PREF_NAME) .equalsIgnoreCase(ThumbMakerPreferences.BOOLEAN_TRUE_STRING)); // panel for background color p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); // load the color values from the preferences int redValueNumber = myPrefs.getIntegerPref(ThumbMakerPreferences.RED_VALUE_PREF_NAME); int greenValueNumber = myPrefs.getIntegerPref(ThumbMakerPreferences.GREEN_VALUE_PREF_NAME); int blueValueNumber = myPrefs.getIntegerPref(ThumbMakerPreferences.BLUE_VALUE_PREF_NAME); // background color label colorLabel = GUIUtil.makeLabel("Background color: "); String colorTip = "Thumbnail background color"; colorLabel.setToolTipText(colorTip); p.add(colorLabel); // background color colorBox = new JPanel(); colorBox.setToolTipText(colorTip); colorBox.setBorder(new LineBorder(Color.black, 1)); Dimension colorBoxSize = new Dimension(45, 15); colorBox.setMaximumSize(colorBoxSize); colorBox.setMinimumSize(colorBoxSize); colorBox.setPreferredSize(colorBoxSize); colorBox.setBackground(new Color(redValueNumber, greenValueNumber, blueValueNumber)); p.add(colorBox); right.add(GUIUtil.pad(p)); right.add(Box.createVerticalStrut(2)); // red slider redLabel = GUIUtil.makeLabel("R"); red = new JSlider(0, 255, redValueNumber); redValue = GUIUtil.makeLabel("" + redValueNumber); redValue.setToolTipText("Red color component slider"); right.add(makeSlider(redLabel, red, redValue, "Red")); // green slider greenLabel = GUIUtil.makeLabel("G"); green = new JSlider(0, 255, greenValueNumber); greenValue = GUIUtil.makeLabel("" + greenValueNumber); greenValue.setToolTipText("Green color component slider"); right.add(makeSlider(greenLabel, green, greenValue, "Green")); // blue slider blueLabel = GUIUtil.makeLabel("B"); blue = new JSlider(0, 255, blueValueNumber); blueValue = GUIUtil.makeLabel("" + blueValueNumber); right.add(makeSlider(blueLabel, blue, blueValue, "Blue")); right.add(Box.createVerticalStrut(8)); // panel for algorithm p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); // algorithm label JLabel algorithmLabel = GUIUtil.makeLabel("Algorithm: "); algorithmLabel.setDisplayedMnemonic('l'); String algorithmTip = "Resizing algorithm to use"; algorithmLabel.setToolTipText(algorithmTip); p.add(algorithmLabel); // algorithm combo box algorithm = GUIUtil.makeComboBox( new String[] {"Smooth", "Standard", "Fast", "Replicate", "Area averaging"}); algorithmLabel.setLabelFor(algorithm); algorithm.setToolTipText(algorithmTip); p.add(algorithm); // set the algorithm value from the preferences algorithm.setSelectedIndex(myPrefs.getIntegerPref(ThumbMakerPreferences.RESIZE_ALG_PREF_NAME)); right.add(GUIUtil.pad(p)); // panel for output format p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); // format label JLabel formatLabel = GUIUtil.makeLabel("Format: "); formatLabel.setDisplayedMnemonic('f'); String formatTip = "Thumbnail output format"; formatLabel.setToolTipText(formatTip); p.add(formatLabel); // format combo box format = GUIUtil.makeComboBox(new String[] {"PNG", "JPG"}); formatLabel.setLabelFor(format); format.setToolTipText(formatTip); p.add(format); // set the format value from the preferences format.setSelectedIndex(myPrefs.getIntegerPref(ThumbMakerPreferences.THUMB_FORMAT_PREF_NAME)); right.add(GUIUtil.pad(p)); right.add(Box.createVerticalStrut(5)); // panel for prepend string p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); // prepend label JLabel prependLabel = GUIUtil.makeLabel("Prepend: "); prependLabel.setDisplayedMnemonic('e'); String prependTip = "Starting string for each thumbnail filename"; prependLabel.setToolTipText(prependTip); p.add(prependLabel); // prepend field prepend = GUIUtil.makeTextField( myPrefs.getStringPref(ThumbMakerPreferences.STRING_TO_PREPEND_PREF_NAME), 4); prependLabel.setLabelFor(prepend); prepend.setToolTipText(prependTip); p.add(prepend); p.add(Box.createHorizontalStrut(5)); // append label JLabel appendLabel = GUIUtil.makeLabel("Append: "); appendLabel.setDisplayedMnemonic('a'); String appendTip = "Ending string for each thumbnail filename"; appendLabel.setToolTipText(appendTip); p.add(appendLabel); // append field append = GUIUtil.makeTextField( myPrefs.getStringPref(ThumbMakerPreferences.STRING_TO_APPEND_PREF_NAME), 4); appendLabel.setLabelFor(append); append.setToolTipText(appendTip); p.add(append); right.add(GUIUtil.pad(p)); // vertical padding right.add(Box.createVerticalGlue()); // bottom panel JPanel bottom = new JPanel(); bottom.setLayout(new BoxLayout(bottom, BoxLayout.X_AXIS)); pane.add(bottom); // output folder label JLabel outputLabel = GUIUtil.makeLabel("Output folder: "); outputLabel.setDisplayedMnemonic('o'); String outputTip = "Thumbnail output folder"; outputLabel.setToolTipText(outputTip); bottom.add(outputLabel); // output folder field String filePath = new File(myPrefs.getStringPref(ThumbMakerPreferences.FILE_PATH_STRING_PREF_NAME)) .getAbsolutePath(); output = GUIUtil.makeTextField(filePath, 8); outputLabel.setLabelFor(output); output.setToolTipText(outputTip); // start this in default and then lock down so "..." is used output.setEditable(false); output.setBackground(Color.LIGHT_GRAY); bottom.add(output); // add a file chooser button "..." dotDotDot = new JButton("..."); dotDotDot.setMnemonic('.'); dotDotDot.setToolTipText("Select destination directory."); dotDotDot.addActionListener(this); bottom.add(dotDotDot); right.add(GUIUtil.pad(p)); setFromPreferences(); addWindowListener(this); }
private void jbInit() throws Exception { border1 = new EtchedBorder(EtchedBorder.RAISED, Color.white, new Color(165, 163, 151)); border2 = new EtchedBorder(EtchedBorder.RAISED, Color.white, new Color(165, 163, 151)); border3 = new EtchedBorder(EtchedBorder.RAISED, Color.white, new Color(178, 178, 178)); titledBorder1 = new TitledBorder(border3, "Subject"); border4 = new EtchedBorder(EtchedBorder.RAISED, Color.white, new Color(178, 178, 178)); titledBorder2 = new TitledBorder(border4, "Message"); border5 = new EtchedBorder(EtchedBorder.RAISED, Color.white, new Color(178, 178, 178)); titledBorder3 = new TitledBorder(border5, "Subject"); border6 = new EtchedBorder(EtchedBorder.RAISED, Color.white, new Color(165, 163, 151)); titledBorder4 = new TitledBorder(border6, "Message"); border7 = new EtchedBorder(EtchedBorder.RAISED, Color.white, new Color(165, 163, 151)); titledBorder5 = new TitledBorder(border7, "Messages"); border8 = new EtchedBorder(EtchedBorder.RAISED, Color.white, new Color(165, 163, 151)); titledBorder6 = new TitledBorder(border8, "Online Users"); border9 = new EtchedBorder(EtchedBorder.RAISED, Color.white, new Color(178, 178, 178)); titledBorder7 = new TitledBorder(border9, "Send Message"); this.getContentPane().setLayout(borderLayout1); jSplitPane1.setOrientation(JSplitPane.VERTICAL_SPLIT); jSplitPane1.setBorder(border1); jSplitPane1.setLastDividerLocation(250); jSplitPane1.setResizeWeight(1.0); jLabelServer.setRequestFocusEnabled(true); jLabelServer.setText("Server"); jLabelUserId.setText("User Id"); jTextFieldServer.setPreferredSize(new Dimension(75, 20)); jTextFieldServer.setText(""); jTextFieldUser.setPreferredSize(new Dimension(75, 20)); jTextFieldUser.setText(""); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setJMenuBar(jMenuBarMain); this.setTitle("Message Client"); jLabeltargetUser.setText("Target"); jTextFieldTargetUser.setPreferredSize(new Dimension(75, 20)); jTextFieldTargetUser.setText(""); jPanelSendMessages.setBorder(border2); jPanelSendMessages.setMaximumSize(new Dimension(32767, 32767)); jPanelSendMessages.setOpaque(false); jPanelSendMessages.setPreferredSize(new Dimension(96, 107)); jPanelSendMessages.setRequestFocusEnabled(true); jPanelSendMessages.setToolTipText(""); jPanelSendMessages.setLayout(verticalFlowLayout1); jTextFieldSendSubject.setBorder(titledBorder3); jTextFieldSendSubject.setText(""); jTextFieldSendSubject.addKeyListener(new Client_jTextFieldSendSubject_keyAdapter(this)); jSplitPane2.setOrientation(JSplitPane.HORIZONTAL_SPLIT); jScrollPane1.setBorder(titledBorder5); jScrollPane2.setBorder(titledBorder6); jToggleButtonRegister.setText("Register"); jToggleButtonRegister.addActionListener(new Client_jToggleButtonRegister_actionAdapter(this)); jButtonMultiConnect.setText("Multi-Connect"); jButtonMultiConnect.addActionListener(new Client_jButtonMultiConnect_actionAdapter(this)); jListOnlineUsers.addMouseListener(new Client_jListOnlineUsers_mouseAdapter(this)); jToggleButtonConnect.setText("Connect"); jToggleButtonConnect.addActionListener(new Client_jToggleButtonConnect_actionAdapter(this)); jTextPaneDisplayMessages.setEditable(false); jTextPaneDisplayMessages.addMouseListener( new Client_jTextPaneDisplayMessages_mouseAdapter(this)); jTextFieldSendMessages.setBorder(titledBorder7); jTextFieldSendMessages.setToolTipText(""); jTextFieldSendMessages.addKeyListener(new Client_jTextFieldSendMessages_keyAdapter(this)); jButtonMessageStresser.setText("Msg Stresser"); jButtonMessageStresser.addActionListener( new Client_jToggleButtonMessageStresser_actionAdapter(this)); jMenuItemClearMessages.setText("Clear Messages"); jMenuItemClearMessages.addActionListener(new Client_jMenuItemClearMessages_actionAdapter(this)); jMenuServer.setText("Server"); jMenuItemServerConnect.setText("Connect"); jMenuItemServerConnect.addActionListener(new Client_jMenuItemServerConnect_actionAdapter(this)); jMenuItemServerDisconnect.setText("Disconnect"); jMenuItemServerDisconnect.addActionListener( new Client_jMenuItemServerDisconnect_actionAdapter(this)); jMenuOptions.setText("Options"); jMenuTest.setText("Test"); jMenuItemOptionsRegister.setText("Register"); jMenuItemOptionsRegister.addActionListener( new Client_jMenuItemOptionsRegister_actionAdapter(this)); jMenuItemOptionsDeregister.setText("Deregister"); jMenuItemOptionsDeregister.addActionListener( new Client_jMenuItemOptionsDeregister_actionAdapter(this)); jMenuItemOptionsEavesdrop.setText("Eavesdrop"); jMenuItemOptionsEavesdrop.addActionListener( new Client_jMenuItemOptionsEavesdrop_actionAdapter(this)); jMenuItemOptionsUneavesdrop.setText("Uneavesdrop"); jMenuItemOptionsUneavesdrop.addActionListener( new Client_jMenuItemOptionsUneavesdrop_actionAdapter(this)); jMenuItemTestMulticonnect.setText("Multiconnect"); jMenuItemTestMulticonnect.addActionListener( new Client_jMenuItemTestMulticonnect_actionAdapter(this)); jMenuItemTestMessageStresser.setText("Message Stresser"); jMenuItemTestMessageStresser.addActionListener( new Client_jMenuItemTestMessageStresser_actionAdapter(this)); jMenuItemTestMultidisconnect.setText("Multidisconnect"); jMenuItemTestMultidisconnect.addActionListener( new Client_jMenuItemTestMultidisconnect_actionAdapter(this)); jMenuItemOptionsGlobalEavesdrop.setText("Global Eavesdrop"); jMenuItemOptionsGlobalEavesdrop.addActionListener( new Client_jMenuItemOptionsGlobalEavesdrop_actionAdapter(this)); jMenuItemOptionsGlobalUneavesdrop.setEnabled(false); jMenuItemOptionsGlobalUneavesdrop.setText("Global Uneavesdrop"); jMenuItemOptionsGlobalUneavesdrop.addActionListener( new Client_jMenuItemOptionsGlobalUneavesdrop_actionAdapter(this)); jLabelPwd.setText("Pwd"); jPasswordFieldPwd.setMinimumSize(new Dimension(11, 20)); jPasswordFieldPwd.setPreferredSize(new Dimension(75, 20)); jPasswordFieldPwd.setText(""); jMenuItemScheduleCommand.setText("Schedule Command"); jMenuItemScheduleCommand.addActionListener( new Client_jMenuItemScheduleCommand_actionAdapter(this)); jMenuItemEditScheduledCommands.setText("Edit Scheduled Commands"); jMenuItemEditScheduledCommands.addActionListener( new Client_jMenuItemEditScheduledCommands_actionAdapter(this)); jPanelSendMessages.add(jTextFieldSendSubject, null); jPanelSendMessages.add(jTextFieldSendMessages, null); jSplitPane1.add(jSplitPane2, JSplitPane.TOP); jSplitPane2.add(jScrollPane1, JSplitPane.TOP); jScrollPane1.getViewport().add(jTextPaneDisplayMessages, null); jSplitPane2.add(jScrollPane2, JSplitPane.BOTTOM); jScrollPane2.getViewport().add(jListOnlineUsers, null); this.getContentPane().add(jSplitPane1, BorderLayout.CENTER); jSplitPane1.add(jPanelSendMessages, JSplitPane.BOTTOM); this.getContentPane().add(jPanel1, BorderLayout.NORTH); jPanel1.add(jLabelServer, null); jPanel1.add(jTextFieldServer, null); jPanel1.add(jLabelUserId, null); jPanel1.add(jTextFieldUser, null); jPanel1.add(jLabelPwd, null); jPanel1.add(jPasswordFieldPwd, null); jPanel1.add(jLabeltargetUser, null); jPanel1.add(jTextFieldTargetUser, null); jPanel1.add(jToggleButtonConnect, null); jPanel1.add(jToggleButtonRegister, null); jPanel1.add(jButtonMultiConnect, null); jPanel1.add(jButtonMessageStresser, null); jPopupMenuMessageArea.add(jMenuItemClearMessages); jMenuBarMain.add(jMenuServer); jMenuBarMain.add(jMenuOptions); jMenuBarMain.add(jMenuTest); jMenuServer.add(jMenuItemServerConnect); jMenuServer.add(jMenuItemServerDisconnect); jMenuOptions.add(jMenuItemOptionsRegister); jMenuOptions.add(jMenuItemOptionsDeregister); jMenuOptions.add(jMenuItemOptionsEavesdrop); jMenuOptions.add(jMenuItemOptionsUneavesdrop); jMenuOptions.add(jMenuItemOptionsGlobalEavesdrop); jMenuOptions.add(jMenuItemOptionsGlobalUneavesdrop); jMenuTest.add(jMenuItemTestMulticonnect); jMenuTest.add(jMenuItemTestMultidisconnect); jMenuTest.add(jMenuItemTestMessageStresser); jMenuTest.add(jMenuItemScheduleCommand); jMenuTest.add(jMenuItemEditScheduledCommands); jSplitPane1.setDividerLocation(200); jSplitPane2.setDividerLocation(600); jListOnlineUsers.setCellRenderer(new OnlineListCellRenderer()); jListOnlineUsers.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); jMenuItemTestMulticonnect.setEnabled(true); jMenuItemTestMultidisconnect.setEnabled(false); jMenuItemServerConnect.setEnabled(true); jMenuItemServerDisconnect.setEnabled(false); jMenuItemOptionsRegister.setEnabled(true); jMenuItemOptionsDeregister.setEnabled(false); }
/** Constructor for RestaurantGui class. Sets up all the gui components. */ public RestaurantGui() { super("Restaurant Application"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(50, 50, WINDOWX, WINDOWY); getContentPane().setLayout(new BoxLayout((Container) getContentPane(), BoxLayout.Y_AXIS)); Dimension rest = new Dimension(WINDOWX, (int) (WINDOWY * .4)); Dimension info = new Dimension(WINDOWX, (int) (WINDOWY * .1)); restPanel.setPreferredSize(rest); restPanel.setMinimumSize(rest); restPanel.setMaximumSize(rest); infoPanel.setPreferredSize(info); infoPanel.setMinimumSize(info); infoPanel.setMaximumSize(info); infoPanel.setBorder(BorderFactory.createTitledBorder("Information")); inventorySetup.setLayout(new BorderLayout()); inventorySetup.add(inventoryLabel, BorderLayout.NORTH); chicken.setMajorTickSpacing(1); chicken.setPaintLabels(true); chicken.setPaintTicks(true); steak.setMajorTickSpacing(1); steak.setPaintLabels(true); steak.setPaintTicks(true); pizza.setMajorTickSpacing(1); pizza.setPaintLabels(true); pizza.setPaintTicks(true); salad.setMajorTickSpacing(1); salad.setPaintLabels(true); salad.setPaintTicks(true); chicken.addChangeListener(this); steak.addChangeListener(this); pizza.addChangeListener(this); salad.addChangeListener(this); custHungerLevel.addChangeListener(this); currentChicken.setEditable(false); currentSteak.setEditable(false); currentSalad.setEditable(false); currentPizza.setEditable(false); moneyLabel.setText("New Customer Money"); customerMoney.setEditable(true); custMoneyInput.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { custMoney = Integer.parseInt(customerMoney.getText()); } }); custMoneyInput.setText("submit"); moneyPanel.setLayout(new GridLayout(1, 3)); moneyPanel.add(moneyLabel); moneyPanel.add(customerMoney); moneyPanel.add(custMoneyInput); /*currentChicken.setText(Integer.toString(restPanel.cook.inventory.get("Chicken").currentNumber)); currentSteak.setText(Integer.toString(restPanel.cook.inventory.get("Steak").currentNumber)); currentPizza.setText(Integer.toString(restPanel.cook.inventory.get("Pizza").currentNumber)); currentSalad.setText(Integer.toString(restPanel.cook.inventory.get("Salad").currentNumber));*/ inventoryInput.setLayout(new GridLayout(5, 3)); inventoryInput.add(chickenLabel); inventoryInput.add(currentChicken); inventoryInput.add(chicken); inventoryInput.add(saladLabel); inventoryInput.add(currentSalad); inventoryInput.add(salad); inventoryInput.add(pizzaLabel); inventoryInput.add(currentPizza); inventoryInput.add(pizza); inventoryInput.add(steakLabel); inventoryInput.add(currentSteak); inventoryInput.add(steak); inventoryInput.add(hungerLabel); inventoryInput.add(custHungerLevel); inventorySetup.add(inventoryInput, BorderLayout.CENTER); requestBreak.addActionListener(this); requestBreak.setVisible(false); stateCB.setVisible(false); stateCB.addActionListener(this); changeOrder.setVisible(false); changeOrder.addActionListener(this); infoPanel.setLayout(new GridLayout(1, 2, 30, 0)); infoPanel.add(infoLabel); infoPanel.add(stateCB); infoPanel.add(requestBreak); infoPanel.add(changeOrder); getContentPane().add(restPanel); getContentPane().add(addTable); getContentPane().add(infoPanel); getContentPane().add(moneyPanel); getContentPane().add(inventorySetup); addTable.addActionListener(this); t.setDelay(40); t.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { updateInventory(); } }); }
public CustomDialog(Frame name) { super(name, "Customize Text Properties", true); this.setResizable(false); this.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); String[] fontList = ge.getAvailableFontFamilyNames(); fontCombo = new JComboBox(fontList); italic = new JCheckBox("Italic"); bold = new JCheckBox("Bold"); sizeCombo = new JComboBox(stringSize); ((JLabel) sizeCombo.getRenderer()).setHorizontalAlignment(SwingConstants.CENTER); sizeCombo.setSelectedIndex(4); sizeCombo.setPreferredSize(new Dimension(45, 21)); // tweek size example = new JTextField(" Preview "); example.setHorizontalAlignment(SwingConstants.CENTER); example.setFont(new Font("sanserif", Font.PLAIN, 28)); example.setEditable(false); ok = new JButton("Apply"); cancel = new JButton("Cancel"); ok.setPreferredSize(cancel.getPreferredSize()); foreground = new JButton("Edit Color"); foreground.setPreferredSize(new Dimension(100, 50)); // add the listeners fontCombo.addActionListener(this); italic.addItemListener(this); bold.addItemListener(this); sizeCombo.addActionListener(this); ok.addActionListener(this); cancel.addActionListener(this); foreground.addActionListener(this); JPanel p0 = new JPanel(); p0.add(fontCombo); p0.setBorder(new TitledBorder(new EtchedBorder(), "Font family")); JPanel p1a = new JPanel(); p1a.add(italic); p1a.add(bold); p1a.setBorder(new TitledBorder(new EtchedBorder(), "Font style")); JPanel p1b = new JPanel(); p1b.add(sizeCombo); p1b.add(new JLabel("pt.")); p1b.setBorder(new TitledBorder(new EtchedBorder(), "Font size")); JPanel p1 = new JPanel(); p1.setLayout(new BoxLayout(p1, BoxLayout.X_AXIS)); p1.add(p1a); p1.add(p1b); p1.setAlignmentX(Component.CENTER_ALIGNMENT); JPanel p2 = new JPanel(); // use FlowLayout p2.add(foreground); p2.setBorder(new TitledBorder(new EtchedBorder(), "Message color")); p2.setAlignmentX(Component.CENTER_ALIGNMENT); JPanel p3 = new JPanel(); p3.setLayout(new BoxLayout(p3, BoxLayout.Y_AXIS)); p3.add(example); p3.setPreferredSize(new Dimension(250, 60)); p3.setMaximumSize(new Dimension(250, 60)); p3.setAlignmentX(Component.CENTER_ALIGNMENT); JPanel p4 = new JPanel(); p4.add(ok); p4.add(cancel); p4.setAlignmentX(Component.CENTER_ALIGNMENT); JPanel p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS)); p.add(p0); p.add(Box.createRigidArea(new Dimension(0, 10))); p.add(p1); p.add(Box.createRigidArea(new Dimension(0, 10))); p.add(p2); p.add(Box.createRigidArea(new Dimension(0, 10))); p.add(p3); p.add(Box.createRigidArea(new Dimension(0, 10))); p.add(p4); p.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); Dimension d1 = p3.getPreferredSize(); Dimension d2 = p1.getPreferredSize(); p1.setPreferredSize(new Dimension(d1.width, d2.height)); p1.setMaximumSize(new Dimension(d1.width, d2.height)); d2 = p2.getPreferredSize(); p2.setPreferredSize(new Dimension(d1.width, d2.height)); p2.setMaximumSize(new Dimension(d1.width, d2.height)); this.setContentPane(p); this.pack(); }