Skip to content

Commit 386d76a

Browse files
authored
Merge pull request atarw#22 from wiese42/patch1
patch1
2 parents 9ffad19 + a7cf5fd commit 386d76a

File tree

5 files changed

+105
-28
lines changed

5 files changed

+105
-28
lines changed

lib/material-ui-swing.jar

1.91 KB
Binary file not shown.

src/mdlaf/MaterialLookAndFeel.java

Lines changed: 73 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,10 @@
2626
import mdlaf.resources.MaterialFonts;
2727
import mdlaf.resources.MaterialImages;
2828

29-
import javax.swing.BorderFactory;
30-
import javax.swing.ImageIcon;
31-
import javax.swing.UIDefaults;
29+
import javax.swing.*;
3230
import javax.swing.plaf.basic.BasicLookAndFeel;
33-
import java.awt.Color;
31+
import javax.swing.text.DefaultEditorKit;
32+
import java.awt.*;
3433

3534
public class MaterialLookAndFeel extends BasicLookAndFeel {
3635

@@ -233,6 +232,11 @@ protected void initComponentDefaults (UIDefaults table) {
233232
table.put ("TextArea.border", BorderFactory.createEmptyBorder ());
234233
table.put ("TextArea.foreground", Color.BLACK);
235234
table.put ("TextArea.font", MaterialFonts.REGULAR);
235+
table.put("TextArea.focusInputMap", multilineInputMap);
236+
237+
table.put("TextPane.focusInputMap", multilineInputMap);
238+
239+
table.put("EditorPane.focusInputMap", multilineInputMap);
236240

237241
table.put ("ToggleButton.border", BorderFactory.createEmptyBorder ());
238242
table.put ("ToggleButton.font", MaterialFonts.REGULAR);
@@ -257,4 +261,69 @@ protected void initComponentDefaults (UIDefaults table) {
257261
table.put ("Tree.openIcon", new ImageIcon (MaterialImages.DOWN_ARROW));
258262
table.put ("Tree.selectionBorderColor", null);
259263
}
264+
265+
private Object multilineInputMap = new UIDefaults.LazyInputMap(new Object[]{
266+
"ctrl C", DefaultEditorKit.copyAction,
267+
"ctrl V", DefaultEditorKit.pasteAction,
268+
"ctrl X", DefaultEditorKit.cutAction,
269+
"COPY", DefaultEditorKit.copyAction,
270+
"PASTE", DefaultEditorKit.pasteAction,
271+
"CUT", DefaultEditorKit.cutAction,
272+
"control INSERT", DefaultEditorKit.copyAction,
273+
"shift INSERT", DefaultEditorKit.pasteAction,
274+
"shift DELETE", DefaultEditorKit.cutAction,
275+
"shift LEFT", DefaultEditorKit.selectionBackwardAction,
276+
"shift KP_LEFT", DefaultEditorKit.selectionBackwardAction,
277+
"shift RIGHT", DefaultEditorKit.selectionForwardAction,
278+
"shift KP_RIGHT", DefaultEditorKit.selectionForwardAction,
279+
"ctrl LEFT", DefaultEditorKit.previousWordAction,
280+
"ctrl KP_LEFT", DefaultEditorKit.previousWordAction,
281+
"ctrl RIGHT", DefaultEditorKit.nextWordAction,
282+
"ctrl KP_RIGHT", DefaultEditorKit.nextWordAction,
283+
"ctrl shift LEFT", DefaultEditorKit.selectionPreviousWordAction,
284+
"ctrl shift KP_LEFT", DefaultEditorKit.selectionPreviousWordAction,
285+
"ctrl shift RIGHT", DefaultEditorKit.selectionNextWordAction,
286+
"ctrl shift KP_RIGHT", DefaultEditorKit.selectionNextWordAction,
287+
"ctrl A", DefaultEditorKit.selectAllAction,
288+
"HOME", DefaultEditorKit.beginLineAction,
289+
"END", DefaultEditorKit.endLineAction,
290+
"shift HOME", DefaultEditorKit.selectionBeginLineAction,
291+
"shift END", DefaultEditorKit.selectionEndLineAction,
292+
293+
"UP", DefaultEditorKit.upAction,
294+
"KP_UP", DefaultEditorKit.upAction,
295+
"DOWN", DefaultEditorKit.downAction,
296+
"KP_DOWN", DefaultEditorKit.downAction,
297+
"PAGE_UP", DefaultEditorKit.pageUpAction,
298+
"PAGE_DOWN", DefaultEditorKit.pageDownAction,
299+
"shift PAGE_UP", "selection-page-up",
300+
"shift PAGE_DOWN", "selection-page-down",
301+
"ctrl shift PAGE_UP", "selection-page-left",
302+
"ctrl shift PAGE_DOWN", "selection-page-right",
303+
"shift UP", DefaultEditorKit.selectionUpAction,
304+
"shift KP_UP", DefaultEditorKit.selectionUpAction,
305+
"shift DOWN", DefaultEditorKit.selectionDownAction,
306+
"shift KP_DOWN", DefaultEditorKit.selectionDownAction,
307+
"ENTER", DefaultEditorKit.insertBreakAction,
308+
"BACK_SPACE", DefaultEditorKit.deletePrevCharAction,
309+
"shift BACK_SPACE", DefaultEditorKit.deletePrevCharAction,
310+
"ctrl H", DefaultEditorKit.deletePrevCharAction,
311+
"DELETE", DefaultEditorKit.deleteNextCharAction,
312+
"ctrl DELETE", DefaultEditorKit.deleteNextWordAction,
313+
"ctrl BACK_SPACE", DefaultEditorKit.deletePrevWordAction,
314+
"RIGHT", DefaultEditorKit.forwardAction,
315+
"LEFT", DefaultEditorKit.backwardAction,
316+
"KP_RIGHT", DefaultEditorKit.forwardAction,
317+
"KP_LEFT", DefaultEditorKit.backwardAction,
318+
"TAB", DefaultEditorKit.insertTabAction,
319+
"ctrl BACK_SLASH", "unselect"/*DefaultEditorKit.unselectAction*/,
320+
"ctrl HOME", DefaultEditorKit.beginAction,
321+
"ctrl END", DefaultEditorKit.endAction,
322+
"ctrl shift HOME", DefaultEditorKit.selectionBeginAction,
323+
"ctrl shift END", DefaultEditorKit.selectionEndAction,
324+
"ctrl T", "next-link-action",
325+
"ctrl shift T", "previous-link-action",
326+
"ctrl SPACE", "activate-link-action",
327+
"control shift O", "toggle-componentOrientation"/*DefaultEditorKit.toggleComponentOrientation*/
328+
});
260329
}

src/mdlaf/components/combobox/MaterialComboBoxUI.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,11 @@
22

33
import mdlaf.resources.MaterialDrawingUtils;
44

5-
import javax.swing.BorderFactory;
6-
import javax.swing.JButton;
7-
import javax.swing.JComboBox;
8-
import javax.swing.JComponent;
9-
import javax.swing.SwingConstants;
10-
import javax.swing.UIManager;
5+
import javax.swing.*;
116
import javax.swing.plaf.ComponentUI;
127
import javax.swing.plaf.basic.BasicArrowButton;
138
import javax.swing.plaf.basic.BasicComboBoxUI;
14-
import java.awt.Graphics;
9+
import java.awt.*;
1510

1611
public class MaterialComboBoxUI extends BasicComboBoxUI {
1712

@@ -34,8 +29,13 @@ public void installUI (JComponent c) {
3429

3530
@Override
3631
protected JButton createArrowButton () {
37-
JButton button = new BasicArrowButton (SwingConstants.SOUTH);
38-
32+
Icon icon = UIManager.getIcon("ComboBox.buttonIcon");
33+
JButton button;
34+
if (icon != null) {
35+
button = new JButton(icon);
36+
} else {
37+
button = new BasicArrowButton(SwingConstants.SOUTH);
38+
}
3939
button.setOpaque (true);
4040
button.setBackground (UIManager.getColor ("ComboBox.buttonBackground"));
4141
button.setBorder (BorderFactory.createEmptyBorder ());

src/mdlaf/components/spinner/MaterialSpinnerUI.java

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,11 @@
33
import mdlaf.components.textfield.MaterialTextFieldUI;
44
import mdlaf.resources.MaterialDrawingUtils;
55

6-
import javax.swing.JButton;
7-
import javax.swing.JComponent;
8-
import javax.swing.JSpinner;
9-
import javax.swing.SwingConstants;
10-
import javax.swing.UIManager;
6+
import javax.swing.*;
117
import javax.swing.plaf.ComponentUI;
128
import javax.swing.plaf.basic.BasicArrowButton;
139
import javax.swing.plaf.basic.BasicSpinnerUI;
14-
import java.awt.Component;
15-
import java.awt.Graphics;
10+
import java.awt.*;
1611

1712
public class MaterialSpinnerUI extends BasicSpinnerUI {
1813

@@ -47,8 +42,13 @@ public void paint (Graphics g, JComponent c) {
4742

4843
@Override
4944
protected Component createNextButton () {
50-
JButton button = new BasicArrowButton (SwingConstants.NORTH);
51-
45+
Icon icon = UIManager.getIcon("Spinner.nextButtonIcon");
46+
JButton button;
47+
if (icon != null) {
48+
button = new JButton(icon);
49+
} else {
50+
button = new BasicArrowButton(SwingConstants.NORTH);
51+
}
5252
button.setOpaque (true);
5353
button.setBackground (UIManager.getColor ("Spinner.arrowButtonBackground"));
5454
button.setBorder (UIManager.getBorder ("Spinner.arrowButtonBorder"));
@@ -59,7 +59,13 @@ protected Component createNextButton () {
5959

6060
@Override
6161
protected Component createPreviousButton () {
62-
JButton button = new BasicArrowButton (SwingConstants.SOUTH);
62+
Icon icon = UIManager.getIcon("Spinner.previousButtonIcon");
63+
JButton button;
64+
if (icon != null) {
65+
button = new JButton(icon);
66+
} else {
67+
button = new BasicArrowButton(SwingConstants.SOUTH);
68+
}
6369

6470
button.setOpaque (true);
6571
button.setBackground (UIManager.getColor ("Spinner.arrowButtonBackground"));

src/mdlaf/components/table/MaterialTableUI.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,10 @@
22

33
import mdlaf.resources.MaterialDrawingUtils;
44

5-
import javax.swing.JComponent;
6-
import javax.swing.JTable;
7-
import javax.swing.UIManager;
5+
import javax.swing.*;
86
import javax.swing.plaf.ComponentUI;
97
import javax.swing.plaf.basic.BasicTableUI;
10-
import java.awt.Graphics;
8+
import java.awt.*;
119

1210
public class MaterialTableUI extends BasicTableUI {
1311

@@ -29,7 +27,11 @@ public void installUI (JComponent c) {
2927
table.setSelectionBackground (UIManager.getColor ("Table.selectionBackground"));
3028

3129
table.getTableHeader ().setResizingAllowed (true);
32-
table.setRowHeight (table.getRowHeight () + 25);
30+
int rowHeight = UIManager.getInt("Table.rowHeight");
31+
if (rowHeight > 0)
32+
table.setRowHeight(rowHeight);
33+
else
34+
table.setRowHeight(table.getRowHeight() + 25);
3335

3436
table.setDefaultRenderer (Object.class, new MaterialTableCellRenderer ());
3537
table.setDefaultEditor (Object.class, new MaterialTableCellEditor ());

0 commit comments

Comments
 (0)