下面是我抄写的一个摄氏&华氏换算器代码,请看:
代码如下: (附代码)
/**
* @(#)DemoFlowLayout.java
*
*
* @author
* @version 1.00 2008/3/5
*/
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class DemoFlowLayout extends JFrame {
public static void main(String[] args){
JFrame theFrame = new DemoFlowLayout();
theFrame.setSize(200,125);
theFrame.setVisible(true);
}
//Model class
public class Thermometer{
private double degreesCelsius;
public void setCelsius(double degrees){
degreesCelsius = degrees;
}
public void setFahrenheit(double degrees){
degreesCelsius = (degrees-32.0)*5.0/9.0;
}
public double getCelsius(){
return degreesCelsius;
}
public double getFahrenheit(){
return getCelsius()*9.0/5.0+32.0;
}
}
private Thermometer thermo = new Thermometer();
//////View
//Create controls
private JLabel lbFahrenhebit = new JLabel("Fahrenheit");
private JTextField tfFahrenhebit = new JTextField ("212",6);
private JLabel lbCelsius = new JLabel("Celsius");
private JTextField tfCelsius = new JTextField("100",6);
private JButton btFtoC = new JButton("F to c");
private JButton btCtoF = new JButton("C to F");
public DemoFlowLayout() {
//Set title
setTitle("FlowLayout Demo");
//Create container and layout
Container contentPane = getContentPane();
FlowLayout layout = new FlowLayout();
contentPane.setLayout (layout);
//Add control to container
contentPane.add (lbFahrenhebit);
contentPane.add (tfFahrenhebit);
contentPane.add (lbCelsius);
contentPane.add (tfCelsius);
contentPane.add (btFtoC);
contentPane.add (btCtoF);
//Specify listeners
btFtoC.addActionListener(new FtoCListener());
btCtoF.addActionListener(new CtoFListener());
addWindowListener(new MyWindowAdapter());
}
//////////////////////Controller
//Fahrenbeit button listener
private class FtoCListener implements ActionListener{
public void actionPerformed (ActionEvent event){
String inStr = tfFahrenhebit.getText().trim();
double f = Double.parseDouble(inStr);
thermo.setFahrenheit(f);
String outStr=
Format.justify ('1',thermo.getCelsius(),0,2);
tfCelsius.setText (outStr);
}
}
//Celsius button listener
private class CtoFListener implements ActionListener{
public void actionPerformed (ActionEvent event){
String inStr = tfCelsius.getText().trim();
double c =Double.parseDouble(inStr);
thermo.setCelsius(c);
String outStr
=Format.justify ('1',thermo.getFahrenheit(),0,2);
tfFahrenheit.setText (outStr);
}
}
//Window listener
private class MyWindowAdapter extends WindowAdapter{
public void WindowClosing (WindowEvent e){
System.exit(0);
}
}
}
代码如下: (附代码)
/**
* @(#)DemoFlowLayout.java
*
*
* @author
* @version 1.00 2008/3/5
*/
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class DemoFlowLayout extends JFrame {
public static void main(String[] args){
JFrame theFrame = new DemoFlowLayout();
theFrame.setSize(200,125);
theFrame.setVisible(true);
}
//Model class
public class Thermometer{
private double degreesCelsius;
public void setCelsius(double degrees){
degreesCelsius = degrees;
}
public void setFahrenheit(double degrees){
degreesCelsius = (degrees-32.0)*5.0/9.0;
}
public double getCelsius(){
return degreesCelsius;
}
public double getFahrenheit(){
return getCelsius()*9.0/5.0+32.0;
}
}
private Thermometer thermo = new Thermometer();
//////View
//Create controls
private JLabel lbFahrenhebit = new JLabel("Fahrenheit");
private JTextField tfFahrenhebit = new JTextField ("212",6);
private JLabel lbCelsius = new JLabel("Celsius");
private JTextField tfCelsius = new JTextField("100",6);
private JButton btFtoC = new JButton("F to c");
private JButton btCtoF = new JButton("C to F");
public DemoFlowLayout() {
//Set title
setTitle("FlowLayout Demo");
//Create container and layout
Container contentPane = getContentPane();
FlowLayout layout = new FlowLayout();
contentPane.setLayout (layout);
//Add control to container
contentPane.add (lbFahrenhebit);
contentPane.add (tfFahrenhebit);
contentPane.add (lbCelsius);
contentPane.add (tfCelsius);
contentPane.add (btFtoC);
contentPane.add (btCtoF);
//Specify listeners
btFtoC.addActionListener(new FtoCListener());
btCtoF.addActionListener(new CtoFListener());
addWindowListener(new MyWindowAdapter());
}
//////////////////////Controller
//Fahrenbeit button listener
private class FtoCListener implements ActionListener{
public void actionPerformed (ActionEvent event){
String inStr = tfFahrenhebit.getText().trim();
double f = Double.parseDouble(inStr);
thermo.setFahrenheit(f);
String outStr=
Format.justify ('1',thermo.getCelsius(),0,2);
tfCelsius.setText (outStr);
}
}
//Celsius button listener
private class CtoFListener implements ActionListener{
public void actionPerformed (ActionEvent event){
String inStr = tfCelsius.getText().trim();
double c =Double.parseDouble(inStr);
thermo.setCelsius(c);
String outStr
=Format.justify ('1',thermo.getFahrenheit(),0,2);
tfFahrenheit.setText (outStr);
}
}
//Window listener
private class MyWindowAdapter extends WindowAdapter{
public void WindowClosing (WindowEvent e){
System.exit(0);
}
}
}
1,Format.justify('1', thermo.getCelsius(), 0, 2);
Format没有justify这个方法2,tfFahrenheit.setText(outStr);
tfFahrenheit这个变量没有定义它的类型第一个问题很有可能是和JDK版本有关,我这里是JDK6
* @(#)DemoFlowLayout.java
*
*
* @author
* @version 1.00 2008/3/5
*/
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import BreezyGUI.Format;public class DemoFlowLayout extends JFrame {
public static void main(String[] args){
JFrame theFrame = new DemoFlowLayout();
theFrame.setSize(200,125);
theFrame.setVisible(true);
}
//Model class
public class Thermometer{
private double degreesCelsius;
public void setCelsius(double degrees){
degreesCelsius = degrees;
}
public void setFahrenheit(double degrees){
degreesCelsius = (degrees-32.0)*5.0/9.0;
}
public double getCelsius(){
return degreesCelsius;
}
public double getFahrenheit(){
return getCelsius()*9.0/5.0+32.0;
}
}
private Thermometer thermo = new Thermometer();
//////View
//Create controls
private JLabel lbFahrenhebit = new JLabel("Fahrenheit");
private JTextField tfFahrenhebit = new JTextField ("212",6);
private JLabel lbCelsius = new JLabel("Celsius");
private JTextField tfCelsius = new JTextField("100",6);
private JButton btFtoC = new JButton("F to c");
private JButton btCtoF = new JButton("C to F");
public DemoFlowLayout() {
//Set title
setTitle("FlowLayout Demo");
//Create container and layout
Container contentPane = getContentPane();
FlowLayout layout = new FlowLayout();
contentPane.setLayout (layout);
//Add control to container
contentPane.add (lbFahrenhebit);
contentPane.add (tfFahrenhebit);
contentPane.add (lbCelsius);
contentPane.add (tfCelsius);
contentPane.add (btFtoC);
contentPane.add (btCtoF);
//Specify listeners
btFtoC.addActionListener(new FtoCListener());
btCtoF.addActionListener(new CtoFListener());
addWindowListener(new MyWindowAdapter());
}
//////////////////////Controller
//Fahrenbeit button listener
private class FtoCListener implements ActionListener{
public void actionPerformed (ActionEvent event){
String inStr = tfFahrenhebit.getText().trim();
double f = Double.parseDouble(inStr);
thermo.setFahrenheit(f);
String outStr=
Format.justify ('1',thermo.getCelsius(),0,2);
tfCelsius.setText (outStr);
}
}
//Celsius button listener
private class CtoFListener implements ActionListener{
public void actionPerformed (ActionEvent event){
String inStr = tfCelsius.getText().trim();
double c =Double.parseDouble(inStr);
thermo.setCelsius(c);
String outStr
=Format.justify ('1',thermo.getFahrenheit(),0,2);
tfFahrenhebit.setText (outStr);
}
}
//Window listener
private class MyWindowAdapter extends WindowAdapter{
public void WindowClosing (WindowEvent e){
System.exit(0);
}
}
}
C:\Program Files\Java\jdk1.6.0_03\jre\ext
下把,因为你是外部jar包,兄弟,加油