Przeglądaj źródła

Make individual levels scrollable if there are too many spells available.

Sam Jaffe 8 lat temu
rodzic
commit
75518e48d1

+ 25 - 13
src/org/leumasjaffe/charsheet/view/magic/SelectPreparedSpellsPanel.java

@@ -17,6 +17,7 @@ import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.experimental.FieldDefaults;
 import java.awt.GridBagLayout;
+import java.awt.Dimension;
 import java.awt.GridBagConstraints;
 import java.awt.Insets;
 import javax.swing.border.BevelBorder;
@@ -24,6 +25,7 @@ import javax.swing.border.SoftBevelBorder;
 import javax.swing.table.AbstractTableModel;
 import javax.swing.JButton;
 import javax.swing.JOptionPane;
+import javax.swing.JScrollPane;
 
 @FieldDefaults(level=AccessLevel.PRIVATE, makeFinal=true)
 class SelectPreparedSpellsPanel extends JPanel {
@@ -94,15 +96,20 @@ class SelectPreparedSpellsPanel extends JPanel {
 		gbc_panel.gridy = 0;
 		add(panel, gbc_panel);
 		
+		JScrollPane scrollPane_1 = new JScrollPane();
+		scrollPane_1.setPreferredSize(new Dimension(150, 200));
+		scrollPane_1.setViewportBorder(new SoftBevelBorder(BevelBorder.LOWERED, null, null, null, null));
+		GridBagConstraints gbc_scrollPane_1 = new GridBagConstraints();
+		gbc_scrollPane_1.insets = new Insets(0, 0, 0, 5);
+		gbc_scrollPane_1.fill = GridBagConstraints.BOTH;
+		gbc_scrollPane_1.gridx = 0;
+		gbc_scrollPane_1.gridy = 1;
+		add(scrollPane_1, gbc_scrollPane_1);
+		
 		JTable tablePrepared = new JTable(modelPrepared);
+		tablePrepared.setTableHeader(null);
+		scrollPane_1.setViewportView(tablePrepared);
 		tablePrepared.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
-		tablePrepared.setBorder(new SoftBevelBorder(BevelBorder.LOWERED, null, null, null, null));
-		GridBagConstraints gbc_panelPrepared = new GridBagConstraints();
-		gbc_panelPrepared.insets = new Insets(0, 0, 0, 5);
-		gbc_panelPrepared.fill = GridBagConstraints.BOTH;
-		gbc_panelPrepared.gridx = 0;
-		gbc_panelPrepared.gridy = 1;
-		add(tablePrepared, gbc_panelPrepared);
 
 		JPanel panelDivider = new JPanel();
 		GridBagConstraints gbc_panelDivider = new GridBagConstraints();
@@ -118,14 +125,19 @@ class SelectPreparedSpellsPanel extends JPanel {
 		gbl_panelDivider.rowWeights = new double[]{1.0, 0.0, 0.0, 1.0, Double.MIN_VALUE};
 		panelDivider.setLayout(gbl_panelDivider);		
 		
+		JScrollPane scrollPane = new JScrollPane();
+		scrollPane.setPreferredSize(new Dimension(150, 200));
+		scrollPane.setViewportBorder(new SoftBevelBorder(BevelBorder.LOWERED, null, null, null, null));
+		GridBagConstraints gbc_scrollPane = new GridBagConstraints();
+		gbc_scrollPane.fill = GridBagConstraints.BOTH;
+		gbc_scrollPane.gridx = 2;
+		gbc_scrollPane.gridy = 1;
+		add(scrollPane, gbc_scrollPane);
+		
 		JTable tableKnown = new JTable(modelKnown);
+		tableKnown.setTableHeader(null);
+		scrollPane.setViewportView(tableKnown);
 		tableKnown.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
-		tableKnown.setBorder(new SoftBevelBorder(BevelBorder.LOWERED, null, null, null, null));
-		GridBagConstraints gbc_panelKnown = new GridBagConstraints();
-		gbc_panelKnown.fill = GridBagConstraints.BOTH;
-		gbc_panelKnown.gridx = 2;
-		gbc_panelKnown.gridy = 1;
-		add(tableKnown, gbc_panelKnown);
 		
 		JButton button = new JButton(">>");
 		button.setMargin(new Insets(2, 8, 2, 8));