我正在使用Netbeans。这些文件由于某种原因而无法运行。我正在尝试导入Netbeans选项卡中具有的其他文件,但是它们无法正常工作。如何使此应用程序也运行SimpleDateClient.java
作为主要方法。
这是SimpleDateClient.java
/* A client program to display SimpleDate object values
Anderson, Franceschi
*/
package SimpleDateClient;
import java.awt.*;
import javax.swing.JFrame;
public class SimpleDateClient extends JFrame
{
private String action = "";
private int animationPause = 2; // 2 seconds between animations
private SimpleDate dateObj; // declare SimpleDate object reference
public void workWithDates( )
{
animate( "dateObj reference declared" );
/***** Add your code here *****/
/**** 1. Instantiate dateObj using an empty argument list */
dateObj = new SimpleDate();
animate( "Instantiated dateObj - empty argument list" );
/***** 2. Set the month to the month you were born */
//animate( "Set month to birth month" );
/***** 3. Set the day to the day of the month you were born */
//animate( "Set day to birth day" );
/***** 4. Set the year to the year you were born */
//animate( "Set year to birth year" );
/***** 5. Call the nextDay method */
//animate( "Set the date to the next day" );
/***** 6. Set the day to 32, an illegal value */
//animate( "Set day to 32" );
/***** 7. Set the month to 13, an illegal value */
//animate( "Set month to 13" );
/***** 8. Assign the value null to dateObj */
//animate( "Set object reference to null" );
/***** 9. Attempt to set the month to 1 */
}
public SimpleDateClient( )
{
super( "A SimpleDate Object" );
setSize( 300, 300 );
setVisible( true );
}
public void paint( Graphics g )
{
super.paint( g );
// display action
g.drawString( action, 50, 250 );
// object reference
int sX = 50, sY = 75;
int boxL = 75, boxH = 20;
g.drawRect( sX, sY, boxL, boxH );
g.drawString( "dateObj", sX, sY - 10 );
if ( dateObj != null )
draw( g );
else
g.drawString( "null", sX + 15, sY + 15 );
}
public void draw( Graphics g )
{
int sX = 50, sY = 75;
int boxL = 75, boxH = 20;
// arrow
g.drawLine( sX + boxL, sY + boxH / 2,
sX + boxL + 25, sY + boxH / 2 );
g.drawLine( sX + boxL + 25, sY + boxH / 2,
sX + boxL + 25, sY + boxH * 2 );
g.drawLine( sX + boxL + 25 - 5, sY + boxH * 2 - 5,
sX + boxL + 25, sY + boxH * 2 );
g.drawLine( sX + boxL + 25 + 5, sY + boxH * 2 - 5,
sX + boxL + 25, sY + boxH * 2 );
// month
g.drawString( "month", sX + boxL - 50, sY + 2 * boxH + 15 );
g.drawRect( sX + boxL, sY + 2 * boxH, boxL, boxH );
g.drawString( Integer.toString( dateObj.getMonth( ) ),
sX + boxL + 5, sY + 2 * boxH + 15 );
// day
g.drawString( "day", sX + boxL - 50, sY + 3 * boxH + 15 );
g.drawRect( sX + boxL, sY + 3 * boxH, boxL, boxH );
g.drawString( Integer.toString( dateObj.getDay( ) ),
sX + boxL + 5, sY + 3 * boxH + 15 );
// year
g.drawString( "year", sX + boxL - 50, sY + 4 * boxH + 15 );
g.drawRect( sX + boxL, sY + 4 * boxH, boxL, boxH );
g.drawString( Integer.toString( dateObj.getYear( ) ),
sX + boxL + 5, sY + 4 * boxH + 15 );
}
public void animate( String a )
{
action = a;
repaint( );
Pause.wait( (double) animationPause );
}
public static void main( String [] args )
{
SimpleDateClient app = new SimpleDateClient( );
app.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
app.workWithDates( );
}
}
这是
SimpleDate.java
/* A simple date class
Anderson, Franceschi
*/
package SimpleDateClient;
public class SimpleDate
{
private int month;
private int day;
private int year;
/** default constructor
* sets month to 1, day to 1 and year to 2000
*/
public SimpleDate( )
{
setDate( 1, 1, 2000 );
}
/** overloaded constructor
* @param mm initial value for month
* @param dd initial value for day
* @param yyyy initial value for year
*
* passes parameters to set methods
*/
public SimpleDate( int mm, int dd, int yyyy )
{
setMonth( mm );
setYear( yyyy );
setDay( dd );
}
/* accessor methods */
int getMonth( ) { return month; }
int getDay( ) { return day; }
int getYear( ) { return year; }
/** mutator method */
/** setMonth
* @param mm new value for month
* if mm is between 1 and 12, sets month to mm
* otherwise, sets month to 1
*/
public void setMonth( int mm )
{
month = ( mm >= 1 && mm <= 12 ? mm : 1 );
}
/** setDay
* @param dd new value for day
* if dd is legal day for current month, sets day to dd
* otherwise, sets day to 1
*/
public void setDay( int dd )
{
day = ( dd >= 1 && isValidDay( dd ) ? dd : 1 );
}
/** setYear
* @param yyyy new value for year
* sets year to yyyy
*/
public void setYear( int yyyy )
{
year = yyyy;
}
/** sets date to the next day
*/
public void nextDay( )
{
if ( ! isValidDay( ++day ) )
{
day = 1;
if ( ++month > 12 )
{
month = 1;
year++;
}
}
}
private boolean isValidDay( int newDay )
{
int [] daysInMonth = { 0, 31, 28, 31,
30, 31, 30,
31, 31, 30,
31, 30, 31 };
if ( newDay > daysInMonth[month] )
{
if ( month == 2 && isLeapYear( ) && newDay == 29 )
return true;
else
return false;
}
else
return true;
}
private boolean isLeapYear( )
{
return !( year % 4 != 0
||( year % 100 == 0 && year % 400 != 0 ) );
}
/** setDate
* @param mm new value for month
* @param dd new value for day
* @param yyyy new value for year
* passes parameters to setMonth, setDay, and setYear
*/
public void setDate( int mm, int dd, int yyyy )
{
setYear( yyyy ); // set year first (could be leap year)
setMonth( mm ); // set month next
setDay( dd ); // set day
}
/** toString
* @return String
* returns date in mm/dd/yyyy format
*/
public String toString( )
{
return month + "/" + day + "/" + year;
}
/** equals
* @param d Object to compare to this object
* @return true if d is equal to this object
* false, otherwise
*/
public boolean equals( Object d )
{
if ( !( d instanceof SimpleDate ) )
return false;
SimpleDate d1 = (SimpleDate)d;
if ( month == d1.month
&& day == d1.day
&& year == d1.year )
return true;
else
return false;
}
}
这是
Pause.java
/* Pause class to pause applications
Anderson, Franceschi
*/
package SimpleDateClient;
public class Pause
{
public static void wait( double seconds )
{
try
{
Thread.sleep( (int) ( seconds * 1000 ) );
}
catch ( InterruptedException e )
{
e.printStackTrace( );
}
}
}
最佳答案
转到File | New Project
从Java
选择Categories
,从Java Application
选择Projects
,然后单击Next >
为项目命名,并确保设置了初始包/类
您现在应该拥有项目的开始。
现在,您可以选择是否将现有文件复制到项目中(在Windows下,您可以简单地从资源管理器复制文件并将它们粘贴到项目中(在src
节点下))还是在项目中创建空类,然后只需复制粘贴原始文件中的内容