Trivial code cleanup

This commit is contained in:
Vhati 2017-11-26 11:48:38 -05:00
parent d934740377
commit 0621f680f8
12 changed files with 158 additions and 152 deletions

View file

@ -16,7 +16,7 @@ import org.apache.logging.log4j.Logger;
public class DatExtractDialog extends ProgressDialog { public class DatExtractDialog extends ProgressDialog {
private static final Logger log = LogManager.getLogger(DatExtractDialog.class); private static final Logger log = LogManager.getLogger( DatExtractDialog.class );
private boolean started = false; private boolean started = false;
@ -87,11 +87,11 @@ public class DatExtractDialog extends ProgressDialog {
@Override @Override
public void run() { public void run() {
FTLDat.AbstractPack srcP = null; FTLDat.AbstractPack srcP = null;
FTLDat.AbstractPack dstP = null; FTLDat.AbstractPack dstP = null;
InputStream is = null; InputStream is = null;
int progress = 0; int progress = 0;
try { try {
if ( !extractDir.exists() ) extractDir.mkdirs(); if ( !extractDir.exists() ) extractDir.mkdirs();
@ -117,19 +117,19 @@ public class DatExtractDialog extends ProgressDialog {
} }
setTaskOutcomeLater( true, null ); setTaskOutcomeLater( true, null );
} }
catch ( Exception ex ) { catch ( Exception e ) {
log.error( "Error extracting dats.", ex ); log.error( "Error extracting dats.", e );
setTaskOutcomeLater( false, ex ); setTaskOutcomeLater( false, e );
} }
finally { finally {
try {if ( is != null ) is.close();} try {if ( is != null ) is.close();}
catch ( IOException ex ) {} catch ( IOException e ) {}
try {if ( srcP != null ) srcP.close();} try {if ( srcP != null ) srcP.close();}
catch ( IOException ex ) {} catch ( IOException e ) {}
try {if ( dstP != null ) dstP.close();} try {if ( dstP != null ) dstP.close();}
catch ( IOException ex ) {} catch ( IOException e ) {}
} }
} }
} }

View file

@ -42,9 +42,9 @@ public class FieldEditorPanel extends JPanel {
private GridBagConstraints gridC = new GridBagConstraints(); private GridBagConstraints gridC = new GridBagConstraints();
private Component nameStrut = Box.createHorizontalStrut(1); private Component nameStrut = Box.createHorizontalStrut( 1 );
private Component valueStrut = Box.createHorizontalStrut(120); private Component valueStrut = Box.createHorizontalStrut( 120 );
private Component reminderStrut = Box.createHorizontalStrut(90); private Component reminderStrut = Box.createHorizontalStrut( 90 );
private boolean remindersVisible; private boolean remindersVisible;
@ -72,23 +72,23 @@ public class FieldEditorPanel extends JPanel {
gridC.gridy++; gridC.gridy++;
} }
gridC.insets = new Insets(2, 4, 2, 4); gridC.insets = new Insets( 2, 4, 2, 4 );
} }
public void setNameWidth( int width ) { public void setNameWidth( int width ) {
nameStrut.setMinimumSize( new Dimension(width, 0) ); nameStrut.setMinimumSize( new Dimension( width, 0 ) );
nameStrut.setPreferredSize( new Dimension(width, 0) ); nameStrut.setPreferredSize( new Dimension( width, 0 ) );
} }
public void setValueWidth( int width ) { public void setValueWidth( int width ) {
valueStrut.setMinimumSize( new Dimension(width, 0) ); valueStrut.setMinimumSize( new Dimension( width, 0 ) );
valueStrut.setPreferredSize( new Dimension(width, 0) ); valueStrut.setPreferredSize( new Dimension( width, 0 ) );
} }
public void setReminderWidth( int width ) { public void setReminderWidth( int width ) {
reminderStrut.setMinimumSize( new Dimension(width, 0) ); reminderStrut.setMinimumSize( new Dimension( width, 0 ) );
reminderStrut.setPreferredSize( new Dimension(width, 0) ); reminderStrut.setPreferredSize( new Dimension( width, 0 ) );
} }
@ -113,11 +113,11 @@ public class FieldEditorPanel extends JPanel {
JTextArea valueArea = new JTextArea(); JTextArea valueArea = new JTextArea();
valueArea.setBackground(null); valueArea.setBackground(null);
valueArea.setEditable( false ); valueArea.setEditable( false );
valueArea.setBorder(null); valueArea.setBorder( null );
valueArea.setLineWrap( true ); valueArea.setLineWrap( true );
valueArea.setWrapStyleWord( true ); valueArea.setWrapStyleWord( true );
valueArea.setFocusable( false ); valueArea.setFocusable( false );
valueArea.setFont( UIManager.getFont("Label.font") ); valueArea.setFont( UIManager.getFont( "Label.font" ) );
wrappedLabelMap.put( valueName, valueArea ); wrappedLabelMap.put( valueName, valueArea );
this.add( valueArea, gridC ); this.add( valueArea, gridC );
@ -139,7 +139,7 @@ public class FieldEditorPanel extends JPanel {
gridC.anchor = GridBagConstraints.WEST; gridC.anchor = GridBagConstraints.WEST;
JTextField valueField = new JTextField(); JTextField valueField = new JTextField();
valueField.setHorizontalAlignment( JTextField.RIGHT ); valueField.setHorizontalAlignment( JTextField.RIGHT );
valueField.setDocument( new RegexDocument("[0-9]*") ); valueField.setDocument( new RegexDocument( "[0-9]*" ) );
intMap.put( valueName, valueField ); intMap.put( valueName, valueField );
this.add( valueField, gridC ); this.add( valueField, gridC );
} }
@ -153,21 +153,21 @@ public class FieldEditorPanel extends JPanel {
else if ( contentType == ContentType.SLIDER ) { else if ( contentType == ContentType.SLIDER ) {
gridC.anchor = GridBagConstraints.CENTER; gridC.anchor = GridBagConstraints.CENTER;
JPanel panel = new JPanel(); JPanel panel = new JPanel();
panel.setLayout( new BoxLayout(panel, BoxLayout.X_AXIS) ); panel.setLayout( new BoxLayout( panel, BoxLayout.X_AXIS ) );
final JSlider valueSlider = new JSlider( JSlider.HORIZONTAL ); final JSlider valueSlider = new JSlider( JSlider.HORIZONTAL );
valueSlider.setPreferredSize( new Dimension(50, valueSlider.getPreferredSize().height) ); valueSlider.setPreferredSize( new Dimension( 50, valueSlider.getPreferredSize().height ) );
sliderMap.put( valueName, valueSlider ); sliderMap.put( valueName, valueSlider );
panel.add(valueSlider); panel.add( valueSlider );
final JTextField valueField = new JTextField(3); final JTextField valueField = new JTextField( 3 );
valueField.setMaximumSize( valueField.getPreferredSize() ); valueField.setMaximumSize( valueField.getPreferredSize() );
valueField.setHorizontalAlignment( JTextField.RIGHT ); valueField.setHorizontalAlignment( JTextField.RIGHT );
valueField.setEditable( false ); valueField.setEditable( false );
panel.add(valueField); panel.add( valueField );
this.add( panel, gridC ); this.add( panel, gridC );
valueSlider.addChangeListener(new ChangeListener() { valueSlider.addChangeListener(new ChangeListener() {
@Override @Override
public void stateChanged(ChangeEvent e) { public void stateChanged( ChangeEvent e ) {
valueField.setText( ""+valueSlider.getValue() ); valueField.setText( ""+valueSlider.getValue() );
} }
}); });
@ -175,20 +175,20 @@ public class FieldEditorPanel extends JPanel {
else if ( contentType == ContentType.COMBO ) { else if ( contentType == ContentType.COMBO ) {
gridC.anchor = GridBagConstraints.CENTER; gridC.anchor = GridBagConstraints.CENTER;
JComboBox valueCombo = new JComboBox(); JComboBox valueCombo = new JComboBox();
valueCombo.setEditable(false); valueCombo.setEditable( false );
comboMap.put( valueName, valueCombo ); comboMap.put( valueName, valueCombo );
this.add( valueCombo, gridC ); this.add( valueCombo, gridC );
} }
else if ( contentType == ContentType.CHOOSER ) { else if ( contentType == ContentType.CHOOSER ) {
gridC.anchor = GridBagConstraints.WEST; gridC.anchor = GridBagConstraints.WEST;
JPanel panel = new JPanel(); JPanel panel = new JPanel();
panel.setLayout( new BoxLayout(panel, BoxLayout.X_AXIS) ); panel.setLayout( new BoxLayout( panel, BoxLayout.X_AXIS ) );
JTextField chooserField = new JTextField(); JTextField chooserField = new JTextField();
panel.add( chooserField ); panel.add( chooserField );
panel.add( Box.createHorizontalStrut( 5 ) ); panel.add( Box.createHorizontalStrut( 5 ) );
JButton chooserBtn = new JButton( "..." ); JButton chooserBtn = new JButton( "..." );
chooserBtn.setMargin( new Insets(1,2,1,2) ); chooserBtn.setMargin( new Insets( 1,2,1,2 ) );
panel.add( chooserBtn ); panel.add( chooserBtn );
Chooser valueChooser = new Chooser( chooserField, chooserBtn ); Chooser valueChooser = new Chooser( chooserField, chooserBtn );
chooserMap.put( valueName, valueChooser ); chooserMap.put( valueName, valueChooser );
@ -215,13 +215,13 @@ public class FieldEditorPanel extends JPanel {
gridC.anchor = GridBagConstraints.WEST; gridC.anchor = GridBagConstraints.WEST;
JTextArea textArea = new JTextArea( text ); JTextArea textArea = new JTextArea( text );
textArea.setBackground(null); textArea.setBackground( null );
textArea.setEditable( false ); textArea.setEditable( false );
textArea.setBorder(null); textArea.setBorder( null );
textArea.setLineWrap( true ); textArea.setLineWrap( true );
textArea.setWrapStyleWord( true ); textArea.setWrapStyleWord( true );
textArea.setFocusable( false ); textArea.setFocusable( false );
textArea.setFont( UIManager.getFont("Label.font") ); textArea.setFont( UIManager.getFont( "Label.font" ) );
this.add( textArea, gridC ); this.add( textArea, gridC );
gridC.gridy++; gridC.gridy++;
@ -235,11 +235,11 @@ public class FieldEditorPanel extends JPanel {
JPanel panel = new JPanel(); JPanel panel = new JPanel();
panel.setLayout( new BoxLayout( panel, BoxLayout.Y_AXIS ) ); panel.setLayout( new BoxLayout( panel, BoxLayout.Y_AXIS ) );
panel.add( Box.createVerticalStrut(8) ); panel.add( Box.createVerticalStrut( 8 ) );
JSeparator sep = new JSeparator(); JSeparator sep = new JSeparator();
sep.setPreferredSize( new Dimension(1, sep.getPreferredSize().height) ); sep.setPreferredSize( new Dimension( 1, sep.getPreferredSize().height ) );
panel.add( sep ); panel.add( sep );
panel.add( Box.createVerticalStrut(8) ); panel.add( Box.createVerticalStrut( 8 ) );
this.add( panel, gridC ); this.add( panel, gridC );
gridC.gridy++; gridC.gridy++;
@ -251,7 +251,7 @@ public class FieldEditorPanel extends JPanel {
gridC.gridwidth = GridBagConstraints.REMAINDER; gridC.gridwidth = GridBagConstraints.REMAINDER;
gridC.gridx = 0; gridC.gridx = 0;
this.add( Box.createVerticalStrut(12), gridC ); this.add( Box.createVerticalStrut( 12 ), gridC );
gridC.gridy++; gridC.gridy++;
} }
@ -268,7 +268,7 @@ public class FieldEditorPanel extends JPanel {
public void setStringAndReminder( String valueName, String s ) { public void setStringAndReminder( String valueName, String s ) {
JTextField valueField = stringMap.get( valueName ); JTextField valueField = stringMap.get( valueName );
if ( valueField != null ) valueField.setText(s); if ( valueField != null ) valueField.setText( s );
if ( remindersVisible ) setReminder( valueName, s ); if ( remindersVisible ) setReminder( valueName, s );
} }
@ -286,7 +286,7 @@ public class FieldEditorPanel extends JPanel {
} }
public void setBoolAndReminder( String valueName, boolean b, String s ) { public void setBoolAndReminder( String valueName, boolean b, String s ) {
JCheckBox valueCheck = boolMap.get( valueName ); JCheckBox valueCheck = boolMap.get( valueName );
if ( valueCheck != null ) valueCheck.setSelected(b); if ( valueCheck != null ) valueCheck.setSelected( b );
if ( remindersVisible ) setReminder( valueName, s ); if ( remindersVisible ) setReminder( valueName, s );
} }
@ -295,7 +295,7 @@ public class FieldEditorPanel extends JPanel {
} }
public void setSliderAndReminder( String valueName, int n, String s ) { public void setSliderAndReminder( String valueName, int n, String s ) {
JSlider valueSlider = sliderMap.get( valueName ); JSlider valueSlider = sliderMap.get( valueName );
if ( valueSlider != null ) valueSlider.setValue(n); if ( valueSlider != null ) valueSlider.setValue( n );
if ( remindersVisible ) setReminder( valueName, s ); if ( remindersVisible ) setReminder( valueName, s );
} }
@ -304,13 +304,13 @@ public class FieldEditorPanel extends JPanel {
} }
public void setComboAndReminder( String valueName, Object o, String s ) { public void setComboAndReminder( String valueName, Object o, String s ) {
JComboBox valueCombo = comboMap.get( valueName ); JComboBox valueCombo = comboMap.get( valueName );
if ( valueCombo != null ) valueCombo.setSelectedItem(o); if ( valueCombo != null ) valueCombo.setSelectedItem( o );
if ( remindersVisible ) setReminder( valueName, s ); if ( remindersVisible ) setReminder( valueName, s );
} }
public void setChooserAndReminder( String valueName, String s ) { public void setChooserAndReminder( String valueName, String s ) {
Chooser valueChooser = chooserMap.get( valueName ); Chooser valueChooser = chooserMap.get( valueName );
if ( valueChooser != null ) valueChooser.getTextField().setText(s); if ( valueChooser != null ) valueChooser.getTextField().setText( s );
if ( remindersVisible ) setReminder( valueName, s ); if ( remindersVisible ) setReminder( valueName, s );
} }
@ -354,31 +354,31 @@ public class FieldEditorPanel extends JPanel {
public void reset() { public void reset() {
for ( JTextArea valueArea : wrappedLabelMap.values() ) for ( JTextArea valueArea : wrappedLabelMap.values() )
valueArea.setText(""); valueArea.setText( "" );
for ( JLabel valueLbl : labelMap.values() ) for ( JLabel valueLbl : labelMap.values() )
valueLbl.setText(""); valueLbl.setText( "" );
for ( JTextField valueField : stringMap.values() ) for ( JTextField valueField : stringMap.values() )
valueField.setText(""); valueField.setText( "" );
for ( JTextField valueField : intMap.values() ) for ( JTextField valueField : intMap.values() )
valueField.setText(""); valueField.setText( "" );
for ( JCheckBox valueCheck : boolMap.values() ) for ( JCheckBox valueCheck : boolMap.values() )
valueCheck.setSelected(false); valueCheck.setSelected( false );
for ( JSlider valueSlider : sliderMap.values() ) for ( JSlider valueSlider : sliderMap.values() )
valueSlider.setValue(0); valueSlider.setValue( 0 );
for ( JComboBox valueCombo : comboMap.values() ) for ( JComboBox valueCombo : comboMap.values() )
valueCombo.removeAllItems(); valueCombo.removeAllItems();
for ( Chooser valueChooser : chooserMap.values() ) for ( Chooser valueChooser : chooserMap.values() )
valueChooser.getTextField().setText(""); valueChooser.getTextField().setText( "" );
for ( JLabel valueReminder : reminderMap.values() ) for ( JLabel valueReminder : reminderMap.values() )
valueReminder.setText(""); valueReminder.setText( "" );
} }
@Override @Override
@ -403,7 +403,7 @@ public class FieldEditorPanel extends JPanel {
// No default width for col 0. // No default width for col 0.
gridC.gridx = 0; gridC.gridx = 0;
this.add( Box.createVerticalStrut(1), gridC ); this.add( Box.createVerticalStrut( 1 ), gridC );
gridC.gridx++; gridC.gridx++;
this.add( valueStrut, gridC ); this.add( valueStrut, gridC );
gridC.gridx++; gridC.gridx++;
@ -412,7 +412,7 @@ public class FieldEditorPanel extends JPanel {
gridC.gridy++; gridC.gridy++;
} }
gridC.insets = new Insets(2, 4, 2, 4); gridC.insets = new Insets( 2, 4, 2, 4 );
} }

View file

@ -87,7 +87,7 @@ import org.apache.logging.log4j.Logger;
public class ManagerFrame extends JFrame implements ActionListener, ModsScanObserver, Nerfable, Statusbar, Thread.UncaughtExceptionHandler { public class ManagerFrame extends JFrame implements ActionListener, ModsScanObserver, Nerfable, Statusbar, Thread.UncaughtExceptionHandler {
private static final Logger log = LogManager.getLogger(ManagerFrame.class); private static final Logger log = LogManager.getLogger( ManagerFrame.class );
public static final String CATALOG_URL = "https://raw.github.com/Vhati/Slipstream-Mod-Manager/master/skel_common/backup/current_catalog.json"; public static final String CATALOG_URL = "https://raw.github.com/Vhati/Slipstream-Mod-Manager/master/skel_common/backup/current_catalog.json";
public static final String APP_UPDATE_URL = "https://raw.github.com/Vhati/Slipstream-Mod-Manager/master/skel_common/backup/auto_update.json"; public static final String APP_UPDATE_URL = "https://raw.github.com/Vhati/Slipstream-Mod-Manager/master/skel_common/backup/auto_update.json";
@ -122,7 +122,7 @@ public class ManagerFrame extends JFrame implements ActionListener, ModsScanObse
private AutoUpdateInfo appUpdateInfo = null; private AutoUpdateInfo appUpdateInfo = null;
private Color updateBtnDisabledColor = UIManager.getColor( "Button.foreground" ); private Color updateBtnDisabledColor = UIManager.getColor( "Button.foreground" );
private Color updateBtnEnabledColor = new Color(0, 124, 0); private Color updateBtnEnabledColor = new Color( 0, 124, 0 );
private NerfListener nerfListener = new NerfListener( this ); private NerfListener nerfListener = new NerfListener( this );
@ -171,39 +171,39 @@ public class ManagerFrame extends JFrame implements ActionListener, ModsScanObse
topPanel.add( modsTablePanel, BorderLayout.CENTER ); topPanel.add( modsTablePanel, BorderLayout.CENTER );
JPanel modActionsPanel = new JPanel(); JPanel modActionsPanel = new JPanel();
modActionsPanel.setLayout( new BoxLayout(modActionsPanel, BoxLayout.Y_AXIS) ); modActionsPanel.setLayout( new BoxLayout( modActionsPanel, BoxLayout.Y_AXIS ) );
modActionsPanel.setBorder( BorderFactory.createEmptyBorder(5,5,5,5) ); modActionsPanel.setBorder( BorderFactory.createEmptyBorder( 5,5,5,5 ) );
Insets actionInsets = new Insets(5,10,5,10); Insets actionInsets = new Insets( 5,10,5,10 );
patchBtn = new JButton("Patch"); patchBtn = new JButton( "Patch" );
patchBtn.setMargin( actionInsets ); patchBtn.setMargin( actionInsets );
patchBtn.addMouseListener( new StatusbarMouseListener( this, "Incorporate all selected mods into the game." ) ); patchBtn.addMouseListener( new StatusbarMouseListener( this, "Incorporate all selected mods into the game." ) );
patchBtn.addActionListener(this); patchBtn.addActionListener( this );
modActionsPanel.add( patchBtn ); modActionsPanel.add( patchBtn );
toggleAllBtn = new JButton("Toggle All"); toggleAllBtn = new JButton( "Toggle All" );
toggleAllBtn.setMargin( actionInsets ); toggleAllBtn.setMargin( actionInsets );
toggleAllBtn.addMouseListener( new StatusbarMouseListener( this, "Select all mods, or none." ) ); toggleAllBtn.addMouseListener( new StatusbarMouseListener( this, "Select all mods, or none." ) );
toggleAllBtn.addActionListener(this); toggleAllBtn.addActionListener( this );
modActionsPanel.add( toggleAllBtn ); modActionsPanel.add( toggleAllBtn );
validateBtn = new JButton("Validate"); validateBtn = new JButton( "Validate" );
validateBtn.setMargin( actionInsets ); validateBtn.setMargin( actionInsets );
validateBtn.addMouseListener( new StatusbarMouseListener( this, "Check selected mods for problems." ) ); validateBtn.addMouseListener( new StatusbarMouseListener( this, "Check selected mods for problems." ) );
validateBtn.addActionListener(this); validateBtn.addActionListener( this );
modActionsPanel.add( validateBtn ); modActionsPanel.add( validateBtn );
modsFolderBtn = new JButton("Open mods/"); modsFolderBtn = new JButton( "Open mods/" );
modsFolderBtn.setMargin( actionInsets ); modsFolderBtn.setMargin( actionInsets );
modsFolderBtn.addMouseListener( new StatusbarMouseListener( this, "Open the mods/ folder." ) ); modsFolderBtn.addMouseListener( new StatusbarMouseListener( this, "Open the mods/ folder." ) );
modsFolderBtn.addActionListener(this); modsFolderBtn.addActionListener( this );
modsFolderBtn.setEnabled( Desktop.isDesktopSupported() ); modsFolderBtn.setEnabled( Desktop.isDesktopSupported() );
modActionsPanel.add( modsFolderBtn ); modActionsPanel.add( modsFolderBtn );
updateBtn = new JButton("Update"); updateBtn = new JButton( "Update" );
updateBtn.setMargin( actionInsets ); updateBtn.setMargin( actionInsets );
updateBtn.addMouseListener( new StatusbarMouseListener( this, String.format( "Show info about the latest version of %s.", appName ) ) ); updateBtn.addMouseListener( new StatusbarMouseListener( this, String.format( "Show info about the latest version of %s.", appName ) ) );
updateBtn.addActionListener(this); updateBtn.addActionListener( this );
updateBtn.setForeground( updateBtnDisabledColor ); updateBtn.setForeground( updateBtnDisabledColor );
updateBtn.setEnabled( false ); updateBtn.setEnabled( false );
modActionsPanel.add( updateBtn ); modActionsPanel.add( updateBtn );
@ -225,7 +225,7 @@ public class ManagerFrame extends JFrame implements ActionListener, ModsScanObse
} }
infoArea = new ModInfoArea(); infoArea = new ModInfoArea();
infoArea.setPreferredSize( new Dimension(504, 220) ); infoArea.setPreferredSize( new Dimension( 504, 220 ) );
infoArea.setStatusbar( this ); infoArea.setStatusbar( this );
splitPane = new JSplitPane( JSplitPane.VERTICAL_SPLIT ); splitPane = new JSplitPane( JSplitPane.VERTICAL_SPLIT );
@ -234,10 +234,10 @@ public class ManagerFrame extends JFrame implements ActionListener, ModsScanObse
mainPane.add( splitPane, BorderLayout.CENTER ); mainPane.add( splitPane, BorderLayout.CENTER );
JPanel statusPanel = new JPanel(); JPanel statusPanel = new JPanel();
statusPanel.setLayout( new BoxLayout(statusPanel, BoxLayout.Y_AXIS) ); statusPanel.setLayout( new BoxLayout( statusPanel, BoxLayout.Y_AXIS ) );
statusPanel.setBorder( BorderFactory.createLoweredBevelBorder() ); statusPanel.setBorder( BorderFactory.createLoweredBevelBorder() );
statusLbl = new JLabel(" "); statusLbl = new JLabel(" ");
statusLbl.setBorder( BorderFactory.createEmptyBorder(2, 4, 2, 4) ); statusLbl.setBorder( BorderFactory.createEmptyBorder( 2, 4, 2, 4 ) );
statusLbl.setAlignmentX( Component.LEFT_ALIGNMENT ); statusLbl.setAlignmentX( Component.LEFT_ALIGNMENT );
statusPanel.add( statusLbl ); statusPanel.add( statusLbl );
contentPane.add( statusPanel, BorderLayout.SOUTH ); contentPane.add( statusPanel, BorderLayout.SOUTH );
@ -313,31 +313,31 @@ public class ManagerFrame extends JFrame implements ActionListener, ModsScanObse
fileMenu.setMnemonic( KeyEvent.VK_F ); fileMenu.setMnemonic( KeyEvent.VK_F );
rescanMenuItem = new JMenuItem( "Re-Scan mods/" ); rescanMenuItem = new JMenuItem( "Re-Scan mods/" );
rescanMenuItem.addMouseListener( new StatusbarMouseListener( this, "Check the mods/ folder for new files." ) ); rescanMenuItem.addMouseListener( new StatusbarMouseListener( this, "Check the mods/ folder for new files." ) );
rescanMenuItem.addActionListener(this); rescanMenuItem.addActionListener( this );
fileMenu.add( rescanMenuItem ); fileMenu.add( rescanMenuItem );
extractDatsMenuItem = new JMenuItem( "Extract Dats..." ); extractDatsMenuItem = new JMenuItem( "Extract Dats..." );
extractDatsMenuItem.addMouseListener( new StatusbarMouseListener( this, "Extract FTL resources into a folder." ) ); extractDatsMenuItem.addMouseListener( new StatusbarMouseListener( this, "Extract FTL resources into a folder." ) );
extractDatsMenuItem.addActionListener(this); extractDatsMenuItem.addActionListener( this );
fileMenu.add( extractDatsMenuItem ); fileMenu.add( extractDatsMenuItem );
sandboxMenuItem = new JMenuItem( "XML Sandbox..." ); sandboxMenuItem = new JMenuItem( "XML Sandbox..." );
sandboxMenuItem.addMouseListener( new StatusbarMouseListener( this, "Experiment with advanced mod syntax." ) ); sandboxMenuItem.addMouseListener( new StatusbarMouseListener( this, "Experiment with advanced mod syntax." ) );
sandboxMenuItem.addActionListener(this); sandboxMenuItem.addActionListener( this );
fileMenu.add( sandboxMenuItem ); fileMenu.add( sandboxMenuItem );
configMenuItem = new JMenuItem( "Preferences..." ); configMenuItem = new JMenuItem( "Preferences..." );
configMenuItem.addMouseListener( new StatusbarMouseListener( this, "Edit preferences." ) ); configMenuItem.addMouseListener( new StatusbarMouseListener( this, "Edit preferences." ) );
configMenuItem.addActionListener(this); configMenuItem.addActionListener( this );
fileMenu.add( configMenuItem ); fileMenu.add( configMenuItem );
fileMenu.add( new JSeparator() ); fileMenu.add( new JSeparator() );
exitMenuItem = new JMenuItem( "Exit" ); exitMenuItem = new JMenuItem( "Exit" );
exitMenuItem.addMouseListener( new StatusbarMouseListener( this, "Exit this application." ) ); exitMenuItem.addMouseListener( new StatusbarMouseListener( this, "Exit this application." ) );
exitMenuItem.addActionListener(this); exitMenuItem.addActionListener( this );
fileMenu.add( exitMenuItem ); fileMenu.add( exitMenuItem );
menubar.add( fileMenu ); menubar.add( fileMenu );
helpMenu = new JMenu( "Help" ); helpMenu = new JMenu( "Help" );
helpMenu.setMnemonic( KeyEvent.VK_H ); helpMenu.setMnemonic( KeyEvent.VK_H );
aboutMenuItem = new JMenuItem( "About" ); aboutMenuItem = new JMenuItem( "About" );
aboutMenuItem.addMouseListener( new StatusbarMouseListener( this, "Show info about this application." ) ); aboutMenuItem.addMouseListener( new StatusbarMouseListener( this, "Show info about this application." ) );
aboutMenuItem.addActionListener(this); aboutMenuItem.addActionListener( this );
helpMenu.add( aboutMenuItem ); helpMenu.add( aboutMenuItem );
menubar.add( helpMenu ); menubar.add( helpMenu );
this.setJMenuBar( menubar ); this.setJMenuBar( menubar );
@ -347,7 +347,7 @@ public class ManagerFrame extends JFrame implements ActionListener, ModsScanObse
this.setContentPane( contentPane ); this.setContentPane( contentPane );
this.pack(); this.pack();
this.setMinimumSize( new Dimension( 300, modActionsPanel.getPreferredSize().height+90 ) ); this.setMinimumSize( new Dimension( 300, modActionsPanel.getPreferredSize().height+90 ) );
this.setLocationRelativeTo(null); this.setLocationRelativeTo( null );
if ( appConfig.getProperty( "remember_geometry" ).equals( "true" ) ) if ( appConfig.getProperty( "remember_geometry" ).equals( "true" ) )
setGeometryFromConfig(); setGeometryFromConfig();
@ -362,16 +362,16 @@ public class ManagerFrame extends JFrame implements ActionListener, ModsScanObse
int dividerLoc = -1; int dividerLoc = -1;
Matcher m = Pattern.compile( "([^;,]+),(\\d+)" ).matcher( geometry ); Matcher m = Pattern.compile( "([^;,]+),(\\d+)" ).matcher( geometry );
while ( m.find() ) { while ( m.find() ) {
if ( m.group(1).equals( "x" ) ) if ( m.group( 1 ).equals( "x" ) )
xywh[0] = Integer.parseInt( m.group(2) ); xywh[0] = Integer.parseInt( m.group( 2 ) );
else if ( m.group(1).equals( "y" ) ) else if ( m.group( 1 ).equals( "y" ) )
xywh[1] = Integer.parseInt( m.group(2) ); xywh[1] = Integer.parseInt( m.group( 2 ) );
else if ( m.group(1).equals( "w" ) ) else if ( m.group( 1 ).equals( "w" ) )
xywh[2] = Integer.parseInt( m.group(2) ); xywh[2] = Integer.parseInt( m.group( 2 ) );
else if ( m.group(1).equals( "h" ) ) else if ( m.group( 1 ).equals( "h" ) )
xywh[3] = Integer.parseInt( m.group(2) ); xywh[3] = Integer.parseInt( m.group( 2 ) );
else if ( m.group(1).equals( "divider" ) ) else if ( m.group( 1 ).equals( "divider" ) )
dividerLoc = Integer.parseInt( m.group(2) ); dividerLoc = Integer.parseInt( m.group( 2 ) );
} }
boolean badGeometry = false; boolean badGeometry = false;
for ( int n : xywh ) { for ( int n : xywh ) {
@ -456,7 +456,7 @@ public class ManagerFrame extends JFrame implements ActionListener, ModsScanObse
BufferedWriter bw = null; BufferedWriter bw = null;
try { try {
FileOutputStream os = new FileOutputStream( modsTableStateFile ); FileOutputStream os = new FileOutputStream( modsTableStateFile );
bw = new BufferedWriter(new OutputStreamWriter( os, Charset.forName("UTF-8") )); bw = new BufferedWriter(new OutputStreamWriter( os, Charset.forName( "UTF-8" ) ));
for ( ModFileInfo modFileInfo : tableState.getItems() ) { for ( ModFileInfo modFileInfo : tableState.getItems() ) {
bw.write( modFileInfo.getFile().getName() ); bw.write( modFileInfo.getFile().getName() );
@ -468,7 +468,7 @@ public class ManagerFrame extends JFrame implements ActionListener, ModsScanObse
log.error( String.format( "Error writing \"%s\".", modsTableStateFile.getName() ), e ); log.error( String.format( "Error writing \"%s\".", modsTableStateFile.getName() ), e );
} }
finally { finally {
try {if (bw != null) bw.close();} try {if ( bw != null ) bw.close();}
catch (Exception e) {} catch (Exception e) {}
} }
} }
@ -608,7 +608,8 @@ public class ManagerFrame extends JFrame implements ActionListener, ModsScanObse
long epochTime = -1; long epochTime = -1;
try { try {
epochTime = ModUtilities.getModFileTime( modFileInfo.getFile() ); epochTime = ModUtilities.getModFileTime( modFileInfo.getFile() );
} catch ( IOException e ) { }
catch ( IOException e ) {
log.error( String.format( "Error while getting modified time of mod file contents for \"%s\".", modFileInfo.getFile() ), e ); log.error( String.format( "Error while getting modified time of mod file contents for \"%s\".", modFileInfo.getFile() ), e );
} }
if ( epochTime != -1 ) { if ( epochTime != -1 ) {
@ -646,10 +647,10 @@ public class ManagerFrame extends JFrame implements ActionListener, ModsScanObse
@Override @Override
public void setStatusText( String text ) { public void setStatusText( String text ) {
if (text.length() > 0) if ( text.length() > 0 )
statusLbl.setText(text); statusLbl.setText( text );
else else
statusLbl.setText(" "); statusLbl.setText( " " );
} }
@ -676,7 +677,7 @@ public class ManagerFrame extends JFrame implements ActionListener, ModsScanObse
ModPatchDialog patchDlg = new ModPatchDialog( this, true ); ModPatchDialog patchDlg = new ModPatchDialog( this, true );
String neverRunFtl = appConfig.getProperty( "never_run_ftl", "false" ); String neverRunFtl = appConfig.getProperty( "never_run_ftl", "false" );
if ( !neverRunFtl.equals("true") ) { if ( !neverRunFtl.equals( "true" ) ) {
File exeFile = null; File exeFile = null;
String[] exeArgs = null; String[] exeArgs = null;
@ -769,12 +770,12 @@ public class ManagerFrame extends JFrame implements ActionListener, ModsScanObse
else if ( source == extractDatsMenuItem ) { else if ( source == extractDatsMenuItem ) {
setStatusText( "" ); setStatusText( "" );
JFileChooser extractChooser = new JFileChooser(); JFileChooser extractChooser = new JFileChooser();
extractChooser.setDialogTitle("Choose a dir to extract into"); extractChooser.setDialogTitle( "Choose a dir to extract into" );
extractChooser.setFileHidingEnabled( false ); extractChooser.setFileHidingEnabled( false );
extractChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); extractChooser.setFileSelectionMode( JFileChooser.DIRECTORIES_ONLY );
extractChooser.setMultiSelectionEnabled(false); extractChooser.setMultiSelectionEnabled( false );
if ( extractChooser.showSaveDialog(this) != JFileChooser.APPROVE_OPTION ) if ( extractChooser.showSaveDialog( this ) != JFileChooser.APPROVE_OPTION )
return; return;
File extractDir = extractChooser.getSelectedFile(); File extractDir = extractChooser.getSelectedFile();
@ -892,10 +893,10 @@ public class ManagerFrame extends JFrame implements ActionListener, ModsScanObse
public void setNerfed( boolean b ) { public void setNerfed( boolean b ) {
Component glassPane = this.getGlassPane(); Component glassPane = this.getGlassPane();
if (b) { if (b) {
glassPane.setVisible(true); glassPane.setVisible( true );
glassPane.requestFocusInWindow(); glassPane.requestFocusInWindow();
} else { } else {
glassPane.setVisible(false); glassPane.setVisible( false );
} }
} }
@ -987,7 +988,8 @@ public class ManagerFrame extends JFrame implements ActionListener, ModsScanObse
log.info( "Running FTL..." ); log.info( "Running FTL..." );
try { try {
FTLUtilities.launchExe( exeFile, exeArgs ); FTLUtilities.launchExe( exeFile, exeArgs );
} catch ( Exception e ) { }
catch ( Exception e ) {
log.error( "Error launching FTL.", e ); log.error( "Error launching FTL.", e );
} }
exitApp(); exitApp();
@ -1032,10 +1034,10 @@ public class ManagerFrame extends JFrame implements ActionListener, ModsScanObse
@Override @Override
public boolean accept( File f ) { public boolean accept( File f ) {
if ( f.isFile() ) { if ( f.isFile() ) {
if ( f.getName().endsWith(".ftl") ) return true; if ( f.getName().endsWith( ".ftl" ) ) return true;
if ( allowZip ) { if ( allowZip ) {
if ( f.getName().endsWith(".zip") ) return true; if ( f.getName().endsWith( ".zip" ) ) return true;
} }
} }
return false; return false;

View file

@ -39,7 +39,7 @@ import org.apache.logging.log4j.Logger;
*/ */
public class ManagerInitThread extends Thread { public class ManagerInitThread extends Thread {
private static final Logger log = LogManager.getLogger(ManagerInitThread.class); private static final Logger log = LogManager.getLogger( ManagerInitThread.class );
private final ManagerFrame frame; private final ManagerFrame frame;
private final SlipstreamConfig appConfig; private final SlipstreamConfig appConfig;
@ -177,7 +177,7 @@ public class ManagerInitThread extends Thread {
BufferedReader br = null; BufferedReader br = null;
try { try {
FileInputStream is = new FileInputStream( modsTableStateFile ); FileInputStream is = new FileInputStream( modsTableStateFile );
br = new BufferedReader(new InputStreamReader( is, Charset.forName("UTF-8") )); br = new BufferedReader( new InputStreamReader( is, Charset.forName( "UTF-8" ) ) );
String line; String line;
while ( (line = br.readLine()) != null ) { while ( (line = br.readLine()) != null ) {
fileNames.add( line ); fileNames.add( line );

View file

@ -25,7 +25,7 @@ import org.apache.logging.log4j.Logger;
public class ModInfoArea extends JScrollPane { public class ModInfoArea extends JScrollPane {
private static final Logger log = LogManager.getLogger(ModInfoArea.class); private static final Logger log = LogManager.getLogger( ModInfoArea.class );
private static final String STYLE_REGULAR = "regular"; private static final String STYLE_REGULAR = "regular";
private static final String STYLE_HYPERLINK = "hyperlink"; private static final String STYLE_HYPERLINK = "hyperlink";
@ -52,29 +52,29 @@ public class ModInfoArea extends JScrollPane {
textPane = new JTextPane(); textPane = new JTextPane();
textPane.setEditable( false ); textPane.setEditable( false );
doc = new DefaultStyledDocument(styleContext); doc = new DefaultStyledDocument( styleContext );
textPane.setStyledDocument(doc); textPane.setStyledDocument( doc );
Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null; Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null;
if ( desktop != null && desktop.isSupported(Desktop.Action.BROWSE) ) { if ( desktop != null && desktop.isSupported( Desktop.Action.BROWSE ) ) {
browseWorks = true; browseWorks = true;
} }
MouseInputAdapter hyperlinkListener = new MouseInputAdapter() { MouseInputAdapter hyperlinkListener = new MouseInputAdapter() {
private Cursor defaultCursor = new Cursor(Cursor.DEFAULT_CURSOR); private Cursor defaultCursor = new Cursor( Cursor.DEFAULT_CURSOR );
private Cursor linkCursor = new Cursor(Cursor.HAND_CURSOR); private Cursor linkCursor = new Cursor( Cursor.HAND_CURSOR );
private boolean wasOverLink = false; private boolean wasOverLink = false;
@Override @Override
public void mouseClicked( MouseEvent e ) { public void mouseClicked( MouseEvent e ) {
AttributeSet tmpAttr = doc.getCharacterElement( textPane.viewToModel(e.getPoint()) ).getAttributes(); AttributeSet tmpAttr = doc.getCharacterElement( textPane.viewToModel( e.getPoint() ) ).getAttributes();
Object targetObj = tmpAttr.getAttribute( ATTR_HYPERLINK_TARGET ); Object targetObj = tmpAttr.getAttribute( ATTR_HYPERLINK_TARGET );
if ( targetObj != null ) { if ( targetObj != null ) {
Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null; Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null;
if ( desktop != null && desktop.isSupported(Desktop.Action.BROWSE) ) { if ( desktop != null && desktop.isSupported( Desktop.Action.BROWSE ) ) {
try { try {
desktop.browse( new URI(targetObj.toString()) ); desktop.browse( new URI( targetObj.toString() ) );
} }
catch ( Exception f ) { catch ( Exception f ) {
log.error( "Error browsing clicked url: "+ targetObj.toString(), f ); log.error( "Error browsing clicked url: "+ targetObj.toString(), f );
@ -85,7 +85,7 @@ public class ModInfoArea extends JScrollPane {
@Override @Override
public void mouseMoved( MouseEvent e ) { public void mouseMoved( MouseEvent e ) {
AttributeSet tmpAttr = doc.getCharacterElement( textPane.viewToModel(e.getPoint()) ).getAttributes(); AttributeSet tmpAttr = doc.getCharacterElement( textPane.viewToModel( e.getPoint() ) ).getAttributes();
Object targetObj = tmpAttr.getAttribute( ATTR_HYPERLINK_TARGET ); Object targetObj = tmpAttr.getAttribute( ATTR_HYPERLINK_TARGET );
if ( targetObj != null ) { if ( targetObj != null ) {
textPane.setCursor( linkCursor ); textPane.setCursor( linkCursor );
@ -138,7 +138,7 @@ public class ModInfoArea extends JScrollPane {
if ( url != null ) { if ( url != null ) {
doc.insertString( doc.getLength(), "Website: ", regularStyle ); doc.insertString( doc.getLength(), "Website: ", regularStyle );
if ( browseWorks && url.matches("^(?:https?|ftp)://.*") ) { if ( browseWorks && url.matches( "^(?:https?|ftp)://.*" ) ) {
SimpleAttributeSet tmpAttr = new SimpleAttributeSet( doc.getStyle( STYLE_HYPERLINK ) ); SimpleAttributeSet tmpAttr = new SimpleAttributeSet( doc.getStyle( STYLE_HYPERLINK ) );
tmpAttr.addAttribute( ATTR_HYPERLINK_TARGET, url ); tmpAttr.addAttribute( ATTR_HYPERLINK_TARGET, url );
doc.insertString( doc.getLength(), "Link", tmpAttr ); doc.insertString( doc.getLength(), "Link", tmpAttr );
@ -155,11 +155,11 @@ public class ModInfoArea extends JScrollPane {
doc.insertString( doc.getLength(), body, regularStyle ); doc.insertString( doc.getLength(), body, regularStyle );
} }
} }
catch ( BadLocationException e) { catch ( BadLocationException e ) {
log.error( "Error filling info text area.", e ); log.error( "Error filling info text area.", e );
} }
textPane.setCaretPosition(0); textPane.setCaretPosition( 0 );
} }
@ -185,7 +185,7 @@ public class ModInfoArea extends JScrollPane {
} }
public void appendLinkText( String linkURL, String linkTitle ) throws BadLocationException { public void appendLinkText( String linkURL, String linkTitle ) throws BadLocationException {
if ( browseWorks && linkURL.matches("^(?:https?|ftp)://.*") ) { if ( browseWorks && linkURL.matches( "^(?:https?|ftp)://.*" ) ) {
SimpleAttributeSet tmpAttr = new SimpleAttributeSet( doc.getStyle( STYLE_HYPERLINK ) ); SimpleAttributeSet tmpAttr = new SimpleAttributeSet( doc.getStyle( STYLE_HYPERLINK ) );
tmpAttr.addAttribute( ATTR_HYPERLINK_TARGET, linkURL ); tmpAttr.addAttribute( ATTR_HYPERLINK_TARGET, linkURL );
doc.insertString( doc.getLength(), linkTitle, tmpAttr ); doc.insertString( doc.getLength(), linkTitle, tmpAttr );

View file

@ -126,7 +126,7 @@ public class ModXMLSandbox extends JFrame implements ActionListener {
messageArea.setFont( sandboxFont ); messageArea.setFont( sandboxFont );
messageArea.setEditable( false ); messageArea.setEditable( false );
messageArea.addMouseListener( new ClipboardMenuMouseListener() ); messageArea.addMouseListener( new ClipboardMenuMouseListener() );
messageArea.setText( "This is a scratchpad to tinker with advanced mod syntax.\n1) Open XML from data.dat to fill the 'main' tab. (ctrl-o)\n2) Write some <mod:command> tags in the 'append' tab. (alt-1,2,3)\n3) Click Patch to see what would happen. (ctrl-p)\nUndo is available. (ctrl-z/ctrl-y)" ); messageArea.setText( "This is a sandbox to tinker with advanced mod syntax.\n1) Open XML from data.dat to fill the 'main' tab. (ctrl-o)\n2) Write some <mod:command> tags in the 'append' tab. (alt-1,2,3)\n3) Click Patch to see what would happen. (ctrl-p)\nUndo/redo is available. (ctrl-z/ctrl-y)" );
messageScroll = new JScrollPane( messageArea ); messageScroll = new JScrollPane( messageArea );
JPanel ctrlPanel = new JPanel(); JPanel ctrlPanel = new JPanel();
@ -162,10 +162,10 @@ public class ModXMLSandbox extends JFrame implements ActionListener {
splitPane.setBottomComponent( messageScroll ); splitPane.setBottomComponent( messageScroll );
JPanel statusPanel = new JPanel(); JPanel statusPanel = new JPanel();
statusPanel.setLayout( new BoxLayout(statusPanel, BoxLayout.Y_AXIS) ); statusPanel.setLayout( new BoxLayout( statusPanel, BoxLayout.Y_AXIS ) );
statusPanel.setBorder( BorderFactory.createLoweredBevelBorder() ); statusPanel.setBorder( BorderFactory.createLoweredBevelBorder() );
statusLbl = new JLabel(" "); statusLbl = new JLabel( " " );
statusLbl.setBorder( BorderFactory.createEmptyBorder(2, 4, 2, 4) ); statusLbl.setBorder( BorderFactory.createEmptyBorder( 2, 4, 2, 4 ) );
statusLbl.setAlignmentX( Component.LEFT_ALIGNMENT ); statusLbl.setAlignmentX( Component.LEFT_ALIGNMENT );
statusPanel.add( statusLbl ); statusPanel.add( statusLbl );
@ -200,7 +200,7 @@ public class ModXMLSandbox extends JFrame implements ActionListener {
appendArea.getDocument().addUndoableEditListener(new UndoableEditListener() { appendArea.getDocument().addUndoableEditListener(new UndoableEditListener() {
@Override @Override
public void undoableEditHappened(UndoableEditEvent e) { public void undoableEditHappened( UndoableEditEvent e ) {
undoManager.addEdit( e.getEdit() ); undoManager.addEdit( e.getEdit() );
} }
}); });
@ -401,7 +401,7 @@ public class ModXMLSandbox extends JFrame implements ActionListener {
Caret caret = currentArea.getCaret(); Caret caret = currentArea.getCaret();
int from = Math.max( caret.getDot(), caret.getMark() ); int from = Math.max( caret.getDot(), caret.getMark() );
Pattern ptn = Pattern.compile( "(?i)"+ Pattern.quote(query) ); Pattern ptn = Pattern.compile( "(?i)"+ Pattern.quote( query ) );
Matcher m = ptn.matcher( currentArea.getText() ); Matcher m = ptn.matcher( currentArea.getText() );
if ( m.find(from) ) { if ( m.find(from) ) {
caret.setDot( m.start() ); caret.setDot( m.start() );

View file

@ -49,7 +49,7 @@ public class ChecklistTableModel<T> extends AbstractTableModel implements Reorde
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public T getItem( int row ) { public T getItem( int row ) {
return (T)rowsList.get(row).get(DATA_PAYLOAD); return (T)rowsList.get(row).get( DATA_PAYLOAD );
} }
@Override @Override
@ -63,13 +63,13 @@ public class ChecklistTableModel<T> extends AbstractTableModel implements Reorde
} }
public void setSelected( int row, boolean b ) { public void setSelected( int row, boolean b ) {
rowsList.get(row).set( DATA_CHECK, new Boolean(b) ); rowsList.get(row).set( DATA_CHECK, new Boolean( b ) );
fireTableRowsUpdated( row, row ); fireTableRowsUpdated( row, row );
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public boolean isSelected( int row ) { public boolean isSelected( int row ) {
return ((Boolean)rowsList.get(row).get(DATA_CHECK)).booleanValue(); return ((Boolean)rowsList.get( row ).get( DATA_CHECK )).booleanValue();
} }
@Override @Override
@ -85,10 +85,10 @@ public class ChecklistTableModel<T> extends AbstractTableModel implements Reorde
@Override @Override
public Object getValueAt( int row, int column ) { public Object getValueAt( int row, int column ) {
if ( column == COLUMN_CHECK ) { if ( column == COLUMN_CHECK ) {
return rowsList.get(row).get(DATA_CHECK); return rowsList.get( row ).get( DATA_CHECK );
} }
else if ( column == COLUMN_PAYLOAD ) { else if ( column == COLUMN_PAYLOAD ) {
Object o = rowsList.get(row).get(DATA_PAYLOAD); Object o = rowsList.get( row ).get( DATA_PAYLOAD );
return o.toString(); return o.toString();
} }
throw new ArrayIndexOutOfBoundsException(); throw new ArrayIndexOutOfBoundsException();

View file

@ -32,14 +32,14 @@ public class ChecklistTablePanel<T> extends JPanel {
table.setFillsViewportHeight( true ); table.setFillsViewportHeight( true );
table.setSelectionMode( ListSelectionModel.SINGLE_SELECTION ); table.setSelectionMode( ListSelectionModel.SINGLE_SELECTION );
table.setTableHeader( null ); table.setTableHeader( null );
table.getColumnModel().getColumn(0).setMinWidth(30); table.getColumnModel().getColumn( 0 ).setMinWidth( 30 );
table.getColumnModel().getColumn(0).setMaxWidth(30); table.getColumnModel().getColumn( 0 ).setMaxWidth( 30 );
table.getColumnModel().getColumn(0).setPreferredWidth(30); table.getColumnModel().getColumn( 0 ).setPreferredWidth( 30 );
JScrollPane scrollPane = new JScrollPane( null, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); JScrollPane scrollPane = new JScrollPane( null, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER );
scrollPane.setViewportView( table ); scrollPane.setViewportView( table );
//scrollPane.setColumnHeaderView( null ); // Counterpart to setTableHeader(). //scrollPane.setColumnHeaderView( null ); // Counterpart to setTableHeader().
scrollPane.setPreferredSize( new Dimension(Integer.MIN_VALUE, Integer.MIN_VALUE) ); scrollPane.setPreferredSize( new Dimension( Integer.MIN_VALUE, Integer.MIN_VALUE ) );
this.add( scrollPane, BorderLayout.CENTER ); this.add( scrollPane, BorderLayout.CENTER );
@ -55,18 +55,20 @@ public class ChecklistTablePanel<T> extends JPanel {
// Reset on first click and when no longer on that row. // Reset on first click and when no longer on that row.
if ( e.getClickCount() == 1 ) prevRow = -1; if ( e.getClickCount() == 1 ) prevRow = -1;
if ( thisRow != prevRow || thisRow == -1 ) { if ( thisRow != prevRow || thisRow == -1 ) {
streak = 1; streak = 1;
prevRow = thisRow; prevRow = thisRow;
return; return;
} else { }
else {
streak++; streak++;
} }
if ( streak % 2 != 0 ) return; // Respond only to click pairs. if ( streak % 2 != 0 ) return; // Respond only to click pairs.
// Don't further toggle a multi-clicked checkbox. // Don't further toggle a multi-clicked checkbox.
int viewCol = table.columnAtPoint( e.getPoint() ); int viewCol = table.columnAtPoint( e.getPoint() );
int modelCol = table.getColumnModel().getColumn(viewCol).getModelIndex(); int modelCol = table.getColumnModel().getColumn( viewCol ).getModelIndex();
if ( modelCol == 0 ) return; if ( modelCol == 0 ) return;
int selRow = table.getSelectedRow(); int selRow = table.getSelectedRow();
@ -92,7 +94,7 @@ public class ChecklistTablePanel<T> extends JPanel {
List<T> results = new ArrayList<T>(); List<T> results = new ArrayList<T>();
for ( int i=0; i < tableModel.getRowCount(); i++ ) { for ( int i=0; i < tableModel.getRowCount(); i++ ) {
results.add( tableModel.getItem(i) ); results.add( tableModel.getItem( i ) );
} }
return results; return results;
@ -102,8 +104,8 @@ public class ChecklistTablePanel<T> extends JPanel {
List<T> results = new ArrayList<T>(); List<T> results = new ArrayList<T>();
for ( int i=0; i < tableModel.getRowCount(); i++ ) { for ( int i=0; i < tableModel.getRowCount(); i++ ) {
if ( tableModel.isSelected(i) ) { if ( tableModel.isSelected( i ) ) {
results.add( tableModel.getItem(i) ); results.add( tableModel.getItem( i ) );
} }
} }
@ -114,7 +116,7 @@ public class ChecklistTablePanel<T> extends JPanel {
public void toggleAllItemSelection() { public void toggleAllItemSelection() {
int selectedCount = 0; int selectedCount = 0;
for ( int i = tableModel.getRowCount()-1; i >= 0; i-- ) { for ( int i = tableModel.getRowCount()-1; i >= 0; i-- ) {
if ( tableModel.isSelected(i) ) selectedCount++; if ( tableModel.isSelected( i ) ) selectedCount++;
} }
boolean b = ( selectedCount != tableModel.getRowCount() ); boolean b = ( selectedCount != tableModel.getRowCount() );

View file

@ -21,7 +21,7 @@ import org.apache.logging.log4j.Logger;
*/ */
public class TableRowTransferHandler extends TransferHandler { public class TableRowTransferHandler extends TransferHandler {
private static final Logger log = LogManager.getLogger(TableRowTransferHandler.class); private static final Logger log = LogManager.getLogger( TableRowTransferHandler.class );
private DataFlavor localIntegerFlavor = null; private DataFlavor localIntegerFlavor = null;
@ -47,12 +47,12 @@ public class TableRowTransferHandler extends TransferHandler {
protected Transferable createTransferable( JComponent c ) { protected Transferable createTransferable( JComponent c ) {
assert ( c == table ); assert ( c == table );
int row = table.getSelectedRow(); int row = table.getSelectedRow();
return new IntegerTransferrable( new Integer(row) ); return new IntegerTransferrable( new Integer( row ) );
} }
@Override @Override
public boolean canImport( TransferHandler.TransferSupport ts ) { public boolean canImport( TransferHandler.TransferSupport ts ) {
boolean b = ( ts.getComponent() == table && ts.isDrop() && ts.isDataFlavorSupported(localIntegerFlavor) ); boolean b = ( ts.getComponent() == table && ts.isDrop() && ts.isDataFlavorSupported( localIntegerFlavor ) );
table.setCursor( b ? DragSource.DefaultMoveDrop : DragSource.DefaultMoveNoDrop ); table.setCursor( b ? DragSource.DefaultMoveDrop : DragSource.DefaultMoveNoDrop );
return b; return b;
} }
@ -65,7 +65,7 @@ public class TableRowTransferHandler extends TransferHandler {
@Override @Override
@SuppressWarnings("Unchecked") @SuppressWarnings("Unchecked")
public boolean importData( TransferHandler.TransferSupport ts ) { public boolean importData( TransferHandler.TransferSupport ts ) {
if ( !canImport(ts) ) return false; if ( !canImport( ts ) ) return false;
JTable target = (JTable)ts.getComponent(); JTable target = (JTable)ts.getComponent();
JTable.DropLocation dl = (JTable.DropLocation)ts.getDropLocation(); JTable.DropLocation dl = (JTable.DropLocation)ts.getDropLocation();
@ -73,9 +73,9 @@ public class TableRowTransferHandler extends TransferHandler {
int rowCount = table.getModel().getRowCount(); int rowCount = table.getModel().getRowCount();
if ( dropRow < 0 || dropRow > rowCount ) dropRow = rowCount; if ( dropRow < 0 || dropRow > rowCount ) dropRow = rowCount;
target.setCursor( Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR) ); target.setCursor( Cursor.getPredefinedCursor( Cursor.DEFAULT_CURSOR ) );
try { try {
Integer draggedRow = (Integer)ts.getTransferable().getTransferData(localIntegerFlavor); Integer draggedRow = (Integer)ts.getTransferable().getTransferData( localIntegerFlavor );
if ( draggedRow != -1 && draggedRow != dropRow ) { if ( draggedRow != -1 && draggedRow != dropRow ) {
((Reorderable)table.getModel()).reorder( draggedRow, dropRow ); ((Reorderable)table.getModel()).reorder( draggedRow, dropRow );
if ( dropRow > draggedRow ) dropRow--; if ( dropRow > draggedRow ) dropRow--;
@ -92,7 +92,7 @@ public class TableRowTransferHandler extends TransferHandler {
@Override @Override
protected void exportDone( JComponent source, Transferable data, int action ) { protected void exportDone( JComponent source, Transferable data, int action ) {
if ( action == TransferHandler.MOVE || action == TransferHandler.NONE ) { if ( action == TransferHandler.MOVE || action == TransferHandler.NONE ) {
table.setCursor( Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR) ); table.setCursor( Cursor.getPredefinedCursor( Cursor.DEFAULT_CURSOR ) );
} }
} }

View file

@ -148,7 +148,7 @@ public class ChecklistTreeSelectionModel extends DefaultTreeSelectionModel {
} }
else { else {
if ( !isSelectionEmpty() ) { if ( !isSelectionEmpty() ) {
removeSelectionPaths(getSelectionPaths()); removeSelectionPaths( getSelectionPaths() );
} }
super.addSelectionPaths( new TreePath[]{temp} ); super.addSelectionPaths( new TreePath[]{temp} );
} }
@ -171,7 +171,7 @@ public class ChecklistTreeSelectionModel extends DefaultTreeSelectionModel {
if ( path.getPathCount() == 1 ) { if ( path.getPathCount() == 1 ) {
super.removeSelectionPaths( new TreePath[]{path} ); super.removeSelectionPaths( new TreePath[]{path} );
} else { } else {
toggleRemoveSelection(path); toggleRemoveSelection( path );
} }
} }
} }

View file

@ -109,7 +109,9 @@ public class TreeState {
public boolean accept( TreeNodeState nodeState ) { public boolean accept( TreeNodeState nodeState ) {
Object nodeObject = nodeState.getUserObject(); Object nodeObject = nodeState.getUserObject();
if ( objectClass != null && nodeObject != null ) { if ( objectClass != null && nodeObject != null ) {
return ( objectClass.isAssignableFrom( nodeObject.getClass() ) ); @SuppressWarnings("unchecked")
boolean result = objectClass.isAssignableFrom( nodeObject.getClass() );
return result;
} }
else if ( o != null ) { else if ( o != null ) {
return ( o.equals( nodeState.getUserObject() ) ); return ( o.equals( nodeState.getUserObject() ) );

View file

@ -101,7 +101,7 @@ public class TreeTransferHandler extends TransferHandler {
@Override @Override
public boolean canImport( TransferHandler.TransferSupport ts ) { public boolean canImport( TransferHandler.TransferSupport ts ) {
boolean b = ( ts.getComponent() == tree && ts.isDrop() && ts.isDataFlavorSupported(localTreePathFlavor) ); boolean b = ( ts.getComponent() == tree && ts.isDrop() && ts.isDataFlavorSupported( localTreePathFlavor ) );
tree.setCursor( b ? DragSource.DefaultMoveDrop : DragSource.DefaultMoveNoDrop ); tree.setCursor( b ? DragSource.DefaultMoveDrop : DragSource.DefaultMoveNoDrop );
return b; return b;
} }
@ -182,7 +182,7 @@ public class TreeTransferHandler extends TransferHandler {
@Override @Override
protected void exportDone( JComponent source, Transferable data, int action ) { protected void exportDone( JComponent source, Transferable data, int action ) {
if ( action == TransferHandler.MOVE || action == TransferHandler.NONE ) { if ( action == TransferHandler.MOVE || action == TransferHandler.NONE ) {
tree.setCursor( Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR) ); tree.setCursor( Cursor.getPredefinedCursor( Cursor.DEFAULT_CURSOR ) );
} }
JTree srcTree = (JTree)source; JTree srcTree = (JTree)source;