javax.swing.JButton#setMinimumSize ( )源码实例Demo

下面列出了javax.swing.JButton#setMinimumSize ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: jts   文件: JTSTestBuilderToolBar.java
private JButton createButton(String toolTipText, 
    ImageIcon icon, 
    java.awt.event.ActionListener actionListener)
{
  JButton btn = new JButton();
  btn.setMargin(new Insets(0, 0, 0, 0));
  btn.setPreferredSize(new Dimension(30, 30));
  btn.setIcon(icon);
  btn.setMinimumSize(new Dimension(30, 30));
  btn.setVerticalTextPosition(SwingConstants.BOTTOM);
  btn.setSelected(false);
  btn.setToolTipText(toolTipText);
  btn.setHorizontalTextPosition(SwingConstants.CENTER);
  btn.setFont(new java.awt.Font("SansSerif", 0, 10));
  btn.setMaximumSize(new Dimension(30, 30));
  btn.addActionListener(actionListener);
  return btn;
}
 
private Component[] createColorField(String text, Color defaultColor) {
	JLabel colorLabel = new JLabel(text);
	final JTextField colorField = new JTextField();
	colorField.setEditable(false);
	colorField.setPreferredSize(txtDim);
	colorField.setMinimumSize(txtDim);
	colorField.setText(String.valueOf(defaultColor.getRGB()));	
	colorField.setBackground(defaultColor);
	JButton colorButton = new JButton();
	colorButton.setPreferredSize(buttonDim);
	colorButton.setMinimumSize(buttonDim);
	colorButton.setMaximumSize(buttonDim);
	colorButton.setIcon(ImageUtil.getImageIcon("copy_settings"));
	colorButton.addActionListener(new ActionListener() {
		@Override
		public void actionPerformed(ActionEvent e) {
			Color color = ExtendedColorChooser.showDialog(SwingUtilities.getWindowAncestor(SelectDisplaySettingsWizardPanel.this), 
					I18NSupport.getString("color.dialog.title"), null);
			if (color != null) {
				colorField.setText(String.valueOf(color.getRGB()));	
				colorField.setBackground(color);
			}
		}			
	});		
	return new Component[] {colorLabel, colorField, colorButton};
}
 
private JButton getCancelJButton() {

        JButton cancelJButton = new JButton("Cancel");

        Dimension size = new Dimension(70, 20);
        cancelJButton.setPreferredSize(size);
        cancelJButton.setMinimumSize(size);
        cancelJButton.setMaximumSize(size);

        cancelJButton.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent event) {
                setVisible(false);
            }
        });

        return cancelJButton;
    }
 
private void init() {
	dataSourceField = new JTextField();
	JButton dsButton = new JButton(ImageUtil.getImageIcon("database"));
	dsButton.setPreferredSize(buttonDim);
	dsButton.setMaximumSize(buttonDim);
	dsButton.setMinimumSize(buttonDim);
	dsButton.setToolTipText(I18NSupport.getString("wizard.panel.start.datasource.title"));
	dsButton.addActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent e) {      
           	if (selection()) {
           		selectDataSourceDialog();
           	}
           }
       });
	
	setLayout(new GridBagLayout());
       
       add(dataSourceField, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0,
               GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL,
               new Insets(0, 0, 0, 0), 0, 0));
       add(dsButton, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0,
               GridBagConstraints.WEST, GridBagConstraints.NONE,
               new Insets(0, 5, 0, 0), 0, 0));
}
 
源代码5 项目: nordpos   文件: JProductsSelector.java
public void addProduct(Image img, String name, ActionListener al) {
    
    JButton btn = new JButton();
    btn.applyComponentOrientation(getComponentOrientation());
    btn.setText(name);
    btn.setFont(btn.getFont().deriveFont((float)24));
    btn.setIcon(new ImageIcon(img));
    btn.setFocusPainted(false);
    btn.setFocusable(false);
    btn.setRequestFocusEnabled(false);
    btn.setHorizontalTextPosition(SwingConstants.CENTER);
    btn.setVerticalTextPosition(SwingConstants.BOTTOM);
    btn.setMargin(new Insets(2, 2, 2, 2));
    btn.setMaximumSize(new Dimension(80, 70));
    btn.setPreferredSize(new Dimension(80, 70));
    btn.setMinimumSize(new Dimension(80, 70));
    btn.addActionListener(al);
    flowpanel.add(btn);        
}
 
private void init() {
    setLayout(new BorderLayout());

    dataSourceCombo = new JComboBox();
    dataSourceCombo.setPreferredSize(dim);
    dataSourceCombo.setRenderer(new DataSourceRenderer());
    populateDataSources(null);

    addDataSourceButton = new JButton();
    addDataSourceButton.setPreferredSize(buttonDim);
    addDataSourceButton.setMaximumSize(buttonDim);
    addDataSourceButton.setMinimumSize(buttonDim);

    JPanel dsPanel = new JPanel(new GridBagLayout());
    dsPanel.add(new JLabel(I18NSupport.getString("wizard.panel.datasource.label")), new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0,
            GridBagConstraints.WEST, GridBagConstraints.NONE,
            new Insets(5, 5, 5, 0), 0, 0));
    dsPanel.add(dataSourceCombo, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0,
            GridBagConstraints.WEST, GridBagConstraints.NONE,
            new Insets(5, 5, 5, 0), 0, 0));
    dsPanel.add(addDataSourceButton, new GridBagConstraints(2, 0, 1, 1, 0.0, 0.0,
            GridBagConstraints.WEST, GridBagConstraints.NONE,
            new Insets(5, 5, 5, 5), 0, 0));
    dsPanel.add(new JLabel(""), new GridBagConstraints(3, 0, 1, 2, 1.0, 1.0,
            GridBagConstraints.WEST, GridBagConstraints.BOTH,
            new Insets(5, 5, 5, 5), 0, 0));
    add(dsPanel, BorderLayout.CENTER);
}
 
源代码7 项目: dungeon   文件: DungeonScrollBarUi.java
/**
 * This is a temporary solution to remove the buttons from BasicScrollBarUI.
 *
 * @return a JButton with all sizes set to zero
 */
private static JButton createZeroButton() {
  JButton button = new JButton();
  button.setPreferredSize(ZERO_DIMENSION);
  button.setMinimumSize(ZERO_DIMENSION);
  button.setMaximumSize(ZERO_DIMENSION);
  return button;
}
 
源代码8 项目: snap-desktop   文件: RemoteTopologyPanel.java
private static JButton buildButton(String resourceImagePath, ActionListener buttonListener, Dimension buttonSize) {
    ImageIcon icon = UIUtils.loadImageIcon(resourceImagePath);
    JButton button = new JButton(icon);
    button.setFocusable(false);
    button.addActionListener(buttonListener);
    button.setPreferredSize(buttonSize);
    button.setMinimumSize(buttonSize);
    button.setMaximumSize(buttonSize);
    return button;
}
 
源代码9 项目: runelite   文件: CustomScrollBarUI.java
/**
 * Creates an empty JButton to be used as the scroll bar's arrows (to disable the arrows).
 */
protected JButton createEmptyButton()
{
	JButton button = new JButton();
	Dimension zeroDim = new Dimension(0, 0);
	button.setPreferredSize(zeroDim);
	button.setMinimumSize(zeroDim);
	button.setMaximumSize(zeroDim);
	return button;
}
 
源代码10 项目: rapidminer-studio   文件: TypeSelectionView.java
private JButton createDataSourceSelectionButton(@SuppressWarnings("rawtypes") final DataSourceFactory factory) {
	String label = DataImportWizardUtils.getFactoryLabel(factory);
	String description = DataImportWizardUtils.getFactoryDescription(factory);

	JButton typeSelectionButton = new JButton(new AbstractAction() {

		private static final long serialVersionUID = 1L;

		@Override
		@SuppressWarnings("unchecked")
		public void actionPerformed(ActionEvent e) {
			enableDataSourceButtons(false);

			// update the wizard by setting the selected factory
			wizard.setDataSource(factory.createNew(), factory);

			// switch to the next wizard step (location selection)
			wizard.nextStep();
		}

	});

	typeSelectionButton.setText(label);
	typeSelectionButton.setToolTipText(description);

	typeSelectionButton.setMinimumSize(TYPE_BUTTON_DIMENSION);
	typeSelectionButton.setPreferredSize(TYPE_BUTTON_DIMENSION);
	typeSelectionButton.setMaximumSize(TYPE_BUTTON_DIMENSION);
	typeSelectionButton.setIcon(DataImportWizardUtils.getFactoryIcon(factory));

	return typeSelectionButton;
}
 
private JButton makeColorButton(String name) {
    JButton button = new JButton(name);
    button.setPreferredSize(btnDim);
    button.setMinimumSize(btnDim);
    button.setMaximumSize(btnDim);        
    button.setBorder(BorderFactory.createCompoundBorder(
            BorderFactory.createLineBorder(Color.WHITE),
            BorderFactory.createRaisedBevelBorder()));        
    button.setBackground(Color.GRAY);
    button.setEnabled(false);        
    return button;
}
 
源代码12 项目: OpERP   文件: StandardButtonHelper.java
public static JButton SetStandardSizeForButton(JButton btn){
	btn.setMaximumSize(new Dimension(95, 95));
	btn.setMinimumSize(new Dimension(95,95));
	btn.setHorizontalTextPosition(SwingConstants.CENTER);
	btn.setVerticalTextPosition(SwingConstants.BOTTOM);
	btn.setFont(new Font("Arial", Font.PLAIN, 10));
	return btn;
}
 
源代码13 项目: Data_Processor   文件: UnicornSplitPaneUI.java
/**  
 * Creates and return an instance of JButton that can be used to  
 * collapse the right component in the split pane.  
 */  
@Override  
protected JButton createRightOneTouchButton() {   
	JButton b = new JButton() {   
		private static final long serialVersionUID = 1L;

		public void setBorder(Border border) {   
		}   

		@Override  
		public void paint(Graphics g) {   
			if (splitPane != null) {   
				int[] xs = new int[3];   
				int[] ys = new int[3];   
				int blockSize;   

				// Fill the background first ...   
				g.setColor(new Color(255,0,255));   
				g.fillRect(0, 0, this.getWidth(),   
						this.getHeight());   

				// ... then draw the arrow.   
				if (orientation == JSplitPane.VERTICAL_SPLIT) {   
					blockSize = Math.min(getHeight(), oneTouchSize);   
					xs[0] = blockSize;   
					xs[1] = blockSize << 1;   
					xs[2] = 0;   
					ys[0] = blockSize;   
					ys[1] = ys[2] = 0;   
				} else {   
					blockSize = Math.min(getWidth(), oneTouchSize);   
					xs[0] = xs[2] = 0;   
					xs[1] = blockSize;   
					ys[0] = 0;   
					ys[1] = blockSize;   
					ys[2] = blockSize << 1;   
				}   
				g.setColor(new Color(255,0,255));     
				g.fillPolygon(xs, ys, 3);   
			}   
		}   
		// Don't want the button to participate in focus traversable.   

		public boolean isFocusTraversable() {   
			return false;   
		}   
	};   
	b.setMinimumSize(new Dimension(oneTouchSize, oneTouchSize));   
	b.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));   
	b.setFocusPainted(false);   
	b.setBorderPainted(false);   
	b.setRequestFocusEnabled(false);   
	return b;   
}
 
源代码14 项目: Darcula   文件: DarculaSplitPaneDivider.java
@Override
protected JButton createRightOneTouchButton() {
    JButton b = new JButton() {
        public void setBorder(Border border) {
        }
        public void paint(Graphics g) {
            if (splitPane != null) {
                int[]          xs = new int[3];
                int[]          ys = new int[3];
                int            blockSize;

                // Fill the background first ...
                g.setColor(this.getBackground());
                g.fillRect(0, 0, this.getWidth(),
                        this.getHeight());

                // ... then draw the arrow.
                if (orientation == JSplitPane.VERTICAL_SPLIT) {
                    blockSize = Math.min(getHeight(), ONE_TOUCH_SIZE);
                    xs[0] = blockSize;
                    xs[1] = blockSize << 1;
                    xs[2] = 0;
                    ys[0] = blockSize;
                    ys[1] = ys[2] = 0;
                }
                else {
                    blockSize = Math.min(getWidth(), ONE_TOUCH_SIZE);
                    xs[0] = xs[2] = 0;
                    xs[1] = blockSize;
                    ys[0] = 0;
                    ys[1] = blockSize;
                    ys[2] = blockSize << 1;
                }
                g.setColor(new DoubleColor(Gray._255, UIUtil.getLabelForeground()));
                g.fillPolygon(xs, ys, 3);
            }
        }
        // Don't want the button to participate in focus traversable.
        public boolean isFocusTraversable() {
            return false;
        }
    };
    b.setMinimumSize(new Dimension(ONE_TOUCH_SIZE, ONE_TOUCH_SIZE));
    b.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
    b.setFocusPainted(false);
    b.setBorderPainted(false);
    b.setRequestFocusEnabled(false);
    return b;
}
 
源代码15 项目: binnavi   文件: ErrorDialog.java
private void createGui() {
  final JPanel topPanel = new JPanel(new BorderLayout());

  final JPanel messagePanel = new JPanel(new BorderLayout());

  final JTextField messageField = new JTextField();
  messageField.setEditable(false);
  messageField.setText(message);
  messageField.setBackground(Color.WHITE);

  messagePanel.add(messageField);

  messagePanel.setBorder(new TitledBorder("Error Message"));

  topPanel.add(messagePanel, BorderLayout.NORTH);

  final JTabbedPane tabbedPane = new JTabbedPane();

  final JTextArea descriptionArea = new JTextArea();

  descriptionArea.setEditable(false);
  descriptionArea.setText(description);
  descriptionArea.setLineWrap(true);
  descriptionArea.setWrapStyleWord(true);

  tabbedPane.addTab("Description", descriptionArea);

  if (exception != null) {
    final JTextArea traceArea = new JTextArea();

    traceArea.setEditable(false);
    traceArea.setText(StackTrace.toString(exception.getStackTrace()));

    tabbedPane.addTab("Stack Trace", new JScrollPane(traceArea));
  }

  add(topPanel, BorderLayout.NORTH);
  add(tabbedPane);

  final JPanel bottomButtonPanel = new JPanel(new BorderLayout());
  final JPanel leftButtonPanelBottom = new JPanel();

  final JButton reportButton = new JButton(new ReportAction());
  reportButton.setMinimumSize(new Dimension(180, reportButton.getHeight()));

  leftButtonPanelBottom.add(reportButton);

  bottomButtonPanel.add(leftButtonPanelBottom, BorderLayout.WEST);

  final JPanel rightButtonPanelBottom = new JPanel();
  final JButton okButton = new JButton(new CloseButtonListener());
  getRootPane().setDefaultButton(okButton);
  rightButtonPanelBottom.add(okButton);
  bottomButtonPanel.add(rightButtonPanelBottom, BorderLayout.EAST);
  add(bottomButtonPanel, BorderLayout.SOUTH);
}
 
源代码16 项目: triplea   文件: ProLogWindow.java
private void settingsDetailsButtonActionPerformed() {
  final JDialog dialog = new JDialog(this, "Pro AI - Settings Details");
  String message = "";
  if (tabPaneMain.getSelectedIndex() == 0) { // Debugging
    message =
        "Debugging\r\n"
            + "\r\n"
            + "AI Logging: When this is checked, the AI's will output their logs, as they come "
            + "in, so you can see exactly what the AI is thinking.\r\n"
            + "Note that if you check this on, you still have to press OK then reopen the "
            + "settings window for the logs to actually start displaying.\r\n"
            + "\r\n"
            + "Log Depth: This setting lets you choose how deep you want the AI logging to be. "
            + "Fine only displays the high-level events, like the start of a phase, etc.\r\n"
            + "Finer displays medium-level events, such as attacks, reinforcements, etc.\r\n"
            + "Finest displays all the AI logging available. Can be used for detailed analysis, "
            + "but is a lot harder to read through it.\r\n"
            + "\r\n"
            + "Pause AI's: This checkbox pauses all the AI's while it's checked, so you can look "
            + "at the logs without the AI's outputting floods of information.\r\n"
            + "\r\n"
            + "Limit Log History To X Rounds: If this is checked, the AI log information will "
            + "be limited to X rounds of information.\r\n";
  }
  final JTextArea label = new JTextArea(message);
  label.setFont(new Font("Segoe UI", Font.PLAIN, 12));
  label.setEditable(false);
  label.setAutoscrolls(true);
  label.setLineWrap(false);
  label.setFocusable(false);
  label.setWrapStyleWord(true);
  label.setLocation(0, 0);
  dialog.setBackground(label.getBackground());
  dialog.setLayout(new BorderLayout());
  final JScrollPane pane = new JScrollPane();
  pane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
  pane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
  pane.setViewportView(label);
  dialog.add(pane, BorderLayout.CENTER);
  final JButton button = new JButton("Close");
  button.setMinimumSize(new Dimension(100, 30));
  button.addActionListener(e -> dialog.dispose());
  dialog.add(button, BorderLayout.SOUTH);
  dialog.setMinimumSize(new Dimension(500, 300));
  dialog.setSize(new Dimension(800, 600));
  dialog.setResizable(true);
  dialog.setLocationRelativeTo(this);
  dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
  dialog.setVisible(true);
}
 
源代码17 项目: triplea   文件: AbstractUndoableMovesPanel.java
protected void setSize(final Dimension buttonSize, final JButton cancelButton) {
  cancelButton.setMinimumSize(buttonSize);
  cancelButton.setPreferredSize(buttonSize);
  cancelButton.setMaximumSize(buttonSize);
}
 
源代码18 项目: beautyeye   文件: BESplitPaneDivider.java
/**
 * Creates and return an instance of JButton that can be used to
 * collapse the right component in the split pane.
 *
 * @return the j button
 */
protected JButton createRightOneTouchButton() {
	JButton b = new JButton() {
		public void setBorder(Border border) {
		}
		public void paint(Graphics g) {
			if (splitPane != null) {
				int[]          xs = new int[3];
				int[]          ys = new int[3];
				int            blockSize;

				// Fill the background first ...
				g.setColor(this.getBackground());
				g.fillRect(0, 0, this.getWidth(),
						this.getHeight());

				//* 开启反走样
				BEUtils.setAntiAliasing((Graphics2D)g, true);
				
				// ... then draw the arrow.
				if (orientation == JSplitPane.VERTICAL_SPLIT) {
					blockSize = Math.min(getHeight(), oneTouchSize);
					xs[0] = blockSize;
					xs[1] = blockSize << 1;
					xs[2] = 0;
					ys[0] = blockSize;
					ys[1] = ys[2] = 0;
				}
				else {
					blockSize = Math.min(getWidth(), oneTouchSize);
					xs[0] = xs[2] = 0;
					xs[1] = blockSize;
					ys[0] = 0;
					ys[1] = blockSize;
					ys[2] = blockSize << 1;
				}

				//modified by jb2011
				g.setColor(TOUCH_BUTTON_COLOR);//Color.black);

				g.fillPolygon(xs, ys, 3);
				
				//* 关闭反走样
				BEUtils.setAntiAliasing((Graphics2D)g, false);
			}
		}
		// Don't want the button to participate in focus traversable.
		public boolean isFocusTraversable() {
			return false;
		}
	};
	b.setMinimumSize(new Dimension(oneTouchSize, oneTouchSize));
	b.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
	b.setFocusPainted(false);
	b.setBorderPainted(false);
	b.setRequestFocusEnabled(false);
	return b;
}
 
源代码19 项目: mzmine2   文件: IsotopePeakScannerSetupDialog.java
@Override
protected void addDialogComponents() {
  super.addDialogComponents();

  Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

  pnlChart = new EChartPanel(chart);
  pnlChart.setPreferredSize(
      new Dimension((int) (screenSize.getWidth() / 3), (int) (screenSize.getHeight() / 3)));
  pnlPreview.add(pnlChart, BorderLayout.CENTER);


  // get components
  cmpAutoCarbon = (OptionalModuleComponent) this
      .getComponentForParameter(IsotopePeakScannerParameters.autoCarbonOpt);
  cmpAutoCarbonCbx = (JCheckBox) cmpAutoCarbon.getComponent(0);
  cmpPreview =
      (JCheckBox) this.getComponentForParameter(IsotopePeakScannerParameters.showPreview);
  cmpPreview.setSelected(false); // i want to have the checkbox below the pattern settings
  // but it should be disabled by default. Thats why it's hardcoded here.

  // get parameters
  pElement = parameterSet.getParameter(IsotopePeakScannerParameters.element);
  pMinIntensity = parameterSet.getParameter(IsotopePeakScannerParameters.minPatternIntensity);
  pCharge = parameterSet.getParameter(IsotopePeakScannerParameters.charge);
  pMergeWidth = parameterSet.getParameter(IsotopePeakScannerParameters.mergeWidth);
  pAutoCarbon = parameterSet.getParameter(IsotopePeakScannerParameters.autoCarbonOpt);
  autoCarbonParameters = pAutoCarbon.getEmbeddedParameters();
  pMinC = autoCarbonParameters.getParameter(AutoCarbonParameters.minCarbon);
  pMaxC = autoCarbonParameters.getParameter(AutoCarbonParameters.maxCarbon);
  pMinSize = autoCarbonParameters.getParameter(AutoCarbonParameters.minPatternSize);

  // set up gui
  form = new NumberFormatter(NumberFormat.getInstance());
  form.setValueClass(Integer.class);
  form.setFormat(new DecimalFormat("0"));
  form.setAllowsInvalid(true);
  form.setMinimum(minC);
  form.setMaximum(maxC);

  btnPrevPattern = new JButton("Previous");
  btnPrevPattern.addActionListener(this);
  btnPrevPattern.setMinimumSize(btnPrevPattern.getPreferredSize());
  btnPrevPattern.setEnabled(cmpAutoCarbonCbx.isSelected());

  txtCurrentPatternIndex = new JFormattedTextField(form);
  txtCurrentPatternIndex.addActionListener(this);
  txtCurrentPatternIndex.setText(String.valueOf((minC + maxC) / 2));
  txtCurrentPatternIndex.setPreferredSize(new Dimension(50, 25));
  txtCurrentPatternIndex.setEditable(true);
  txtCurrentPatternIndex.setEnabled(cmpAutoCarbonCbx.isSelected());

  btnNextPattern = new JButton("Next");
  btnNextPattern.addActionListener(this);
  btnNextPattern.setPreferredSize(btnNextPattern.getMinimumSize());
  btnNextPattern.setEnabled(cmpAutoCarbonCbx.isSelected());

  chart = ChartFactory.createXYBarChart("Isotope pattern preview", "m/z", false, "Abundance",
      new XYSeriesCollection(new XYSeries("")));
  chart.getPlot().setBackgroundPaint(Color.WHITE);
  chart.getXYPlot().setDomainGridlinePaint(Color.GRAY);
  chart.getXYPlot().setRangeGridlinePaint(Color.GRAY);

  pnlPreviewButtons.add(btnPrevPattern);
  pnlPreviewButtons.add(txtCurrentPatternIndex);
  pnlPreviewButtons.add(btnNextPattern);

  pack();
}
 
源代码20 项目: bytecode-viewer   文件: ExportJar.java
public ExportJar(final String jarPath) {
    setSize(new Dimension(250, 277));
    setResizable(false);
    setTitle("Save As Jar..");

    JButton btnNewButton = new JButton("Save As Jar..");
    btnNewButton.setMaximumSize(new Dimension(999, 23));
    btnNewButton.setMinimumSize(new Dimension(999, 23));
    btnNewButton.setSize(new Dimension(999, 0));
    getContentPane().setLayout(
            new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));

    JScrollPane scrollPane = new JScrollPane();
    getContentPane().add(scrollPane);

    JLabel lblMetainfmanifestmf = new JLabel("META-INF/MANIFEST.MF:");
    scrollPane.setColumnHeaderView(lblMetainfmanifestmf);

    final JTextArea mani = new JTextArea();
    mani.setText("Manifest-Version: 1.0\r\nClass-Path: .\r\nMain-Class: ");
    scrollPane.setViewportView(mani);
    getContentPane().add(btnNewButton);

    btnNewButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            BytecodeViewer.viewer.setIcon(true);
            Thread t = new Thread() {
                @Override
                public void run() {
                    JarUtils.saveAsJar(BytecodeViewer.getLoadedClasses(), jarPath,
                            mani.getText());
                    BytecodeViewer.viewer.setIcon(false);
                }
            };
            t.start();
            dispose();
        }
    });

    this.setLocationRelativeTo(null);
}