|
TarTool example source code file (MainFrame.java)
The TarTool MainFrame.java source code
/*
** This code has been placed into the Public Domain.
** This code was written by Timothy Gerard Endres in 1999.
**
*/
package com.ice.tartool;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import java.io.IOException;
import javax.swing.*;
import javax.swing.border.*;
import com.ice.tar.TarInputStream;
import com.ice.util.AWTUtilities;
import com.ice.util.FileUtilities;
import com.ice.util.UserProperties;
public class
MainFrame extends JFrame
implements ActionListener
{
private static final String BOUNDS_PROP = "mainFrame.bounds";
private TarTool app;
private JMenuBar menuBar;
private ArchivePanel mainPanel;
public
MainFrame( String title, TarTool app )
{
super( title );
this.app = app;
this.mainPanel = new ArchivePanel();
this.getContentPane().add( this.mainPanel );
this.establishMenuBar();
this.addWindowListener( this.new WAdapt() );
int x =
UserProperties.getProperty
( "mainWindow.x", 20 );
int y =
UserProperties.getProperty
( "mainWindow.y", 20 );
this.setLocation( x, y );
int w =
UserProperties.getProperty
( "mainWindow.width", -1 );
int h =
UserProperties.getProperty
( "mainWindow.height", -1 );
Dimension fSz = this.getSize();
if ( w == -1 ) w = fSz.width;
if ( h == -1 ) h = fSz.height;
this.setSize( w, h );
}
/**
* @deprecated
*/
public void
show()
{
super.show();
this.loadLayoutProps();
}
public void
setVisible( boolean vis )
{
if ( vis )
{
this.loadLayoutProps();
}
else
{
this.saveLayoutProps();
}
super.setVisible( vis );
}
protected void
loadLayoutProps()
{
int t =
UserProperties.getProperty
( "mainFrame.bounds.t", -1 );
int l =
UserProperties.getProperty
( "mainFrame.bounds.l", -1 );
int w =
UserProperties.getProperty
( "mainFrame.bounds.w", -1 );
int h =
UserProperties.getProperty
( "mainFrame.bounds.h", -1 );
if ( t != -1 && l != -1 && w != -1 && h != -1 )
{
this.setSize( w, h );
this.setLocation( l, t );
}
this.mainPanel.loadLayoutProps();
}
protected void
saveLayoutProps()
{
Rectangle r = this.getBounds();
UserProperties.setDynamicProperty
( TarTool.CONFIG_MAIN, BOUNDS_PROP + ".t", ""+r.y );
UserProperties.setDynamicProperty
( TarTool.CONFIG_MAIN, BOUNDS_PROP + ".l", ""+r.x );
UserProperties.setDynamicProperty
( TarTool.CONFIG_MAIN, BOUNDS_PROP + ".w", ""+r.width );
UserProperties.setDynamicProperty
( TarTool.CONFIG_MAIN, BOUNDS_PROP + ".h", ""+r.height );
this.mainPanel.saveLayoutProps();
}
public ArchivePanel
getArchivePanel()
{
return this.mainPanel;
}
public void
actionPerformed( ActionEvent event )
{
String command = event.getActionCommand();
if ( command.equals( "QUIT" ) )
{
app.shutDown();
}
else if ( command.equals( "OPEN" ) )
{
this.mainPanel.actionPerformed( event );
}
else if ( command.equals( "CLOSE" ) )
{
this.mainPanel.actionPerformed( event );
}
else if ( command.startsWith( "EXTRACT" ) )
{
this.mainPanel.actionPerformed( event );
}
else if ( command.equals( "ABOUT" ) )
{
AboutDialog dlg = new AboutDialog( this );
dlg.show();
}
else
{
System.err.println
( "UNKNOWN Command '" + command + "'" );
}
}
private void
establishMenuBar()
{
JMenuItem item;
this.menuBar = new JMenuBar();
this.addFileMenu( this.menuBar );
this.setJMenuBar( this.menuBar );
}
private void
addFileMenu( JMenuBar mbar )
{
JMenu menu;
JMenuItem item;
//
// F I L E M E N U
//
menu = new JMenu( "File" );
mbar.add( menu );
item = new JMenuItem( "Open Archive..." );
item.addActionListener( this );
item.setActionCommand( "OPEN" );
menu.add( item );
item = new JMenuItem( "Close Archive..." );
item.addActionListener( this );
item.setActionCommand( "CLOSE" );
menu.add( item );
menu.addSeparator();
item = new JMenuItem( "Extract Selection..." );
item.addActionListener( this );
item.setActionCommand( "EXTRACT" );
menu.add( item );
item = new JMenuItem( "Extract Selection (asc)..." );
item.addActionListener( this );
item.setActionCommand( "EXTRACT_ASCII" );
menu.add( item );
item = new JMenuItem( "Extract Selection (ext)..." );
item.addActionListener( this );
item.setActionCommand( "EXTRACT_MIME" );
menu.add( item );
menu.addSeparator();
item = new JMenuItem( "Quit" );
item.setAccelerator
( KeyStroke.getKeyStroke
( KeyEvent.VK_Q, Event.CTRL_MASK ) );
item.addActionListener( this );
item.setActionCommand( "QUIT" );
menu.add( item );
//
// H E L P M E N U
//
menu = new JMenu( "Help" );
mbar.add( menu );
item = new JMenuItem( "About TarTool..." );
item.addActionListener( this );
item.setActionCommand( "ABOUT" );
menu.add( item );
}
class WAdapt extends WindowAdapter
{
public void
windowClosing( WindowEvent e )
{
app.shutDown();
}
}
}
Other TarTool examples (source code examples)Here is a short list of links related to this TarTool MainFrame.java source code file: |
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.