• R/O
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

作業部屋の使い方を試しています。


Commit MetaInfo

Revision96 (tree)
Time2014-11-21 21:25:50
Authortuna_p

Log Message

(empty log message)

Change Summary

Incremental Difference

--- branches/b1-swing/src/package01/TestColor02.java (nonexistent)
+++ branches/b1-swing/src/package01/TestColor02.java (revision 96)
@@ -0,0 +1,572 @@
1+/*
2+ * To change this license header, choose License Headers in Project Properties.
3+ * To change this template file, choose Tools | Templates
4+ * and open the template in the editor.
5+ */
6+package package01;
7+
8+import java.awt.Color;
9+import static java.lang.Math.floor;
10+import javax.swing.JOptionPane;
11+
12+/**
13+ *
14+ * @author kgto
15+ */
16+public class TestColor02 extends javax.swing.JFrame {
17+ int valueMin, valueMax;
18+ int jRBselect;
19+
20+ int limitMin, limitMax;
21+ int limitRange = 0;
22+ int limitCenter = 0;
23+
24+ int valuePercent;
25+
26+ int gradationHigh1, gradationHigh2;
27+ int gradationLow1, gradationLow2;
28+
29+ /**
30+ * Creates new form Test01
31+ */
32+ public TestColor02() {
33+ initComponents();
34+
35+ jRBtn_LimitRange.setSelected(true);
36+ jRBtn_select();
37+ }
38+
39+ /**
40+ * This method is called from within the constructor to initialize the form.
41+ * WARNING: Do NOT modify this code. The content of this method is always
42+ * regenerated by the Form Editor.
43+ */
44+ @SuppressWarnings("unchecked")
45+ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
46+ private void initComponents() {
47+
48+ buttonGroup1 = new javax.swing.ButtonGroup();
49+ jSlider1 = new javax.swing.JSlider();
50+ jTextField1 = new javax.swing.JTextField();
51+ jTextred = new javax.swing.JTextField();
52+ jTextgreen = new javax.swing.JTextField();
53+ jTextblue = new javax.swing.JTextField();
54+ jTextField2 = new javax.swing.JTextField();
55+ jPanelSlider = new javax.swing.JPanel();
56+ jTextSliderMin = new javax.swing.JTextField();
57+ jTextSliderMax = new javax.swing.JTextField();
58+ jBtnSliderSet = new javax.swing.JButton();
59+ jPanelLimit = new javax.swing.JPanel();
60+ jLabelLimitMax = new javax.swing.JLabel();
61+ jLabelLimitmin = new javax.swing.JLabel();
62+ jTextLimitMax = new javax.swing.JTextField();
63+ jTextLimitMin = new javax.swing.JTextField();
64+ jPanel1 = new javax.swing.JPanel();
65+ jTextPercent = new javax.swing.JTextField();
66+ jTextssmin = new javax.swing.JTextField();
67+ jTextssmax = new javax.swing.JTextField();
68+ jRBtn_LimitRange = new javax.swing.JRadioButton();
69+ jRBtn_Percent = new javax.swing.JRadioButton();
70+ jRBtn_ValueMinMax = new javax.swing.JRadioButton();
71+
72+ setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
73+
74+ jSlider1.setMajorTickSpacing(10);
75+ jSlider1.setOrientation(javax.swing.JSlider.VERTICAL);
76+ jSlider1.setPaintTicks(true);
77+ jSlider1.addChangeListener(new javax.swing.event.ChangeListener() {
78+ public void stateChanged(javax.swing.event.ChangeEvent evt) {
79+ jSlider1StateChanged(evt);
80+ }
81+ });
82+
83+ jTextField1.setToolTipText("スライダー位置");
84+
85+ jTextred.setHorizontalAlignment(javax.swing.JTextField.CENTER);
86+ jTextred.setText("RED");
87+
88+ jTextgreen.setHorizontalAlignment(javax.swing.JTextField.CENTER);
89+ jTextgreen.setText("GREEN");
90+
91+ jTextblue.setHorizontalAlignment(javax.swing.JTextField.CENTER);
92+ jTextblue.setText("BLUE");
93+
94+ jTextField2.setToolTipText("グラデーションパーセント");
95+
96+ jPanelSlider.setBorder(javax.swing.BorderFactory.createTitledBorder("スライダー範囲"));
97+
98+ jTextSliderMin.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
99+ jTextSliderMin.setText("0");
100+
101+ jTextSliderMax.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
102+ jTextSliderMax.setText("100");
103+
104+ jBtnSliderSet.setText("set");
105+ jBtnSliderSet.addActionListener(new java.awt.event.ActionListener() {
106+ public void actionPerformed(java.awt.event.ActionEvent evt) {
107+ jBtnSliderSetActionPerformed(evt);
108+ }
109+ });
110+
111+ javax.swing.GroupLayout jPanelSliderLayout = new javax.swing.GroupLayout(jPanelSlider);
112+ jPanelSlider.setLayout(jPanelSliderLayout);
113+ jPanelSliderLayout.setHorizontalGroup(
114+ jPanelSliderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
115+ .addGroup(jPanelSliderLayout.createSequentialGroup()
116+ .addComponent(jTextSliderMin, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
117+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
118+ .addComponent(jTextSliderMax, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
119+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
120+ .addComponent(jBtnSliderSet))
121+ );
122+ jPanelSliderLayout.setVerticalGroup(
123+ jPanelSliderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
124+ .addGroup(jPanelSliderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
125+ .addComponent(jTextSliderMin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
126+ .addComponent(jTextSliderMax, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
127+ .addComponent(jBtnSliderSet))
128+ );
129+
130+ jTextSliderMin.getAccessibleContext().setAccessibleName("");
131+ jTextSliderMin.getAccessibleContext().setAccessibleDescription("");
132+
133+ jPanelLimit.setBorder(javax.swing.BorderFactory.createTitledBorder("指値"));
134+ jPanelLimit.setName(""); // NOI18N
135+
136+ jLabelLimitMax.setText("高");
137+
138+ jLabelLimitmin.setText("低");
139+
140+ jTextLimitMax.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
141+ jTextLimitMax.setText("80");
142+
143+ jTextLimitMin.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
144+ jTextLimitMin.setText("20");
145+
146+ javax.swing.GroupLayout jPanelLimitLayout = new javax.swing.GroupLayout(jPanelLimit);
147+ jPanelLimit.setLayout(jPanelLimitLayout);
148+ jPanelLimitLayout.setHorizontalGroup(
149+ jPanelLimitLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
150+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelLimitLayout.createSequentialGroup()
151+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
152+ .addGroup(jPanelLimitLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
153+ .addGroup(jPanelLimitLayout.createSequentialGroup()
154+ .addComponent(jLabelLimitMax)
155+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
156+ .addComponent(jTextLimitMax, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE))
157+ .addGroup(jPanelLimitLayout.createSequentialGroup()
158+ .addComponent(jLabelLimitmin)
159+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
160+ .addComponent(jTextLimitMin, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)))
161+ .addContainerGap())
162+ );
163+ jPanelLimitLayout.setVerticalGroup(
164+ jPanelLimitLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
165+ .addGroup(jPanelLimitLayout.createSequentialGroup()
166+ .addGroup(jPanelLimitLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
167+ .addComponent(jLabelLimitMax)
168+ .addComponent(jTextLimitMax, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
169+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
170+ .addGroup(jPanelLimitLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
171+ .addComponent(jLabelLimitmin)
172+ .addComponent(jTextLimitMin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
173+ );
174+
175+ jTextPercent.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
176+ jTextPercent.setText("50");
177+
178+ jTextssmin.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
179+ jTextssmin.setText("30");
180+
181+ jTextssmax.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
182+ jTextssmax.setText("90");
183+
184+ buttonGroup1.add(jRBtn_LimitRange);
185+ jRBtn_LimitRange.setText("指値範囲内");
186+ jRBtn_LimitRange.addMouseListener(new java.awt.event.MouseAdapter() {
187+ public void mouseClicked(java.awt.event.MouseEvent evt) {
188+ jRBtn_LimitRangeMouseClicked(evt);
189+ }
190+ });
191+
192+ buttonGroup1.add(jRBtn_Percent);
193+ jRBtn_Percent.setText("パーセント指定");
194+ jRBtn_Percent.addMouseListener(new java.awt.event.MouseAdapter() {
195+ public void mouseClicked(java.awt.event.MouseEvent evt) {
196+ jRBtn_PercentMouseClicked(evt);
197+ }
198+ });
199+
200+ buttonGroup1.add(jRBtn_ValueMinMax);
201+ jRBtn_ValueMinMax.setText("値指定");
202+ jRBtn_ValueMinMax.addMouseListener(new java.awt.event.MouseAdapter() {
203+ public void mouseClicked(java.awt.event.MouseEvent evt) {
204+ jRBtn_ValueMinMaxMouseClicked(evt);
205+ }
206+ });
207+
208+ javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
209+ jPanel1.setLayout(jPanel1Layout);
210+ jPanel1Layout.setHorizontalGroup(
211+ jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
212+ .addGroup(jPanel1Layout.createSequentialGroup()
213+ .addContainerGap()
214+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
215+ .addGroup(jPanel1Layout.createSequentialGroup()
216+ .addComponent(jRBtn_Percent)
217+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
218+ .addComponent(jTextPercent, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE))
219+ .addGroup(jPanel1Layout.createSequentialGroup()
220+ .addComponent(jRBtn_ValueMinMax)
221+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
222+ .addComponent(jTextssmax, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
223+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
224+ .addComponent(jTextssmin, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE))
225+ .addComponent(jRBtn_LimitRange))
226+ .addContainerGap(14, Short.MAX_VALUE))
227+ );
228+ jPanel1Layout.setVerticalGroup(
229+ jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
230+ .addGroup(jPanel1Layout.createSequentialGroup()
231+ .addContainerGap()
232+ .addComponent(jRBtn_LimitRange)
233+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
234+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
235+ .addComponent(jRBtn_Percent)
236+ .addComponent(jTextPercent, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
237+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
238+ .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
239+ .addComponent(jRBtn_ValueMinMax)
240+ .addComponent(jTextssmax, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
241+ .addComponent(jTextssmin, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
242+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
243+ );
244+
245+ javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
246+ getContentPane().setLayout(layout);
247+ layout.setHorizontalGroup(
248+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
249+ .addGroup(layout.createSequentialGroup()
250+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
251+ .addComponent(jSlider1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
252+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
253+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
254+ .addComponent(jPanelSlider, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
255+ .addGroup(layout.createSequentialGroup()
256+ .addComponent(jTextred, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE)
257+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
258+ .addComponent(jTextgreen, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE)
259+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
260+ .addComponent(jTextblue, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE))
261+ .addGroup(layout.createSequentialGroup()
262+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
263+ .addComponent(jPanelLimit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
264+ .addGroup(layout.createSequentialGroup()
265+ .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
266+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
267+ .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)))
268+ .addGap(18, 18, 18)
269+ .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
270+ .addGap(24, 24, 24))
271+ );
272+ layout.setVerticalGroup(
273+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
274+ .addGroup(layout.createSequentialGroup()
275+ .addContainerGap()
276+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
277+ .addComponent(jSlider1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
278+ .addGroup(layout.createSequentialGroup()
279+ .addComponent(jPanelSlider, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
280+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
281+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
282+ .addGroup(layout.createSequentialGroup()
283+ .addComponent(jPanelLimit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
284+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
285+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
286+ .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
287+ .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
288+ .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
289+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
290+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
291+ .addComponent(jTextred, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)
292+ .addComponent(jTextgreen, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)
293+ .addComponent(jTextblue, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE))))
294+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
295+ );
296+
297+ pack();
298+ }// </editor-fold>//GEN-END:initComponents
299+
300+ private void jSlider1StateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_jSlider1StateChanged
301+ int sliderValue = jSlider1.getValue();
302+ jTextField1.setText(String.valueOf(sliderValue));
303+
304+ getLimit_range();
305+ switch(jRBselect) {
306+ case 1 : limitRange(); break;
307+ case 2 : percent(); break;
308+ case 3 : valueMinMax(); break;
309+ }
310+
311+ int value;
312+ Color color;
313+ if(sliderValue <= gradationLow1) {
314+ value = gradationMin(gradationLow1, gradationLow2);
315+ color = Color.GREEN;
316+ } else {
317+ value = gradationMax(gradationHigh1, gradationHigh2);
318+ color = Color.RED;
319+ }
320+ jTextField2.setText(String.valueOf(value));
321+ jTextField2.setBackground(toneColor(color, value));
322+
323+ if(jRBselect > 0) {
324+ jTextred.setBackground(toneColor(Color.RED, value));
325+ jTextgreen.setBackground(toneColor(Color.GREEN, value));
326+ jTextblue.setBackground(toneColor(Color.BLUE, value));
327+ }
328+
329+ }//GEN-LAST:event_jSlider1StateChanged
330+
331+ private void jRBtn_LimitRangeMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jRBtn_LimitRangeMouseClicked
332+ jRBtn_select();
333+ }//GEN-LAST:event_jRBtn_LimitRangeMouseClicked
334+
335+ private void jRBtn_PercentMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jRBtn_PercentMouseClicked
336+ jRBtn_select();
337+ }//GEN-LAST:event_jRBtn_PercentMouseClicked
338+
339+ private void jRBtn_ValueMinMaxMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jRBtn_ValueMinMaxMouseClicked
340+ jRBtn_select();
341+ }//GEN-LAST:event_jRBtn_ValueMinMaxMouseClicked
342+
343+ private void jBtnSliderSetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnSliderSetActionPerformed
344+ int sliderMin = Integer.parseInt(jTextSliderMin.getText());
345+ int sliderMax = Integer.parseInt(jTextSliderMax.getText());
346+
347+ // 入力チェック
348+ if(sliderMin >= sliderMax) {
349+ JOptionPane.showMessageDialog(null, "スライダー範囲設定エラー");
350+ return;
351+ }
352+ jSlider1.setMinimum(sliderMin);
353+ jSlider1.setMaximum(sliderMax);
354+ }//GEN-LAST:event_jBtnSliderSetActionPerformed
355+
356+ /**
357+ * 指値範囲取得.
358+ */
359+ void getLimit_range() {
360+ // 指値
361+ limitMin = Integer.parseInt(jTextLimitMin.getText());
362+ limitMax = Integer.parseInt(jTextLimitMax.getText());
363+ // 入力チェック
364+ if(limitMin >= limitMax) {
365+ JOptionPane.showMessageDialog(null, "指値範囲設定エラー");
366+ return;
367+ }
368+ limitRange = limitMax - limitMin;
369+ limitCenter = limitRange / 2;
370+ }
371+
372+ /**
373+ * ラジオボタン選択.
374+ */
375+ private void jRBtn_select() {
376+ int new_jRBselect = 0;
377+
378+ if(jRBtn_LimitRange.isSelected()) new_jRBselect = 1;
379+ if(jRBtn_Percent.isSelected()) new_jRBselect = 2;
380+ if(jRBtn_ValueMinMax.isSelected()) new_jRBselect = 3;
381+
382+ // 入力チェック
383+ if(new_jRBselect == 2) {
384+ valuePercent = Integer.parseInt(jTextPercent.getText());
385+ }
386+ if(new_jRBselect == 3) {
387+ valueMin = Integer.parseInt(jTextssmin.getText());
388+ valueMax = Integer.parseInt(jTextssmax.getText());
389+ }
390+
391+ jRBselect = new_jRBselect;
392+
393+ }
394+
395+ /**
396+ * グラデーション設定(指値範囲).
397+ */
398+ void limitRange() {
399+ gradationHigh2 = limitMax;
400+ gradationHigh1 = limitMin + limitCenter;
401+
402+ gradationLow1 = limitMin + limitCenter;
403+ gradationLow2 = limitMin;
404+ }
405+
406+ /**
407+ * グラデーション設定(パーセント指定).
408+ */
409+ void percent() {
410+ int a = limitRange * valuePercent / 100;
411+
412+ gradationHigh2 = limitMax;
413+ gradationHigh1 = limitMax - a;
414+
415+ gradationLow1 = limitMin + a;
416+ gradationLow2 = limitMin;
417+ }
418+
419+ /**
420+ * グラデーション設定(開始・終了値設定).
421+ */
422+ void valueMinMax() {
423+ gradationHigh2 = limitMax;
424+ gradationHigh1 = valueMax;
425+
426+ gradationLow1 = valueMin;
427+ gradationLow2 = limitMin;
428+ }
429+
430+ /**
431+ * 上方グラデーション値設定.
432+ * 数値が「大きく」なるほど、グラデーション値を大きくする。
433+ * @param min 開始値(グラデーション値 0%)
434+ * @param max 終了値(グラデーション値 100%)
435+ * @return グラデーション値
436+ */
437+ int gradationMax(int min, int max) {
438+ int sliderValue = jSlider1.getValue();
439+
440+ if(sliderValue < min) {
441+ return 0;
442+ }
443+ if(sliderValue > max) {
444+ return 100;
445+ }
446+ float range = max - min;
447+ float rangePoint = sliderValue - min;
448+ int gradationPercent = (int)floor(rangePoint / range * 100.0);
449+
450+ return gradationPercent;
451+ }
452+
453+ /**
454+ * 下方グラデーション値設定.
455+ * 数値が「小さく」なるほど、グラデーション値を大きくする。
456+ * @param min 開始値(グラデーション値 0%)
457+ * @param max 終了値(グラデーション値 100%)
458+ * @return グラデーション値
459+ */
460+ int gradationMin(int min, int max) {
461+ int sliderValue = jSlider1.getValue();
462+
463+ if(sliderValue > min) {
464+ return 0;
465+ }
466+ if(sliderValue < max) {
467+ return 100;
468+ }
469+ float range = min - max;
470+ float rangePoint = min - sliderValue;
471+ int gradationPercent = (int)floor(rangePoint / range * 100.0);
472+
473+ return gradationPercent;
474+ }
475+
476+ /**
477+ * カラー設定.
478+ * @param strongColor 強調色
479+ * @param value グラデーション値
480+ * @return カラー属性
481+ */
482+ Color toneColor(Color strongColor, int value) {
483+ final int MAXRGB = 255;
484+
485+ int toneR = MAXRGB;
486+ int toneG = MAXRGB;
487+ int toneB = MAXRGB;
488+
489+ if(value < 0) value = 0;
490+ if(value > 100) value = 100;
491+
492+ int percentRGB = MAXRGB * value / 100;
493+ int subtractionRGB = MAXRGB - percentRGB;
494+ if(Color.RED.equals(strongColor)) {
495+ toneG = subtractionRGB;
496+ toneB = subtractionRGB;
497+ }
498+ if(Color.GREEN.equals(strongColor)) {
499+ toneR = subtractionRGB;
500+ toneB = subtractionRGB;
501+ }
502+ if(Color.BLUE.equals(strongColor)) {
503+ toneR = subtractionRGB;
504+ toneG = subtractionRGB;
505+ }
506+ return new Color(toneR, toneG, toneB);
507+ }
508+
509+ /**
510+ * @param args the command line arguments
511+ */
512+ public static void main(String args[]) {
513+ /* Set the Nimbus look and feel */
514+ //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
515+ /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
516+ * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
517+ */
518+ try {
519+ for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
520+ if ("Nimbus".equals(info.getName())) {
521+ javax.swing.UIManager.setLookAndFeel(info.getClassName());
522+ break;
523+ }
524+ }
525+ } catch (ClassNotFoundException ex) {
526+ java.util.logging.Logger.getLogger(TestColor02.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
527+ } catch (InstantiationException ex) {
528+ java.util.logging.Logger.getLogger(TestColor02.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
529+ } catch (IllegalAccessException ex) {
530+ java.util.logging.Logger.getLogger(TestColor02.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
531+ } catch (javax.swing.UnsupportedLookAndFeelException ex) {
532+ java.util.logging.Logger.getLogger(TestColor02.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
533+ }
534+ //</editor-fold>
535+ //</editor-fold>
536+ //</editor-fold>
537+ //</editor-fold>
538+
539+ /* Create and display the form */
540+ java.awt.EventQueue.invokeLater(new Runnable() {
541+ public void run() {
542+ new TestColor02().setVisible(true);
543+ }
544+ });
545+ }
546+
547+ // Variables declaration - do not modify//GEN-BEGIN:variables
548+ private javax.swing.ButtonGroup buttonGroup1;
549+ private javax.swing.JButton jBtnSliderSet;
550+ private javax.swing.JLabel jLabelLimitMax;
551+ private javax.swing.JLabel jLabelLimitmin;
552+ private javax.swing.JPanel jPanel1;
553+ private javax.swing.JPanel jPanelLimit;
554+ private javax.swing.JPanel jPanelSlider;
555+ private javax.swing.JRadioButton jRBtn_LimitRange;
556+ private javax.swing.JRadioButton jRBtn_Percent;
557+ private javax.swing.JRadioButton jRBtn_ValueMinMax;
558+ private javax.swing.JSlider jSlider1;
559+ private javax.swing.JTextField jTextField1;
560+ private javax.swing.JTextField jTextField2;
561+ private javax.swing.JTextField jTextLimitMax;
562+ private javax.swing.JTextField jTextLimitMin;
563+ private javax.swing.JTextField jTextPercent;
564+ private javax.swing.JTextField jTextSliderMax;
565+ private javax.swing.JTextField jTextSliderMin;
566+ private javax.swing.JTextField jTextblue;
567+ private javax.swing.JTextField jTextgreen;
568+ private javax.swing.JTextField jTextred;
569+ private javax.swing.JTextField jTextssmax;
570+ private javax.swing.JTextField jTextssmin;
571+ // End of variables declaration//GEN-END:variables
572+}