netBeans5.5不晓得有没有 如果自己做: public class Calendar extends JPanel{.....//加入东西就行了} 使用的时候加到其它的控件中就行了: Calendar c = new Calendar(); Container.add(c);
好象不能这样简单的加到入吧???我试了的 public class calJFrame extends javax.swing.JFrame {
public calJFrame() { initComponents(); this.getContentPane().add(new java.util.Calendar() {//这里就报错了 public void add(int field, int amount) { } protected void computeFields() { } protected void computeTime() { } public int getGreatestMinimum(int field) { } public int getLeastMaximum(int field) { } public int getMaximum(int field) { } public int getMinimum(int field) { } public void roll(int field, boolean up) { } }); }
去看看jdk的api this.getContentPane()返回一个Container Class Container{ public Component add(Component comp)..... }而 java.util.Calendar是个什么,参数类型肯定不对 我说的Calendar不是java.util.Calendar
有很多js的日历组件的,比如WebCalendar.js百度一下就能找到
请问,你说的Calendar是哪一个呀??请指教,谢谢
在Swing中好像没Calendar这个控件, 我是说可以自己做一个public class Calendar extends JPanel{ .....//加入东西就行了 }让这个Calendar extends JPanel就可以了,要是自己不想写,那就去网上下个
public class CalJFrame extends javax.swing.JFrame { initComponents(); public CalJFrame() { this.getContentPane().add(new Calendar()); } }class Calendar extends JPanel { public void add(int field, int amount) { } protected void computeFields() { } protected void computeTime() { } public int getGreatestMinimum(int field) { } public int getLeastMaximum(int field) { } public int getMaximum(int field) { } public int getMinimum(int field) { } public void roll(int field, boolean up) { } }lz是不是想这样啊
如果自己做:
public class Calendar extends JPanel{.....//加入东西就行了} 使用的时候加到其它的控件中就行了:
Calendar c = new Calendar();
Container.add(c);
public class calJFrame extends javax.swing.JFrame {
public calJFrame() {
initComponents();
this.getContentPane().add(new java.util.Calendar() {//这里就报错了
public void add(int field, int amount) {
}
protected void computeFields() {
}
protected void computeTime() {
}
public int getGreatestMinimum(int field) {
}
public int getLeastMaximum(int field) {
}
public int getMaximum(int field) {
}
public int getMinimum(int field) {
}
public void roll(int field, boolean up) {
}
});
}
现有IBM职位,要求2年及2年以上相关工作经验,主要是Jave研发,Jave测试方向.有DB2的经验更好。英文读写。还有其他相关软件职位,机会难得,有兴趣请将简历发至邮箱[email protected],我的msn:[email protected]
this.getContentPane()返回一个Container
Class Container{
public Component add(Component comp).....
}而 java.util.Calendar是个什么,参数类型肯定不对
我说的Calendar不是java.util.Calendar
我是说可以自己做一个public class Calendar extends JPanel{ .....//加入东西就行了 }让这个Calendar extends JPanel就可以了,要是自己不想写,那就去网上下个
public class CalJFrame extends javax.swing.JFrame {
initComponents();
public CalJFrame() {
this.getContentPane().add(new Calendar());
}
}class Calendar extends JPanel {
public void add(int field, int amount) {
}
protected void computeFields() {
}
protected void computeTime() {
}
public int getGreatestMinimum(int field) {
}
public int getLeastMaximum(int field) {
}
public int getMaximum(int field) {
}
public int getMinimum(int field) {
}
public void roll(int field, boolean up) {
}
}lz是不是想这样啊
GregorianCalendar tmpgc=new GregorianCalendar(2008,9,1);此时:tmpgc的正确时间是哪一个呀?
2008-9-12008-10-12008-9-22008-10-2谢谢指教
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Vector;import javax.swing.BorderFactory;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSpinner;
import javax.swing.JTable;
import javax.swing.SpinnerDateModel;
import javax.swing.SpinnerModel;
import javax.swing.border.Border;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.JTableHeader;public class Cal extends JFrame
{ private JTable table = new JTable(); private CalAbstractTableModel tableModel = new CalAbstractTableModel(); private JTableHeader tableH; private int year = Calendar.getInstance().get(Calendar.YEAR); private int month = Calendar.getInstance().get(Calendar.MONTH) + 1; private Vector vec = new Vector(); public Cal()
{
try
{ this.setTitle("日历");
this.setSize(250, 210); this.getContentPane().add(pnParent);
border1 = BorderFactory.createEmptyBorder(10, 5, 10, 5);
pnParent.setBorder(border1);
pnParent.setLayout(layout);
layout.setVgap(20);
layout.setHgap(20);
pnParent.add(pnCenter, BorderLayout.CENTER); pnCenter.setLayout(layout2);
layout2.setVgap(5);
layout2.setHgap(10);
pnCenter.add(pnNorth, BorderLayout.NORTH);
pnCenter.add(pnSouth, BorderLayout.CENTER); pnNorth.setLayout(layout3);
layout3.setVgap(5);
layout3.setHgap(10); ChangeListener listener = new ChangeListener()
{
public void stateChanged(ChangeEvent e)
{
SpinnerModel source = (SpinnerModel) e.getSource();
String str = ((String) source.getValue().toString())
.substring(((String) source.getValue().toString())
.lastIndexOf(" ") + 1);
try
{
year = Integer.parseInt(str);
} catch (Exception ex)
{
ex.printStackTrace();
}
constructDate(year, month);
}
}; SpinnerDateModel model = new SpinnerDateModel();
model.setCalendarField(Calendar.WEEK_OF_MONTH);
spinner.setModel(model);
model.addChangeListener(listener); JSpinner.DateEditor editor = new JSpinner.DateEditor(spinner,
"yyyy");
spinner.setEditor(editor); pnNorth.add(spinner); pnNorth.add(cmb);
cmb.addItem("一月");
cmb.addItem("二月");
cmb.addItem("三月");
cmb.addItem("四月");
cmb.addItem("五月");
cmb.addItem("六月");
cmb.addItem("七月");
cmb.addItem("八月");
cmb.addItem("九月");
cmb.addItem("十月");
cmb.addItem("十一月");
cmb.addItem("十二月");
cmb.setSelectedIndex(month - 1);
cmb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
month = cmb.getSelectedIndex() + 1;
constructDate(year, month);
}
}); pnSouth.setLayout(layout1);
pnSouth.add(scrollPane);
scrollPane.getViewport().add(table); table.setModel(tableModel);
table.setCellSelectionEnabled(false);
table.getTableHeader().setResizingAllowed(false);
table.getTableHeader().setReorderingAllowed(false);
table.setShowGrid(false);
table.setBackground(Color.WHITE); tableH = table.getTableHeader();
tableH.setBackground(Color.LIGHT_GRAY);
tableH.setForeground(Color.WHITE); } catch (Exception ex)
{
ex.printStackTrace();
} } private void constructDate(int year, int month)
{
vec.clear(); int count = 1;
int countSize = 0; int temp = mon(month); if (temp == 0)
{
if (isRunNian(year))
{
countSize = 29;
} else
{
countSize = 28;
}
} else if (temp == 1)
{
countSize = 31;
} else if (temp == 2)
{
countSize = 30;
} GregorianCalendar call = new GregorianCalendar(year, month - 1, count);
int dayofweek = call.get(Calendar.DAY_OF_WEEK); DateInfo dateInfo = new DateInfo(); switch (dayofweek)
{
case 1:
dateInfo.setSeven(count++);
vec.add(dateInfo);
break;
case 2:
dateInfo.setOne(count++);
vec.add(dateInfo);
break;
case 3:
dateInfo.setTwo(count++);
vec.add(dateInfo);
break;
case 4:
dateInfo.setThree(count++);
vec.add(dateInfo);
break;
case 5:
dateInfo.setFour(count++);
vec.add(dateInfo);
break;
case 6:
dateInfo.setFive(count++);
vec.add(dateInfo);
break;
case 7:
dateInfo.setSix(count++);
vec.add(dateInfo);
break;
default:
break;
} switch (dayofweek)
{
case 1:
((DateInfo) vec.get(0)).setOne(count++);
((DateInfo) vec.get(0)).setTwo(count++);
((DateInfo) vec.get(0)).setThree(count++);
((DateInfo) vec.get(0)).setFour(count++);
((DateInfo) vec.get(0)).setFive(count++);
((DateInfo) vec.get(0)).setSix(count++);
break;
case 2:
((DateInfo) vec.get(0)).setTwo(count++);
((DateInfo) vec.get(0)).setThree(count++);
((DateInfo) vec.get(0)).setFour(count++);
((DateInfo) vec.get(0)).setFive(count++);
((DateInfo) vec.get(0)).setSix(count++);
break;
case 3:
((DateInfo) vec.get(0)).setThree(count++);
((DateInfo) vec.get(0)).setFour(count++);
((DateInfo) vec.get(0)).setFive(count++);
((DateInfo) vec.get(0)).setSix(count++);
break;
case 4:
((DateInfo) vec.get(0)).setFour(count++);
((DateInfo) vec.get(0)).setFive(count++);
((DateInfo) vec.get(0)).setSix(count++);
break;
case 5:
((DateInfo) vec.get(0)).setFive(count++);
((DateInfo) vec.get(0)).setSix(count++);
break;
case 6:
((DateInfo) vec.get(0)).setSix(count++);
break;
default:
break;
} while (count <= countSize)
{
DateInfo info = new DateInfo();
info.setSeven(count++);
if (isEnd(count, countSize))
{
vec.add(info);
break;
}
info.setOne(count++);
if (isEnd(count, countSize))
{
vec.add(info);
break;
}
info.setTwo(count++);
if (isEnd(count, countSize))
{
vec.add(info);
break;
}
info.setThree(count++);
if (isEnd(count, countSize))
{
vec.add(info);
break;
}
info.setFour(count++);
if (isEnd(count, countSize))
{
vec.add(info);
break;
}
info.setFive(count++);
if (isEnd(count, countSize))
{
vec.add(info);
break;
}
info.setSix(count++);
if (isEnd(count, countSize))
{
vec.add(info);
break;
}
vec.add(info);
} tableModel.initDate(vec);
} private boolean isEnd(int count, int countSize)
{
if (count > countSize)
{
return true;
} return false;
} // 0平,1大,2小
private int mon(int month)
{
if (month < 8)
{
if (month % 2 == 0)
{
if (month == 2)
{
return 0;
}
return 2;
} else
{
return 1;
}
} else
{
if (month % 2 == 0)
{ return 1; } else
{
return 2;
}
}
} private boolean isRunNian(int year)
{
if (year % 4 == 0)
{
if (year % 100 != 0)
{
return true;
} else if (year % 400 == 0)
{
return true;
} }
return false;
}
{
if (e.getID() == WindowEvent.WINDOW_CLOSING)
{
this.dispose();
}
} JPanel pnParent = new JPanel(); JPanel pnCenter = new JPanel(); JPanel pnNorth = new JPanel(); JPanel pnSouth = new JPanel(); JScrollPane scrollPane = new JScrollPane(); BorderLayout layout = new BorderLayout(); BorderLayout layout1 = new BorderLayout(); BorderLayout layout2 = new BorderLayout(); GridLayout layout3 = new GridLayout(1, 2); JComboBox cmb = new JComboBox(); JSpinner spinner = new JSpinner(); Border border1; public static void main(String[] args)
{
Cal cal = new Cal();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension size = cal.getSize();
if (size.width >= screenSize.width)
{
size.width = screenSize.width;
}
if (size.height >= screenSize.height)
{
size.height = screenSize.height;
}
cal.setLocation((screenSize.width - size.width) / 2,
(screenSize.height - size.height) / 2);
cal.setVisible(true);
}
}class CalAbstractTableModel extends AbstractTableModel
{ private Vector vecDateInfo = null; private String[] columnName = new String[] { "日", "一", "二", "三", "四", "五",
"六" }; public CalAbstractTableModel()
{
if (null == vecDateInfo)
{
vecDateInfo = new Vector();
} else
{
vecDateInfo.clear();
}
} public String getColumnName(int col)
{
return columnName[col];
} public int getRowCount()
{
return this.vecDateInfo.size();
} public int getColumnCount()
{
return columnName.length;
} public Object getValueAt(int row, int col)
{
DateInfo dateInfo = (DateInfo) vecDateInfo.get(row);
switch (col)
{
case 0:
return getStr(dateInfo.getSeven());
case 1:
return getStr(dateInfo.getOne());
case 2:
return getStr(dateInfo.getTwo());
case 3:
return getStr(dateInfo.getThree());
case 4:
return getStr(dateInfo.getFour());
case 5:
return getStr(dateInfo.getFive());
case 6:
return getStr(dateInfo.getSix());
default:
return ""; }
} public boolean isCellEditable(int row, int col)
{
return false;
} public String getStr(int num)
{
if (num == -1)
{
return "";
} else
{
return Integer.toString(num);
}
} public void initDate(Vector vecDateInfo)
{
this.vecDateInfo = vecDateInfo;
this.fireTableDataChanged();
}
}class DateInfo
{
private int seven = -1; private int one = -1; private int two = -1; private int three = -1; private int four = -1; private int five = -1; private int six = -1; public int getFive()
{
return five;
} public void setFive(int five)
{
this.five = five;
} public int getFour()
{
return four;
} public void setFour(int four)
{
this.four = four;
} public int getOne()
{
return one;
} public void setOne(int one)
{
this.one = one;
} public int getSeven()
{
return seven;
} public void setSeven(int seven)
{
this.seven = seven;
} public int getSix()
{
return six;
} public void setSix(int six)
{
this.six = six;
} public int getThree()
{
return three;
} public void setThree(int three)
{
this.three = three;
} public int getTwo()
{
return two;
} public void setTwo(int two)
{
this.two = two;
}}