[deck.editor] Fixed splitter resizing issue (jdk bug: setting divider location doesn't work before first paint).

This commit is contained in:
magenoxx 2011-05-11 18:57:43 +04:00
parent f66fd8fc97
commit 21c22dba9c
2 changed files with 16 additions and 11 deletions

View file

@ -44,11 +44,7 @@ import java.util.UUID;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import javax.swing.JComponent; import javax.swing.*;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.Timer;
import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileFilter;
import mage.cards.Card; import mage.cards.Card;
@ -64,6 +60,7 @@ import mage.components.CardInfoPane;
import mage.game.GameException; import mage.game.GameException;
import mage.sets.Sets; import mage.sets.Sets;
import mage.view.CardView; import mage.view.CardView;
import sun.swing.SwingUtilities2;
/** /**
* *
@ -298,6 +295,7 @@ public class DeckEditorPanel extends javax.swing.JPanel {
cardTableSelector.setVisible(false); cardTableSelector.setVisible(false);
cardSelector.setVisible(true); cardSelector.setVisible(true);
jSplitPane1.setTopComponent(cardSelector); jSplitPane1.setTopComponent(cardSelector);
jSplitPane1.setDividerLocation(0.6);
jSplitPane1.revalidate(); jSplitPane1.revalidate();
jSplitPane1.repaint(); jSplitPane1.repaint();
} }
@ -316,6 +314,7 @@ public class DeckEditorPanel extends javax.swing.JPanel {
cardTableSelector.setVisible(true); cardTableSelector.setVisible(true);
cardSelector.setVisible(false); cardSelector.setVisible(false);
jSplitPane1.setTopComponent(cardTableSelector); jSplitPane1.setTopComponent(cardTableSelector);
jSplitPane1.setDividerLocation(0.6);
jSplitPane1.revalidate(); jSplitPane1.revalidate();
jSplitPane1.repaint(); jSplitPane1.repaint();
} }
@ -325,7 +324,14 @@ public class DeckEditorPanel extends javax.swing.JPanel {
jSplitPane1.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT); jSplitPane1.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
jSplitPane1.setResizeWeight(0.5); jSplitPane1.setResizeWeight(0.5);
jSplitPane1.setTopComponent(cardSelector); jSplitPane1.setTopComponent(cardSelector);
jSplitPane1.setRightComponent(deckArea); jSplitPane1.setBottomComponent(deckArea);
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
jSplitPane1.setDividerLocation(0.6);
}
});
bigCard.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); bigCard.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

View file

@ -38,8 +38,7 @@ import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import javax.swing.DefaultComboBoxModel; import javax.swing.*;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.DefaultTableCellRenderer;
import mage.Constants.CardType; import mage.Constants.CardType;
@ -56,7 +55,7 @@ import mage.view.CardsView;
/** /**
* *
* @author BetaSteward_at_googlemail.com * @author BetaSteward_at_googlemail.com, nantuko
*/ */
public class CardTableSelector extends javax.swing.JPanel implements ComponentListener { public class CardTableSelector extends javax.swing.JPanel implements ComponentListener {
@ -319,7 +318,7 @@ public class CardTableSelector extends javax.swing.JPanel implements ComponentLi
mainTable.setModel(mainModel); mainTable.setModel(mainModel);
mainTable.setForeground(Color.white); mainTable.setForeground(Color.white);
DefaultTableCellRenderer myRenderer = (DefaultTableCellRenderer) mainTable.getDefaultRenderer(String.class); DefaultTableCellRenderer myRenderer = (DefaultTableCellRenderer) mainTable.getDefaultRenderer(String.class);
myRenderer.setBackground(new Color(0, 0, 0, 100)); myRenderer.setBackground(new Color(0, 0, 0, 100));
mainTable.getColumnModel().getColumn(0).setMaxWidth(0); mainTable.getColumnModel().getColumn(0).setMaxWidth(0);
mainTable.getColumnModel().getColumn(0).setPreferredWidth(10); mainTable.getColumnModel().getColumn(0).setPreferredWidth(10);
mainTable.getColumnModel().getColumn(1).setPreferredWidth(110); mainTable.getColumnModel().getColumn(1).setPreferredWidth(110);
@ -598,7 +597,7 @@ public class CardTableSelector extends javax.swing.JPanel implements ComponentLi
private javax.swing.JRadioButton rdoWhite; private javax.swing.JRadioButton rdoWhite;
private javax.swing.JToolBar tbColor; private javax.swing.JToolBar tbColor;
private javax.swing.JToolBar tbTypes; private javax.swing.JToolBar tbTypes;
@Override @Override
public void componentResized(ComponentEvent e) { public void componentResized(ComponentEvent e) {
if (cbSortBy.getSelectedItem() instanceof SortBy) if (cbSortBy.getSelectedItem() instanceof SortBy)