swing_paradise 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of swing_paradise might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/README.md +19 -0
- data/doc/README.gen +19 -0
- data/lib/swing_paradise/autoinclude.rb +3 -0
- data/lib/swing_paradise/examples/001_quit_button_example.rb +54 -0
- data/lib/swing_paradise/jbutton/jbutton.rb +46 -0
- data/lib/swing_paradise/jcombobox/jcombobox.rb +28 -0
- data/lib/swing_paradise/jframe/jframe.rb +61 -0
- data/lib/swing_paradise/jlabel/jlabel.rb +31 -0
- data/lib/swing_paradise/jpanel/jpanel.rb +37 -0
- data/lib/swing_paradise/jscrollpane/jscrollpane.rb +34 -0
- data/lib/swing_paradise/jspinner/jspinner.rb +10 -0
- data/lib/swing_paradise/jtextarea/jtextarea.rb +34 -0
- data/lib/swing_paradise/jtextfield/jtextfield.rb +31 -0
- data/lib/swing_paradise/misc/misc.rb +37 -0
- data/lib/swing_paradise/requires/require_the_project.rb +15 -0
- data/lib/swing_paradise/toplevel_methods/misc.rb +108 -0
- data/lib/swing_paradise/version/version.rb +17 -0
- data/lib/swing_paradise.rb +1 -0
- data/swing_paradise.gemspec +36 -0
- metadata +65 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0fde3c447e09283a11f783c60e85864db52904733b980bd82f426690d6465118
|
4
|
+
data.tar.gz: 47e4b6fdf29fc5ab13c5b6d454861ee9298d375cdec1447d0e46475fd68b51e0
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 459c55e39c0d28eb94d95d653b742bdcb92f502c37ab1e642be0fa4a3db29d4c0178bf3a6e9e3d50994b3a353853f672a1068e9d7cc7028f249be45fb34d1d26
|
7
|
+
data.tar.gz: d78e0207bd49bacb30cc01c0d74c0c8e4a8ee97f30bdbfa492cde1b34465a7536e76e67c7c700f9966ced6107f798830e32bb1520225b0ccf73bcc9624474a8f
|
data/README.md
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
## Goals of this project
|
2
|
+
|
3
|
+
This project contains some add-on bindings to jruby Swing.
|
4
|
+
|
5
|
+
It is thus only really useful for jruby; and even there it
|
6
|
+
is very incomplete. Mega-beta quality, at best. I do not
|
7
|
+
recommend anyone to use this project as of yet.
|
8
|
+
|
9
|
+
## Simplified quitting
|
10
|
+
|
11
|
+
Use the following method to quit easily:
|
12
|
+
|
13
|
+
do_quit
|
14
|
+
|
15
|
+
For instance, a quit button:
|
16
|
+
|
17
|
+
quit_button.on_clicked {
|
18
|
+
do_quit
|
19
|
+
}
|
data/doc/README.gen
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
## Goals of this project
|
2
|
+
|
3
|
+
This project contains some add-on bindings to jruby Swing.
|
4
|
+
|
5
|
+
It is thus only really useful for jruby; and even there it
|
6
|
+
is very incomplete. Mega-beta quality, at best. I do not
|
7
|
+
recommend anyone to use this project as of yet.
|
8
|
+
|
9
|
+
## Simplified quitting
|
10
|
+
|
11
|
+
Use the following method to quit easily:
|
12
|
+
|
13
|
+
do_quit
|
14
|
+
|
15
|
+
For instance, a quit button:
|
16
|
+
|
17
|
+
quit_button.on_clicked {
|
18
|
+
do_quit
|
19
|
+
}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
include Java
|
2
|
+
|
3
|
+
java_import javax.swing.JButton
|
4
|
+
java_import javax.swing.JFrame
|
5
|
+
java_import javax.swing.JLabel
|
6
|
+
java_import javax.swing.JPanel
|
7
|
+
java_import javax.swing.JTextArea
|
8
|
+
java_import javax.swing.JScrollBar
|
9
|
+
java_import javax.swing.JTextField
|
10
|
+
java_import javax.swing.JSpinner
|
11
|
+
java_import javax.swing.SpinnerNumberModel
|
12
|
+
java_import java.lang.System
|
13
|
+
java_import java.awt.Font
|
14
|
+
|
15
|
+
module SwingParadise
|
16
|
+
|
17
|
+
class QuitButtonExample < JFrame
|
18
|
+
|
19
|
+
require 'swing_paradise'
|
20
|
+
include SwingParadise
|
21
|
+
|
22
|
+
# ========================================================================= #
|
23
|
+
# === initialize
|
24
|
+
# ========================================================================= #
|
25
|
+
def initialize(
|
26
|
+
run_already = true
|
27
|
+
)
|
28
|
+
run if run_already
|
29
|
+
end
|
30
|
+
|
31
|
+
# ========================================================================= #
|
32
|
+
# === run
|
33
|
+
# ========================================================================= #
|
34
|
+
def run
|
35
|
+
frame = JFrame.new('A quit button example')
|
36
|
+
panel = JPanel.new # This is an instance of Java::JavaxSwing::JPanel.
|
37
|
+
panel.set_font(Font.new 'Sans serif', Font::PLAIN, 25)
|
38
|
+
frame.getContentPane.add(panel)
|
39
|
+
panel.setLayout(nil)
|
40
|
+
panel.hint = 'A quit button example'
|
41
|
+
_ = quit_button
|
42
|
+
_.setBounds(10, 20, 200, 40)
|
43
|
+
panel << _
|
44
|
+
frame.setDefaultCloseOperation JFrame::EXIT_ON_CLOSE
|
45
|
+
frame.setSize(600, 500)
|
46
|
+
frame.setLocationRelativeTo(nil)
|
47
|
+
frame.show_all
|
48
|
+
end
|
49
|
+
|
50
|
+
end; end
|
51
|
+
|
52
|
+
if __FILE__ == $PROGRAM_NAME
|
53
|
+
SwingParadise::QuitButtonExample.new
|
54
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# =========================================================================== #
|
2
|
+
# require 'swing_paradise/jbutton/jbutton.rb'
|
3
|
+
# =========================================================================== #
|
4
|
+
class Java::JavaxSwing::JButton
|
5
|
+
|
6
|
+
# ========================================================================= #
|
7
|
+
# Enable: panel.hint=
|
8
|
+
# ========================================================================= #
|
9
|
+
alias hint= setToolTipText
|
10
|
+
|
11
|
+
alias on_clicked add_action_listener
|
12
|
+
|
13
|
+
# ========================================================================= #
|
14
|
+
# === on_event
|
15
|
+
# ========================================================================= #
|
16
|
+
alias on_event add_action_listener
|
17
|
+
|
18
|
+
# ========================================================================= #
|
19
|
+
# === use_this_font=
|
20
|
+
# ========================================================================= #
|
21
|
+
alias use_this_font= setFont
|
22
|
+
|
23
|
+
# ========================================================================= #
|
24
|
+
# === dimensions
|
25
|
+
#
|
26
|
+
# This is just a wrapper over setBounds() to allow us to work with
|
27
|
+
# a Hash instead.
|
28
|
+
# ========================================================================= #
|
29
|
+
def dimensions(
|
30
|
+
hash = {
|
31
|
+
x_axis: 10,
|
32
|
+
y_axis: 20,
|
33
|
+
width: 300,
|
34
|
+
height: 50
|
35
|
+
}
|
36
|
+
)
|
37
|
+
# is: x-coordinate, y-coordinate, width, height)
|
38
|
+
setBounds(
|
39
|
+
hash[:x_axis],
|
40
|
+
hash[:y_axis],
|
41
|
+
hash[:width],
|
42
|
+
hash[:height]
|
43
|
+
)
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
class Java::JavaxSwing::JComboBox
|
2
|
+
|
3
|
+
alias text? getSelectedItem # === text?
|
4
|
+
|
5
|
+
# ========================================================================= #
|
6
|
+
# === dimensions
|
7
|
+
#
|
8
|
+
# This is just a wrapper over setBounds() to allow us to work with
|
9
|
+
# a Hash instead.
|
10
|
+
# ========================================================================= #
|
11
|
+
def dimensions(
|
12
|
+
hash = {
|
13
|
+
x_axis: 10,
|
14
|
+
y_axis: 20,
|
15
|
+
width: 300,
|
16
|
+
height: 50
|
17
|
+
}
|
18
|
+
)
|
19
|
+
# is: x-coordinate, y-coordinate, width, height)
|
20
|
+
setBounds(
|
21
|
+
hash[:x_axis],
|
22
|
+
hash[:y_axis],
|
23
|
+
hash[:width],
|
24
|
+
hash[:height]
|
25
|
+
)
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
class Java::JavaxSwing::JFrame
|
2
|
+
|
3
|
+
java_import java.awt.Dimension
|
4
|
+
|
5
|
+
# ========================================================================= #
|
6
|
+
# === is_resizable
|
7
|
+
# ========================================================================= #
|
8
|
+
def is_resizable
|
9
|
+
JFrame.setResizable(true)
|
10
|
+
end
|
11
|
+
|
12
|
+
# ========================================================================= #
|
13
|
+
# === is_not_resizable
|
14
|
+
# ========================================================================= #
|
15
|
+
def is_not_resizable
|
16
|
+
JFrame.setResizable(false)
|
17
|
+
end
|
18
|
+
|
19
|
+
# ========================================================================= #
|
20
|
+
# === set_width
|
21
|
+
# ========================================================================= #
|
22
|
+
def set_width(i)
|
23
|
+
i = i.to_i
|
24
|
+
setPreferredSize(
|
25
|
+
java.awt.Dimension.new(i, -1)
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
# ========================================================================= #
|
30
|
+
# === show_all
|
31
|
+
# ========================================================================= #
|
32
|
+
def show_all
|
33
|
+
setVisible(true)
|
34
|
+
end
|
35
|
+
|
36
|
+
# ========================================================================= #
|
37
|
+
# === width_height
|
38
|
+
# ========================================================================= #
|
39
|
+
def width_height(
|
40
|
+
width = 1024,
|
41
|
+
height = 800
|
42
|
+
)
|
43
|
+
if width.is_a? String # This can be like this: '62% or minimum 300px'
|
44
|
+
if width.include? 'px'
|
45
|
+
scanned = width.scan(/(\d{1,}px)/)
|
46
|
+
width = scanned.flatten.first.delete('px')
|
47
|
+
end
|
48
|
+
end
|
49
|
+
if height.is_a? String # This can be like this: '62% or minimum 300px'
|
50
|
+
if height.include? 'px'
|
51
|
+
height = height.scan(/\d{1,}px/).flatten.first.delete('px')
|
52
|
+
end
|
53
|
+
end
|
54
|
+
width = width.to_i
|
55
|
+
height = height.to_i
|
56
|
+
setSize(width, height)
|
57
|
+
# The next variant does not appear to work that well:
|
58
|
+
# setPreferredSize(Dimension.new(width, height))
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
class Java::JavaxSwing::JLabel
|
2
|
+
|
3
|
+
# ========================================================================= #
|
4
|
+
# === use_this_font=
|
5
|
+
# ========================================================================= #
|
6
|
+
alias use_this_font= setFont
|
7
|
+
|
8
|
+
# ========================================================================= #
|
9
|
+
# === dimensions
|
10
|
+
#
|
11
|
+
# This is just a wrapper over setBounds() to allow us to work with
|
12
|
+
# a Hash instead.
|
13
|
+
# ========================================================================= #
|
14
|
+
def dimensions(
|
15
|
+
hash = {
|
16
|
+
x_axis: 10,
|
17
|
+
y_axis: 20,
|
18
|
+
width: 300,
|
19
|
+
height: 50
|
20
|
+
}
|
21
|
+
)
|
22
|
+
# is: x-coordinate, y-coordinate, width, height)
|
23
|
+
setBounds(
|
24
|
+
hash[:x_axis],
|
25
|
+
hash[:y_axis],
|
26
|
+
hash[:width],
|
27
|
+
hash[:height]
|
28
|
+
)
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
java_import java.awt.Font
|
2
|
+
|
3
|
+
class Java::JavaxSwing::JPanel
|
4
|
+
|
5
|
+
# ========================================================================= #
|
6
|
+
# Enable: panel.hint=
|
7
|
+
# ========================================================================= #
|
8
|
+
alias hint= setToolTipText
|
9
|
+
|
10
|
+
# ========================================================================= #
|
11
|
+
# Add << as alias to .add() next:
|
12
|
+
# ========================================================================= #
|
13
|
+
alias << add
|
14
|
+
|
15
|
+
# ========================================================================= #
|
16
|
+
# === font=
|
17
|
+
#
|
18
|
+
# This could be invoked like so:
|
19
|
+
#
|
20
|
+
# panel.font = :sans_serif_25
|
21
|
+
#
|
22
|
+
# It presently does not work, though.
|
23
|
+
# ========================================================================= #
|
24
|
+
# def font=(i)
|
25
|
+
# font_to_use = 'Sans serif'
|
26
|
+
# font_variant = Font::PLAIN # Font is actually Java::JavaAwt::Font
|
27
|
+
# font_size = 25
|
28
|
+
# if i.is_a? Symbol
|
29
|
+
# splitted = i.to_s.tr('_',' ').split(' ')
|
30
|
+
# font_size = splitted.pop
|
31
|
+
# font_to_use = splitted.join(' ')
|
32
|
+
# font_to_use[0, 1] = font_to_use[0, 1].upcase
|
33
|
+
# end
|
34
|
+
# set_font(Font.new(font_to_use), font_variant, font_size)
|
35
|
+
# end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# =========================================================================== #
|
2
|
+
# require 'swing_paradise/jscrollpane/jscrollpane.rb'
|
3
|
+
# =========================================================================== #
|
4
|
+
class Java::JavaxSwing::JScrollPane
|
5
|
+
|
6
|
+
# ========================================================================= #
|
7
|
+
# === use_this_font=
|
8
|
+
# ========================================================================= #
|
9
|
+
alias use_this_font= setFont
|
10
|
+
|
11
|
+
# ========================================================================= #
|
12
|
+
# === dimensions
|
13
|
+
#
|
14
|
+
# This is just a wrapper over setBounds() to allow us to work with
|
15
|
+
# a Hash instead.
|
16
|
+
# ========================================================================= #
|
17
|
+
def dimensions(
|
18
|
+
hash = {
|
19
|
+
x_axis: 10,
|
20
|
+
y_axis: 20,
|
21
|
+
width: 300,
|
22
|
+
height: 50
|
23
|
+
}
|
24
|
+
)
|
25
|
+
# is: x-coordinate, y-coordinate, width, height)
|
26
|
+
setBounds(
|
27
|
+
hash[:x_axis],
|
28
|
+
hash[:y_axis],
|
29
|
+
hash[:width],
|
30
|
+
hash[:height]
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# =========================================================================== #
|
2
|
+
# require 'swing_paradise/jtextarea/jtextarea.rb'
|
3
|
+
# =========================================================================== #
|
4
|
+
class Java::JavaxSwing::JTextArea
|
5
|
+
|
6
|
+
# ========================================================================= #
|
7
|
+
# === use_this_font=
|
8
|
+
# ========================================================================= #
|
9
|
+
alias use_this_font= setFont
|
10
|
+
|
11
|
+
# ========================================================================= #
|
12
|
+
# === dimensions
|
13
|
+
#
|
14
|
+
# This is just a wrapper over setBounds() to allow us to work with
|
15
|
+
# a Hash instead.
|
16
|
+
# ========================================================================= #
|
17
|
+
def dimensions(
|
18
|
+
hash = {
|
19
|
+
x_axis: 10,
|
20
|
+
y_axis: 20,
|
21
|
+
width: 300,
|
22
|
+
height: 50
|
23
|
+
}
|
24
|
+
)
|
25
|
+
# is: x-coordinate, y-coordinate, width, height)
|
26
|
+
setBounds(
|
27
|
+
hash[:x_axis],
|
28
|
+
hash[:y_axis],
|
29
|
+
hash[:width],
|
30
|
+
hash[:height]
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
class Java::JavaxSwing::JTextField
|
2
|
+
|
3
|
+
# ========================================================================= #
|
4
|
+
# === enable_dragging
|
5
|
+
# ========================================================================= #
|
6
|
+
def enable_dragging
|
7
|
+
setDragEnabled(true)
|
8
|
+
end
|
9
|
+
|
10
|
+
# ========================================================================= #
|
11
|
+
# === text?
|
12
|
+
# ========================================================================= #
|
13
|
+
def text?
|
14
|
+
getText.to_s
|
15
|
+
end
|
16
|
+
|
17
|
+
# ========================================================================= #
|
18
|
+
# === on_enter_pressed
|
19
|
+
# ========================================================================= #
|
20
|
+
def on_enter_pressed(&block)
|
21
|
+
add_action_listener(&block)
|
22
|
+
end
|
23
|
+
|
24
|
+
# ========================================================================= #
|
25
|
+
# === center
|
26
|
+
# ========================================================================= #
|
27
|
+
def center
|
28
|
+
setHorizontalAlignment(JTextField::CENTER)
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'swing_paradise/misc/misc.rb'
|
6
|
+
# =========================================================================== #
|
7
|
+
module SwingParadise
|
8
|
+
|
9
|
+
# ========================================================================= #
|
10
|
+
# === jframe
|
11
|
+
# ========================================================================= #
|
12
|
+
def jframe(i = '')
|
13
|
+
JFrame.new(i)
|
14
|
+
end; alias frame jframe # === frame
|
15
|
+
|
16
|
+
# ========================================================================= #
|
17
|
+
# === entry
|
18
|
+
#
|
19
|
+
# This is simply a wrapper over JTextField.
|
20
|
+
# ========================================================================= #
|
21
|
+
def entry(i = '')
|
22
|
+
JTextField.new(i)
|
23
|
+
end; alias hcentered_entry entry # === hcentered_entry
|
24
|
+
alias create_entry entry # === create_entry
|
25
|
+
|
26
|
+
# ========================================================================= #
|
27
|
+
# === quit_button
|
28
|
+
# ========================================================================= #
|
29
|
+
def quit_button(
|
30
|
+
use_this_text = 'Quit'
|
31
|
+
)
|
32
|
+
_ = button(use_this_text)
|
33
|
+
_.on_clicked { do_quit }
|
34
|
+
return _
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# =========================================================================== #
|
2
|
+
# require 'swing_paradise/requires/require_the_project.rb'
|
3
|
+
# =========================================================================== #
|
4
|
+
require 'swing_paradise/toplevel_methods/misc.rb'
|
5
|
+
require 'swing_paradise/jbutton/jbutton.rb'
|
6
|
+
require 'swing_paradise/jcombobox/jcombobox.rb'
|
7
|
+
require 'swing_paradise/jpanel/jpanel.rb'
|
8
|
+
require 'swing_paradise/jframe/jframe.rb'
|
9
|
+
require 'swing_paradise/jtextfield/jtextfield.rb'
|
10
|
+
require 'swing_paradise/jspinner/jspinner.rb'
|
11
|
+
require 'swing_paradise/jtextarea/jtextarea.rb'
|
12
|
+
require 'swing_paradise/jlabel/jlabel.rb'
|
13
|
+
require 'swing_paradise/jscrollpane/jscrollpane.rb'
|
14
|
+
|
15
|
+
require 'swing_paradise/misc/misc.rb'
|
@@ -0,0 +1,108 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
# require 'swing_paradise/toplevel_methods/misc.rb'
|
6
|
+
# include SwingParadise
|
7
|
+
# =========================================================================== #
|
8
|
+
module SwingParadise
|
9
|
+
|
10
|
+
# ========================================================================= #
|
11
|
+
# === swing_dimension
|
12
|
+
#
|
13
|
+
# This is a slight wrapper over java.awt.Dimension.
|
14
|
+
# ========================================================================= #
|
15
|
+
def swing_dimension(new_width, new_height)
|
16
|
+
java.awt.Dimension.new(new_width, new_height)
|
17
|
+
end
|
18
|
+
|
19
|
+
# ========================================================================= #
|
20
|
+
# === do_quit
|
21
|
+
#
|
22
|
+
# This method can be used as a more convenient do-exit method.
|
23
|
+
# ========================================================================= #
|
24
|
+
def do_quit(
|
25
|
+
use_this_as_the_exit_code = 0
|
26
|
+
)
|
27
|
+
System.exit(use_this_as_the_exit_code)
|
28
|
+
end
|
29
|
+
|
30
|
+
# ========================================================================= #
|
31
|
+
# === SwingParadise.text
|
32
|
+
#
|
33
|
+
# This method will return a JLabel instance.
|
34
|
+
# ========================================================================= #
|
35
|
+
def self.text(i = '')
|
36
|
+
_ = JLabel.new(i)
|
37
|
+
return _
|
38
|
+
end; self.instance_eval { alias label text } # === SwingParadise.label
|
39
|
+
|
40
|
+
# ========================================================================= #
|
41
|
+
# === jbutton
|
42
|
+
# ========================================================================= #
|
43
|
+
def jbutton(i = '')
|
44
|
+
return JButton.new(i)
|
45
|
+
end; alias button jbutton # === button
|
46
|
+
|
47
|
+
# ========================================================================= #
|
48
|
+
# === jcombobox
|
49
|
+
# ========================================================================= #
|
50
|
+
def jcombobox(i = nil)
|
51
|
+
combo_box = JComboBox.new
|
52
|
+
if i and i.respond_to?(:each)
|
53
|
+
i.each {|this_exam_topic|
|
54
|
+
combo_box.addItem(this_exam_topic)
|
55
|
+
}
|
56
|
+
end
|
57
|
+
return combo_box
|
58
|
+
end
|
59
|
+
|
60
|
+
# ========================================================================= #
|
61
|
+
# === default_close
|
62
|
+
# ========================================================================= #
|
63
|
+
def default_close
|
64
|
+
setDefaultCloseOperation(JFrame::EXIT_ON_CLOSE)
|
65
|
+
end
|
66
|
+
|
67
|
+
# ========================================================================= #
|
68
|
+
# === jpanel
|
69
|
+
# ========================================================================= #
|
70
|
+
def jpanel
|
71
|
+
JPanel.new
|
72
|
+
end
|
73
|
+
|
74
|
+
# ========================================================================= #
|
75
|
+
# === jtextarea
|
76
|
+
# ========================================================================= #
|
77
|
+
def jtextarea
|
78
|
+
JTextArea.new
|
79
|
+
end
|
80
|
+
|
81
|
+
# ========================================================================= #
|
82
|
+
# === text
|
83
|
+
# ========================================================================= #
|
84
|
+
def text(i = '')
|
85
|
+
return JLabel.new(i)
|
86
|
+
end; alias jtext text # === jtext
|
87
|
+
|
88
|
+
# ========================================================================= #
|
89
|
+
# === show_message_dialog
|
90
|
+
# ========================================================================= #
|
91
|
+
def show_message_dialog(text = '')
|
92
|
+
javax.swing.JOptionPane.showMessageDialog(nil, text)
|
93
|
+
end
|
94
|
+
|
95
|
+
# ========================================================================= #
|
96
|
+
# === quit_button
|
97
|
+
#
|
98
|
+
# This method can be used to quickly create a quit-button.
|
99
|
+
# ========================================================================= #
|
100
|
+
def quit_button
|
101
|
+
_ = jbutton('Quit')
|
102
|
+
_.on_event {|event|
|
103
|
+
System.exit(0)
|
104
|
+
}
|
105
|
+
return _
|
106
|
+
end
|
107
|
+
|
108
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
module SwingParadise
|
6
|
+
|
7
|
+
# ========================================================================= #
|
8
|
+
# === VERSION
|
9
|
+
# ========================================================================= #
|
10
|
+
VERSION = '0.0.15'
|
11
|
+
|
12
|
+
# ========================================================================= #
|
13
|
+
# === LAST_UPDATE
|
14
|
+
# ========================================================================= #
|
15
|
+
LAST_UDPATE = '24.09.2022'
|
16
|
+
|
17
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'swing_paradise/requires/require_the_project.rb'
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#!/usr/bin/ruby -w
|
2
|
+
# Encoding: UTF-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
# =========================================================================== #
|
5
|
+
require 'yaml'
|
6
|
+
require 'swing_paradise/version/version.rb'
|
7
|
+
require 'roebe'
|
8
|
+
|
9
|
+
Gem::Specification.new { |s|
|
10
|
+
|
11
|
+
s.name = 'swing_paradise'
|
12
|
+
s.version = SwingParadise::VERSION
|
13
|
+
s.date = Time.now.strftime('%Y-%m-%d')
|
14
|
+
|
15
|
+
DESCRIPTION = <<-EOF
|
16
|
+
|
17
|
+
This gem is meant for jruby only.
|
18
|
+
|
19
|
+
EOF
|
20
|
+
|
21
|
+
s.summary = DESCRIPTION
|
22
|
+
s.description = DESCRIPTION
|
23
|
+
|
24
|
+
s.authors = ['Robert A. Heiler']
|
25
|
+
s.email = Roebe.email?
|
26
|
+
s.files = Dir['**/*']
|
27
|
+
|
28
|
+
s.license = 'MIT'
|
29
|
+
s.homepage = 'https://www.rubydoc.info/gems/rbt/'
|
30
|
+
s.require_paths = ['lib']
|
31
|
+
|
32
|
+
s.required_ruby_version = '>= '+Roebe.third_most_stable_version_of_ruby
|
33
|
+
s.required_rubygems_version = '>= '+Gem::VERSION
|
34
|
+
s.rubygems_version = '>= '+Gem::VERSION
|
35
|
+
|
36
|
+
}
|
metadata
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: swing_paradise
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.15
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Robert A. Heiler
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2022-09-24 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: |2+
|
14
|
+
|
15
|
+
This gem is meant for jruby only.
|
16
|
+
|
17
|
+
email: shevy@inbox.lt
|
18
|
+
executables: []
|
19
|
+
extensions: []
|
20
|
+
extra_rdoc_files: []
|
21
|
+
files:
|
22
|
+
- README.md
|
23
|
+
- doc/README.gen
|
24
|
+
- lib/swing_paradise.rb
|
25
|
+
- lib/swing_paradise/autoinclude.rb
|
26
|
+
- lib/swing_paradise/examples/001_quit_button_example.rb
|
27
|
+
- lib/swing_paradise/jbutton/jbutton.rb
|
28
|
+
- lib/swing_paradise/jcombobox/jcombobox.rb
|
29
|
+
- lib/swing_paradise/jframe/jframe.rb
|
30
|
+
- lib/swing_paradise/jlabel/jlabel.rb
|
31
|
+
- lib/swing_paradise/jpanel/jpanel.rb
|
32
|
+
- lib/swing_paradise/jscrollpane/jscrollpane.rb
|
33
|
+
- lib/swing_paradise/jspinner/jspinner.rb
|
34
|
+
- lib/swing_paradise/jtextarea/jtextarea.rb
|
35
|
+
- lib/swing_paradise/jtextfield/jtextfield.rb
|
36
|
+
- lib/swing_paradise/misc/misc.rb
|
37
|
+
- lib/swing_paradise/requires/require_the_project.rb
|
38
|
+
- lib/swing_paradise/toplevel_methods/misc.rb
|
39
|
+
- lib/swing_paradise/version/version.rb
|
40
|
+
- swing_paradise.gemspec
|
41
|
+
homepage: https://www.rubydoc.info/gems/rbt/
|
42
|
+
licenses:
|
43
|
+
- MIT
|
44
|
+
metadata: {}
|
45
|
+
post_install_message:
|
46
|
+
rdoc_options: []
|
47
|
+
require_paths:
|
48
|
+
- lib
|
49
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 2.7.6
|
54
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
55
|
+
requirements:
|
56
|
+
- - ">="
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: 3.3.22
|
59
|
+
requirements: []
|
60
|
+
rubygems_version: 3.3.22
|
61
|
+
signing_key:
|
62
|
+
specification_version: 4
|
63
|
+
summary: This gem is meant for jruby only.
|
64
|
+
test_files: []
|
65
|
+
...
|