1、import java.awt.Panel;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.FocusEvent;import java.awt.event.FocusListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.aw
2、t.event.KeyListener;import javax.swing.ButtonGroup;import javax.swing.JRadioButton;public class ScaleFrame extends Frame implements ItemListener, KeyListener /* * */ private static final long serialVersionUID = 2007836309679852768L; JRadioButton oldDecimalRadix; JRadioButton oldBinaryRadix; JRadioBu
3、tton oldOctalRadix; JRadioButton oldHexRadix; JRadioButton oldOtherRadix; ButtonGroup oldScaleGroup; JRadioButton newDecimalRadix; JRadioButton newBinaryRadix; JRadioButton newOctalRadix; JRadioButton newHexRadix; JRadioButton newOtherRadix; ButtonGroup newScaleGroup; int oldRadix; int newRadix; Tex
4、tField newValue; TextField oldValue; TextField oldCustomRadixTF; TextField newCustomRadixTF; public void launchFrame() this.setTitle(Java 万能进制转换器); this.setVisible(true); this.addWindowListener(new MyWindowListener(); Panel oldRadixPanel = new Panel(); oldValue = new TextField(10); Panel oldValuePan
5、el = new Panel(); oldValuePanel.add(new Label(转换前的值: ); oldValuePanel.add(oldValue); oldRadixPanel.setBackground(Color.gray); oldRadixPanel.setLayout(new GridLayout(3, 1); oldRadixPanel.add(oldValuePanel); Label oldRadixLabel = new Label(转换前的进制如下: oldCustomRadixTF = new TextField(10); oldCustomRadix
6、TF.addFocusListener(new FocusListener() public void focusLost(FocusEvent arg0) / System.out.println(); String text = oldCustomRadixTF.getText(); int oldTextInt = 0; if (text.indexOf(.) = -1) oldTextInt = Integer.parseInt(text); if (oldTextInt = 10 | oldTextInt = 2 | oldTextInt = 8 | oldTextInt = 16)
7、 switch (oldTextInt) case 10: oldDecimalRadix.setSelected(true); break; case 2: oldBinaryRadix.setSelected(true); case 8: oldOctalRadix.setSelected(true); case 16: oldHexRadix.setSelected(true); else if (0 != oldTextInt)/当输入不是10、2、8、16 的整数时。 if (oldDecimalRadix.isSelected() oldOtherRadix.setSelected
8、(true); else if (oldBinaryRadix.isSelected() else if (oldOctalRadix.isSelected() else if (oldHexRadix.isSelected() if (oldOtherRadix.isSelected() oldCustomRadixTF.setText(text); public void focusGained(FocusEvent arg0) ); newCustomRadixTF = new TextField(10); newCustomRadixTF.addFocusListener(new Fo
9、cusListener() String text = newCustomRadixTF.getText(); int newTextInt = 0; newTextInt = Integer.parseInt(text); if (newTextInt = 10 | newTextInt = 2 | newTextInt = 8 | newTextInt = 16) switch (newTextInt) newDecimalRadix.setSelected(true); newBinaryRadix.setSelected(true); newOctalRadix.setSelected
10、(true); newHexRadix.setSelected(true);= newTextInt)/当输入不是10、2、8、16 的整数时。 if (newDecimalRadix.isSelected() / System.out.println(10 newOtherRadix.setSelected(true); else if (newBinaryRadix.isSelected() else if (newOctalRadix.isSelected() else if (newHexRadix.isSelected() if (newOtherRadix.isSelected()
11、 newCustomRadixTF.setText(text); Panel oldCustomPanel = new Panel(); oldCustomPanel.add(oldRadixLabel); oldCustomPanel.add(oldCustomRadixTF); oldRadixLabel.setAlignment(1); oldRadixPanel.add(oldCustomPanel); / oldRadixPanel.add(radixRadios); oldDecimalRadix = new JRadioButton(ScaleUtil.SCALE_DECIMAL
12、_STR); oldBinaryRadix = new JRadioButton(ScaleUtil.SCALE_BINARY_STR); oldOctalRadix = new JRadioButton(ScaleUtil.SCALE_OCTAL_STR); oldHexRadix = new JRadioButton(ScaleUtil.SCALE_HEX_STR); oldOtherRadix = new JRadioButton( oldOtherRadix.setVisible(false); oldScaleGroup = new ButtonGroup(); oldScaleGr
13、oup.add(oldDecimalRadix); oldScaleGroup.add(oldBinaryRadix); oldScaleGroup.add(oldOctalRadix); oldScaleGroup.add(oldHexRadix); oldScaleGroup.add(oldOtherRadix); Panel oldRadixRadioButton = new Panel(); oldRadixRadioButton.add(oldDecimalRadix); oldRadixRadioButton.add(oldBinaryRadix); oldRadixRadioBu
14、tton.add(oldOctalRadix); oldRadixRadioButton.add(oldHexRadix); oldRadixPanel.add(oldRadixRadioButton); oldDecimalRadix.addItemListener(this); oldBinaryRadix.addItemListener(this); oldOctalRadix.addItemListener(this); oldHexRadix.addItemListener(this); oldDecimalRadix.addKeyListener(this); oldBinaryR
15、adix.addKeyListener(this); oldOctalRadix.addKeyListener(this); oldHexRadix.addKeyListener(this); Panel newRadixPanel = new Panel(); newRadixPanel.setBackground(new Color(255, 200, 200); Button excuButton = new Button(); newDecimalRadix = new JRadioButton(ScaleUtil.SCALE_DECIMAL_STR); newBinaryRadix
16、= new JRadioButton(ScaleUtil.SCALE_BINARY_STR); newOctalRadix = new JRadioButton(ScaleUtil.SCALE_OCTAL_STR); newHexRadix = new JRadioButton(ScaleUtil.SCALE_HEX_STR); newOtherRadix = new JRadioButton( newOtherRadix.setVisible(false); newScaleGroup = new ButtonGroup(); newScaleGroup.add(newDecimalRadi
17、x); newScaleGroup.add(newBinaryRadix); newScaleGroup.add(newOctalRadix); newScaleGroup.add(newHexRadix); newScaleGroup.add(newOtherRadix); Panel newRadixRadioButton = new Panel(); newRadixRadioButton.add(newDecimalRadix); newRadixRadioButton.add(newBinaryRadix); newRadixRadioButton.add(newOctalRadix
18、); newRadixRadioButton.add(newHexRadix); newRadixPanel.setLayout(new GridLayout(2, 1); newDecimalRadix.addItemListener(this); newBinaryRadix.addItemListener(this); newOctalRadix.addItemListener(this); newHexRadix.addItemListener(this); newDecimalRadix.addKeyListener(this); newBinaryRadix.addKeyListe
19、ner(this); newOctalRadix.addKeyListener(this); newHexRadix.addKeyListener(this); excuButton.setLabel(转化 Panel newCustomPanel = new Panel(); newCustomPanel.add(newCustomRadixTF); newCustomPanel.add(excuButton); excuButton.addActionListener(new MyActionListener(); newRadixPanel.add(newRadixRadioButton
20、); newRadixPanel.add(newCustomPanel); Panel newValuePanel = new Panel(); Label newValueLabel = new Label(转换后的值: / newValueLabel.setAlignment(0); newValuePanel.add(newValueLabel); newValuePanel.setLayout(new FlowLayout(); newValue = new TextField(20); newValue.setBackground(Color.red); newValue.setSi
21、ze(100, 200); newValue.setEditable(false); newValuePanel.add(newValue); newValuePanel.setBackground(new Color(200, 200, 255); this.setLayout(new BorderLayout(); this.add(oldRadixPanel, BorderLayout.NORTH); this.add(newRadixPanel, BorderLayout.CENTER); this.add(newValuePanel, BorderLayout.SOUTH); thi
22、s.pack(); this.setBounds(300, 200, 500, 230); this.setResizable(false); public static void main(String args) new ScaleFrame().launchFrame(); / 事件 单选 在用户已选定或取消选定某项时调用。 public void itemStateChanged(ItemEvent e) oldCustomRadixTF.setText( if (e.getSource() = oldDecimalRadix) oldRadix = ScaleUtil.SCALE_D
23、ECIMAL; else if (e.getSource() = oldBinaryRadix) oldRadix = ScaleUtil.SCALE_BINARY; else if (e.getSource() = oldOctalRadix) oldRadix = ScaleUtil.SCALE_OCTAL; else if (e.getSource() = oldHexRadix) oldRadix = ScaleUtil.SCALE_HEX; if (e.getSource() = newDecimalRadix) newRadix = ScaleUtil.SCALE_DECIMAL;
24、 else if (e.getSource() = newBinaryRadix) newRadix = ScaleUtil.SCALE_BINARY; else if (e.getSource() = newOctalRadix) newRadix = ScaleUtil.SCALE_OCTAL; else if (e.getSource() = newHexRadix) newRadix = ScaleUtil.SCALE_HEX; if (oldRadix != 0) + oldRadix); if (newRadix ! newCustomRadixTF.setText( + newR
25、adix); class MyActionListener implements ActionListener public void actionPerformed(ActionEvent arg0)execute! / System.out.println(oldRadix+ ,+newRadix); / newValue.setText(oldRadix+ newValue.setText( int oldCustomRadInt = 0; int newCustomRadInt = 0; String oldV = oldValue.getText(); String oldCusto
26、mRad = oldCustomRadixTF.getText(); String newCustomRad = newCustomRadixTF.getText(); if (oldCustomRad.indexOf() = -1 & !oldCustomRad.equals() oldCustomRadInt = Integer.parseInt(oldCustomRad); if (newCustomRad.indexOf(newCustomRad.equals( newCustomRadInt = Integer.parseInt(newCustomRad);= oldCustomRadInt) oldRadix = oldCustomRadInt;= newCustomRadInt) newRadix = newCustomRadInt;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1