{"id":10374,"date":"2015-08-27T07:37:35","date_gmt":"2015-08-27T11:37:35","guid":{"rendered":"http:\/\/bangla.salearningschool.com\/?p=10374"},"modified":"2015-08-24T09:17:42","modified_gmt":"2015-08-24T13:17:42","slug":"custom-awt-slider","status":"publish","type":"post","link":"http:\/\/bangla.sitestree.com\/?p=10374","title":{"rendered":"Custom AWT Slider"},"content":{"rendered":"<pre>*****************\r\nCustom AWT Slider \r\n\r\n\u00a0\u00a0\u00a0 * LabeledCostSlider.java. A numeric slider class with attached label.\r\n\u00a0\u00a0\u00a0 * CostSlider.java. A slider class that lets you read numeric values. Used in the LabeledCostSlider class.\r\n\u00a0\u00a0\u00a0 * Slider.java. A slider class: a combination of Scrollbar and TextField. Used in the CostSlider class.\r\n\u00a0\u00a0\u00a0 * ScrollbarPanel.java A Panel with adjustable top and bottom insets, used by the Slider class to change the thickness of the Slider.\r\n*****************\r\nLabeledCostSlider.java. A numeric slider class with attached label. \r\n&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;\r\nimport java.awt.*;\r\n\r\n\/** A CostSlider with a label centered above it. \r\n\u00a0*************\r\n\u00a0\r\n\r\npublic class LabeledCostSlider extends Panel {\r\n\u00a0 public LabeledCostSlider(String labelString,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Font labelFont,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 int minValue, int maxValue,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 int initialValue,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Everest app) {\r\n\u00a0\u00a0\u00a0 setLayout(new BorderLayout());\r\n\u00a0\u00a0\u00a0 Label label = new Label(labelString, Label.CENTER);\r\n\u00a0\u00a0\u00a0 if (labelFont != null) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 label.setFont(labelFont);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 add(label, BorderLayout.NORTH);\r\n\u00a0\u00a0\u00a0 CostSlider slider = new CostSlider(minValue, \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 maxValue, \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 initialValue,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 app);\r\n\u00a0\u00a0\u00a0 add(slider, BorderLayout.CENTER);\r\n\u00a0 }\r\n} \u00a0\r\n&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;\r\n&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;\r\nCostSlider.java. A slider class that lets you read numeric values. Used in the LabeledCostSlider class. \r\n&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;\r\n\/** A Slider that takes an Everest applet as an argument,\r\n\u00a0*\u00a0 calling back to its setCostField when the slider value\r\n\u00a0*\u00a0 changes.\r\n\u00a0*\r\n\u00a0*******************\r\n\r\npublic class CostSlider extends Slider {\r\n\u00a0 private Everest app;\r\n\r\n\u00a0 public CostSlider(int minValue, int maxValue,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 int initialValue, Everest app) {\r\n\u00a0\u00a0\u00a0 super(minValue, maxValue, initialValue);\r\n\u00a0\u00a0\u00a0 this.app = app;\r\n\u00a0 }\r\n\r\n\u00a0 public void doAction(int value) {\r\n\u00a0\u00a0\u00a0 app.setCostField(value);\r\n\u00a0 }\r\n}\r\n&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;\r\n&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;\r\nSlider.java. A slider class: a combination of Scrollbar and TextField. Used in the CostSlider class. \r\n&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;\r\nimport java.awt.*;\r\nimport java.awt.event.*;\r\n\r\n\/** A class that combines a horizontal Scrollbar and a TextField\r\n\u00a0*\u00a0 (to the right of the Scrollbar). The TextField shows the\r\n\u00a0*\u00a0 current scrollbar value, plus, if setEditable(true) is set,\r\n\u00a0*\u00a0 it can be used to change the value as well.\r\n\u00a0*\r\n\u00a0********************\r\n\r\npublic class Slider extends Panel implements ActionListener,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 AdjustmentListener {\r\n\u00a0 private Scrollbar scrollbar;\r\n\u00a0 private TextField textfield;\r\n\u00a0 private ScrollbarPanel scrollbarPanel;\r\n\u00a0 private int preferredWidth = 250;\r\n\r\n\u00a0 \/** Construct a slider with the specified min, max and initial\r\n\u00a0\u00a0 *\u00a0 values. The \"bubble\" (thumb) size is set to 1\/10th the\r\n\u00a0\u00a0 *\u00a0 scrollbar range.\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public Slider(int minValue, int maxValue, int initialValue) {\r\n\u00a0\u00a0\u00a0 this(minValue, maxValue, initialValue,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (maxValue - minValue)\/10);\r\n\u00a0 }\r\n\r\n\u00a0 \/** Construct a slider with the specified min, max,and initial\r\n\u00a0\u00a0 *\u00a0 values, plus the specified \"bubble\" (thumb) value. This\r\n\u00a0\u00a0 *\u00a0 bubbleSize should be specified in the units that min and\r\n\u00a0\u00a0 *\u00a0 max use, not in pixels. Thus, if min is 20 and max is 320,\r\n\u00a0\u00a0 *\u00a0 then a bubbleSize of 30 is 10% of the visible range.\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public Slider(int minValue, int maxValue, int initialValue,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 int bubbleSize) {\r\n\u00a0\u00a0\u00a0 setLayout(new BorderLayout());\r\n\u00a0\u00a0\u00a0 maxValue = maxValue + bubbleSize;\r\n\u00a0\u00a0\u00a0 scrollbar = new Scrollbar(Scrollbar.HORIZONTAL,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 initialValue, bubbleSize,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 minValue, maxValue);\r\n\u00a0\u00a0\u00a0 scrollbar.addAdjustmentListener(this);\r\n\u00a0\u00a0\u00a0 scrollbarPanel = new ScrollbarPanel(6);\r\n\u00a0\u00a0\u00a0 scrollbarPanel.add(scrollbar, BorderLayout.CENTER);\r\n\u00a0\u00a0\u00a0 add(scrollbarPanel, BorderLayout.CENTER);\r\n\u00a0\u00a0\u00a0 textfield = new TextField(numDigits(maxValue) + 1);\r\n\u00a0\u00a0\u00a0 textfield.addActionListener(this);\r\n\u00a0\u00a0\u00a0 setFontSize(12);\r\n\u00a0\u00a0\u00a0 textfield.setEditable(false);\r\n\u00a0\u00a0\u00a0 setTextFieldValue();\r\n\u00a0\u00a0\u00a0 add(textfield, BorderLayout.EAST);\r\n\u00a0 }\r\n\r\n\u00a0 \/** A place holder to override for action to be taken when\r\n\u00a0\u00a0 *\u00a0 scrollbar changes.\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public void doAction(int value) {\r\n\u00a0 }\r\n\r\n\u00a0 \/** When textfield changes, sets the scrollbar *\/\r\n\r\n\u00a0 public void actionPerformed(ActionEvent event) {\r\n\u00a0\u00a0\u00a0 String value = textfield.getText();\r\n\u00a0\u00a0\u00a0 int oldValue = getValue();\r\n\u00a0\u00a0\u00a0 try {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 setValue(Integer.parseInt(value.trim()));\r\n\u00a0\u00a0\u00a0 } catch(NumberFormatException nfe) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 setValue(oldValue);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0 }\r\n\r\n\u00a0 \/** When scrollbar changes, sets the textfield *\/\r\n\r\n\u00a0 public void adjustmentValueChanged(AdjustmentEvent event) {\r\n\u00a0\u00a0\u00a0 setTextFieldValue();\r\n\u00a0\u00a0\u00a0 doAction(scrollbar.getValue());\r\n\u00a0 }\r\n\r\n\u00a0 \/** Returns the Scrollbar part of the Slider. *\/\r\n\r\n\u00a0 public Scrollbar getScrollbar() {\r\n\u00a0\u00a0\u00a0 return(scrollbar);\r\n\u00a0 }\r\n\r\n\u00a0 \/** Returns the TextField part of the Slider *\/\r\n\r\n\u00a0 public TextField getTextField() {\r\n\u00a0\u00a0\u00a0 return(textfield);\r\n\u00a0 }\r\n\r\n\u00a0 \/** Changes the preferredSize to take a minimum width, since\r\n\u00a0\u00a0 *\u00a0 super-tiny scrollbars are hard to manipulate.\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public Dimension getPreferredSize() {\r\n\u00a0\u00a0\u00a0 Dimension d = super.getPreferredSize();\r\n\u00a0\u00a0\u00a0 d.height = textfield.getPreferredSize().height;\r\n\u00a0\u00a0\u00a0 d.width = Math.max(d.width, preferredWidth);\r\n\u00a0\u00a0\u00a0 return(d);\r\n\u00a0 }\r\n\r\n\u00a0 \/** This just calls preferredSize *\/\r\n\r\n\u00a0 public Dimension getMinimumSize() {\r\n\u00a0\u00a0\u00a0 return(getPreferredSize());\r\n\u00a0 }\r\n\r\n\u00a0 \/** To keep scrollbars legible, a minimum width is set. This\r\n\u00a0\u00a0 *\u00a0 returns the current value (default is 150).\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public int getPreferredWidth() {\r\n\u00a0\u00a0\u00a0 return(preferredWidth);\r\n\u00a0 }\r\n\r\n\u00a0 \/** To keep scrollbars legible, a minimum width is set. This\r\n\u00a0\u00a0 *\u00a0 sets the current value (default is 150).\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public void setPreferredWidth(int preferredWidth) {\r\n\u00a0\u00a0\u00a0 this.preferredWidth = preferredWidth;\r\n\u00a0 }\r\n\r\n\u00a0 \/** This returns the current scrollbar value *\/\r\n\r\n\u00a0 public int getValue() {\r\n\u00a0\u00a0\u00a0 return(scrollbar.getValue());\r\n\u00a0 }\r\n\r\n\u00a0 \/** This assigns the scrollbar value. If it is below the\r\n\u00a0\u00a0 *\u00a0 minimum value or above the maximum, the value is set to\r\n\u00a0\u00a0 *\u00a0 the min and max value, respectively.\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public void setValue(int value) {\r\n\u00a0\u00a0\u00a0 scrollbar.setValue(value);\r\n\u00a0\u00a0\u00a0 setTextFieldValue();\r\n\u00a0 }\r\n\r\n\u00a0 \/** Sometimes horizontal scrollbars look odd if they are very\r\n\u00a0\u00a0 *\u00a0 tall. So empty top\/bottom margins can be set. This returns\r\n\u00a0\u00a0 *\u00a0 the margin setting. The default is four.\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public int getMargins() {\r\n\u00a0\u00a0\u00a0 return(scrollbarPanel.getMargins());\r\n\u00a0 }\r\n\r\n\u00a0 \/** Sometimes horizontal scrollbars look odd if they are very\r\n\u00a0\u00a0 *\u00a0 tall. So empty top\/bottom margins can be set. This sets\r\n\u00a0\u00a0 *\u00a0 the margin setting.\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public void setMargins(int margins) {\r\n\u00a0\u00a0\u00a0 scrollbarPanel.setMargins(margins);\r\n\u00a0 }\r\n\r\n\u00a0 \/** Returns the current textfield string. In most cases this\r\n\u00a0\u00a0 *\u00a0 is just the same as a String version of getValue, except\r\n\u00a0\u00a0 *\u00a0 that there may be padded blank spaces at the left.\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public String getText() {\r\n\u00a0\u00a0\u00a0 return(textfield.getText());\r\n\u00a0 }\r\n\r\n\u00a0 \/** This sets the TextField value directly. Use with extreme\r\n\u00a0\u00a0 *\u00a0 caution since it does not right-align or check if value\r\n\u00a0\u00a0 *\u00a0 is numeric.\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public void setText(String text) {\r\n\u00a0\u00a0\u00a0 textfield.setText(text);\r\n\u00a0 }\r\n\r\n\u00a0 \/** Returns the Font being used by the textfield.\r\n\u00a0\u00a0 *\u00a0 Courier bold 12 is the default.\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public Font getFont() {\r\n\u00a0\u00a0\u00a0 return(textfield.getFont());\r\n\u00a0 }\r\n\r\n\u00a0 \/** Changes the Font being used by the textfield. *\/\r\n\r\n\u00a0 public void setFont(Font textFieldFont) {\r\n\u00a0\u00a0\u00a0 textfield.setFont(textFieldFont);\r\n\u00a0 }\r\n\r\n\u00a0 \/** The size of the current font *\/\r\n\r\n\u00a0 public int getFontSize() {\r\n\u00a0\u00a0\u00a0 return(getFont().getSize());\r\n\u00a0 }\r\n\r\n\u00a0 \/** Rather than setting the whole font, you can just set the\r\n\u00a0\u00a0 *\u00a0 size (Monospaced bold will be used for the family\/face).\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public void setFontSize(int size) {\r\n\u00a0\u00a0\u00a0 setFont(new Font(\"Monospaced\", Font.BOLD, size));\r\n\u00a0 }\r\n\r\n\u00a0 \/** Determines if the textfield is editable. If it is, you can\r\n\u00a0\u00a0 *\u00a0 enter a number to change the scrollbar value. In such a\r\n\u00a0\u00a0 *\u00a0 case, entering a value outside the legal range results in\r\n\u00a0\u00a0 *\u00a0 the min or max legal value. A non-integer is ignored.\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public boolean isEditable() {\r\n\u00a0\u00a0\u00a0 return(textfield.isEditable());\r\n\u00a0 }\r\n\r\n\u00a0 \/** Determines if you can enter values directly into the\r\n\u00a0\u00a0 *\u00a0 textfield to change the scrollbar.\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public void setEditable(boolean editable) {\r\n\u00a0\u00a0\u00a0 textfield.setEditable(editable);\r\n\u00a0 }\r\n\r\n\u00a0 \/\/ Sets a right-aligned textfield number.\r\n\r\n\u00a0 private void setTextFieldValue() {\r\n\u00a0\u00a0\u00a0 int value = scrollbar.getValue();\r\n\u00a0\u00a0\u00a0 int digits = numDigits(scrollbar.getMaximum());\r\n\u00a0\u00a0\u00a0 String valueString = padString(value, digits);\r\n\u00a0\u00a0\u00a0 textfield.setText(valueString);\r\n\u00a0 }\r\n\r\n\u00a0 \/\/ Repeated String concatenation is expensive, but this is\r\n\u00a0 \/\/ only used to add a small amount of padding, so converting\r\n\u00a0 \/\/ to a StringBuffer would not pay off.\r\n\r\n\u00a0 private String padString(int value, int digits) {\r\n\u00a0\u00a0\u00a0 String result = String.valueOf(value);\r\n\u00a0\u00a0\u00a0 for(int i=result.length(); i&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;\r\nScrollbarPanel.java A Panel with adjustable top and bottom insets, used by the Slider class to change the thickness of the Slider.\r\n&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;\r\nimport java.awt.*;\r\n\r\n\/** A Panel with adjustable top\/bottom insets value.\r\n\u00a0*\u00a0 Used to hold a Scrollbar in the Slider class.\r\n\u00a0*\r\n\u00a0*******************\r\n\r\npublic class ScrollbarPanel extends Panel {\r\n\u00a0 private Insets insets;\r\n\r\n\u00a0 public ScrollbarPanel(int margins) {\r\n\u00a0\u00a0\u00a0 setLayout(new BorderLayout());\r\n\u00a0\u00a0\u00a0 setMargins(margins);\r\n\u00a0 }\r\n\r\n\u00a0 public Insets insets() {\r\n\u00a0\u00a0\u00a0 return(insets);\r\n\u00a0 }\r\n\r\n\u00a0 public int getMargins() {\r\n\u00a0\u00a0\u00a0 return(insets.top);\r\n\u00a0 }\r\n\r\n\u00a0 public void setMargins(int margins) {\r\n\u00a0\u00a0\u00a0 this.insets = new Insets(margins, 0, margins, 0);\r\n\u00a0 }\r\n}\r\n&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>***************** Custom AWT Slider \u00a0\u00a0\u00a0 * LabeledCostSlider.java. A numeric slider class with attached label. \u00a0\u00a0\u00a0 * CostSlider.java. A slider class that lets you read numeric values. Used in the LabeledCostSlider class. \u00a0\u00a0\u00a0 * Slider.java. A slider class: a combination of Scrollbar and TextField. Used in the CostSlider class. \u00a0\u00a0\u00a0 * ScrollbarPanel.java A Panel with adjustable &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"http:\/\/bangla.sitestree.com\/?p=10374\">Continue reading<\/a><\/p>\n","protected":false},"author":130,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1417,1424],"tags":[706,308,285],"class_list":["post-10374","post","type-post","status-publish","format-standard","hentry","category-code-programming-samples--","category-javaj2eej2me","tag-code","tag-java","tag-285","item-wrap"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":27056,"url":"http:\/\/bangla.sitestree.com\/?p=27056","url_meta":{"origin":10374,"position":0},"title":"Custom AWT Slider #Programming Code Examples #Java\/J2EE\/J2ME #AWT Components","author":"Author-Check- Article-or-Video","date":"May 9, 2021","format":false,"excerpt":"***************** Custom AWT Slider * LabeledCostSlider.java. A numeric slider class with attached label. * CostSlider.java. A slider class that lets you read numeric values. Used in the LabeledCostSlider class. * Slider.java. A slider class: a combination of Scrollbar and TextField. Used in the CostSlider class. * ScrollbarPanel.java A Panel with\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27050,"url":"http:\/\/bangla.sitestree.com\/?p=27050","url_meta":{"origin":10374,"position":1},"title":"ReverseLabels.java Inherits from CloseableFrame.java and uses ReversibleLabel.java. #Programming Code Examples #Java\/J2EE\/J2ME #AWT Components","author":"Author-Check- Article-or-Video","date":"May 9, 2021","format":false,"excerpt":"ReverseLabels.java Inherits from CloseableFrame.java and uses ReversibleLabel.java. ********************** ReverseLabels.java ********************** import java.awt.*; ****************** public class ReverseLabels extends CloseableFrame { public static void main(String[] args) { new ReverseLabels(); } public ReverseLabels() { super(\"Reversible Labels\"); setLayout(new FlowLayout()); setBackground(Color.lightGray); setFont(new Font(\"Serif\", Font.BOLD, 18)); ReversibleLabel label1 = new ReversibleLabel(\"Black on White\", Color.white, Color.black); add(label1);\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27018,"url":"http:\/\/bangla.sitestree.com\/?p=27018","url_meta":{"origin":10374,"position":2},"title":"A Frame that uses the Confirm dialog to verify quit #Programming Code Examples #Java\/J2EE\/J2ME #AWT Components","author":"Author-Check- Article-or-Video","date":"May 8, 2021","format":false,"excerpt":"ConfirmTest.java **************** import java.awt.*; import java.awt.event.*; \/** A Frame that uses the Confirm dialog to verify that * users really want to quit. * public class ConfirmTest extends Frame { public static void main(String[] args) { new ConfirmTest(); } public ConfirmTest() { super(\"Confirming QUIT\"); setSize(200, 200); addWindowListener(new ConfirmListener()); setVisible(true); }\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27028,"url":"http:\/\/bangla.sitestree.com\/?p=27028","url_meta":{"origin":10374,"position":3},"title":"CheckboxGroups #Programming Code Examples #Java\/J2EE\/J2ME #AWT Components","author":"Author-Check- Article-or-Video","date":"May 8, 2021","format":false,"excerpt":"CheckboxGroups.java \/.\/.\/.\/.\/.\/.\/.\/.\/.\/ \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ import java.applet.Applet; import java.awt.*; \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ public class CheckboxGroups extends Applet { public void init() { setLayout(new GridLayout(4, 2)); setBackground(Color.lightGray); setFont(new Font(\"Serif\", Font.BOLD, 16)); add(new Label(\"Flavor\", Label.CENTER)); add(new Label(\"Toppings\", Label.CENTER)); CheckboxGroup flavorGroup = new CheckboxGroup(); add(new Checkbox(\"Vanilla\", flavorGroup, true)); add(new Checkbox(\"Colored Sprinkles\")); add(new Checkbox(\"Chocolate\", flavorGroup, false)); add(new Checkbox(\"Cashews\"));\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27000,"url":"http:\/\/bangla.sitestree.com\/?p=27000","url_meta":{"origin":10374,"position":4},"title":"Eight buttons: four each in two panels #Programming Code Examples #Java\/J2EE\/J2ME #AWT Components","author":"Author-Check- Article-or-Video","date":"May 7, 2021","format":false,"excerpt":"import java.applet.Applet; import java.awt.*; *************************** \/** Eight buttons: four each in two panels. * *\/ public class ButtonTest2 extends Applet { public void init() { String[] labelPrefixes = { \"Start\", \"Stop\", \"Pause\", \"Resume\" }; Panel p1 = new Panel(); for (int i=0; i<4; i++) { p1.add(new Button(labelPrefixes[i] + \" Thread1\"));\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27012,"url":"http:\/\/bangla.sitestree.com\/?p=27012","url_meta":{"origin":10374,"position":5},"title":"FrameExample1.java and 2 #Programming Code Examples #Java\/J2EE\/J2ME #AWT Components","author":"Author-Check- Article-or-Video","date":"May 8, 2021","format":false,"excerpt":"****************** # FrameExample1.java ****************** import java.awt.*; \/** *\/ public class FrameExample1 { public static void main(String[] args) { Frame f = new Frame(\"Frame Example 1\"); f.setSize(400, 300); f.setVisible(true); } } ********************* # FrameExample2.java ********************* import java.awt.*; \/** *\/ public class FrameExample2 extends Frame { public static void main(String[] args) {\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/10374","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/users\/130"}],"replies":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10374"}],"version-history":[{"count":1,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/10374\/revisions"}],"predecessor-version":[{"id":10375,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/10374\/revisions\/10375"}],"wp:attachment":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10374"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10374"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}