自己简单写了一下代码,可以学习下:
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于网站设计制作、成都网站制作、坪山网络推广、微信小程序开发、坪山网络营销、坪山企业策划、坪山品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供坪山建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
界面代码:
inputDateText=new JTextField();
inputDateText.setText("yyyy-MM-dd");
JPanel inputDatePanel=new JPanel();
inputDatePanel.setLayout(new GridLayout(3, 1));// 网格布局,分成两行一列
inputDatePanel.add(inputDateLabel);
inputDatePanel.add(inputDateText);
// 添加确认按钮
JPanel btnPanel=new JPanel();
confirmBtn=new JButton("确认");
confirmBtn.addActionListener(this);
btnPanel.add(confirmBtn); // JPanel默认就是FlowLaout居中对齐
inputDatePanel.add(btnPanel);
JPanel emptyPanel=new JPanel();
emptyPanel.setSize(150, 240);
p3.add(emptyPanel); //右侧中间部分填充
p3.add(inputDatePanel,BorderLayout.SOUTH);
2、按钮事件
if (e.getSource() == confirmBtn) { // 点击输入日期文本框下方的确认按钮
String dateText = inputDateText.getText();
if (dateText==null || "".equals(dateText.trim())) {
JOptionPane.showMessageDialog(null, "请输入日期!");
inputDateText.setText("yyyy-MM-dd");
return;
} else {
dateText=dateText.trim();
if (dateText.trim().length()==10 || dateText.matches(DATEREGEX)) {
//
} else {
JOptionPane.showMessageDialog(null, "输入的日期不符合格式,请重新输入!");
inputDateText.setText("yyyy-MM-dd");
return;
}
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
Date inputDate=null;
try {
inputDate=dateFormat.parse(dateText);
} catch (ParseException e1) { // 用户输入的日期不符合格式
e1.printStackTrace();
inputDateText.setText("yyyy-MM-dd");
JOptionPane.showMessageDialog(null, "输入的日期不符合格式,请重新输入!");
return;
}
Calendar calendar=Calendar.getInstance();
calendar.setTime(inputDate);
jtfYear.setText(calendar.get(Calendar.YEAR)+""); // 根据输入的日期解析出年月填写到年月文本框
jtfMonth.setText(calendar.get(Calendar.MONTH)+1+"");
calendar.setTime(new Date());
}
}
你的代码里没绘制背景的代码 ,而且,你也没有调用父类的方法,去绘制
我帮你改改
public void paint(Graphics g) {
setBackground(Color.cyan);
super.paint(g);
Graphics2D g2 = (Graphics2D) g;
int red, green, blue;
red = 255;
blue = 255;
green = 0;
g2.setPaint(new Color(red, green, blue));
g2.drawString("Welcome to Xi\047an", 25, 75);
showStatus("Current RGB:" + g2.getPaint().toString());
}
在使用EditText的XML 文件中加入一个属性:
android:textCursorDrawable="@null"
android:textCursorDrawable 这个属性是用来控制光标颜色的,
"@null" 是作用是让光标颜色和text color一样
f.add(lab);
这么加的话,根据JFrame的默认框架lab会被放在f的中间并铺满整个f,所以你看到的白色是lab的背景,不是f的背景。